1.8.5 • Published 10 months ago
joule_market_sdk v1.8.5
SDK for interacting with Joule Money Market
Installation
pnpm add joule_market_sdk@latest
NOTE :- Initialize and start the PriceClient at the start of your applications.
import { createPriceFeedService, getMarketsDetails, PriceFeedService } from "joule_market_sdk"
import { useEffect, useState } from "react"
function App() {
const [priceClient, setPriceClient] = useState<PriceFeedService>();
async function getData() {
const res = await getMarketsDetails('USDC')
console.log(res)
}
useEffect(() => {
const client = createPriceFeedService();
setPriceClient(client);
client.start()
}, []);
return (
<>
<button type="button" onClick={() => getData()}> Click me</button>
</>
)
}
export default App
An example to get maxBorrow, and how to borrow
import { createPriceFeedService, PriceFeedService, getMaxBorrow, prepareDataForBorrowOrWithdraw, getUserPositionsByAddress, borrow } from "joule_market_sdk"
import { useEffect, useState } from "react"
function App() {
const [priceClient, setPriceClient] = useState<PriceFeedService>();
async function getPreparedData() {
// to get user position details, returns all the position details if not given a position_id
const positionDetails = await getUserPositionsByAddress('abc...xyz', priceClient!, 1)
let positionData = null;
if (positionDetails.success) {
positionData = positionDetails.userPositions[0]
}
// very useful, prepares data for borrow, withdraw, to get max borrow, or to get max withdraw
const preparedData = await prepareDataForBorrowOrWithdraw('abc...xyz', Number(positionData?.positionId), "USDC", Number(positionData?.efficiency_mode_id))
// to calculate max borrow
const max_borrow = await getMaxBorrow(preparedData, priceClient!)
console.log(max_borrow)
// to borrow (account - Interface for a generic Aptos account.)
const borrow_token = await borrow(account, 12, priceClient!, preparedData)
console.log(borrow_token)
}
useEffect(() => {
const client = createPriceFeedService();
setPriceClient(client);
client.start()
}, []);
return (
<>
<button type="button" onClick={() => getPreparedData()}> Click me</button>
</>
)
}
export default App
1.8.2
10 months ago
1.8.1
10 months ago
1.8.0
10 months ago
1.7.0
10 months ago
1.6.0
10 months ago
1.8.5
10 months ago
1.8.4
10 months ago
1.8.3
10 months ago
1.5.10
10 months ago
1.5.12
10 months ago
1.5.11
10 months ago
1.5.5
10 months ago
1.5.4
10 months ago
1.5.3
10 months ago
1.5.2
10 months ago
1.5.1
10 months ago
1.5.9
10 months ago
1.5.8
10 months ago
1.5.7
10 months ago
1.5.6
10 months ago
1.4.3
10 months ago
1.4.2
10 months ago
1.4.1
10 months ago
1.3.4
10 months ago
1.3.3
10 months ago
1.3.2
10 months ago
1.3.1
10 months ago
1.3.0
10 months ago
1.2.6
10 months ago
1.2.5
10 months ago
1.2.4
10 months ago
1.2.3
10 months ago
1.2.1
10 months ago
1.1.3
10 months ago
1.1.2
10 months ago
1.1.1
10 months ago
1.1.0
10 months ago
1.0.2
10 months ago