1.8.5 • Published 10 months ago

joule_market_sdk v1.8.5

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

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