1.8.5 • Published 9 months ago

joule_market_sdk v1.8.5

Weekly downloads
-
License
ISC
Repository
github
Last release
9 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

9 months ago

1.8.1

9 months ago

1.8.0

9 months ago

1.7.0

9 months ago

1.6.0

9 months ago

1.8.5

9 months ago

1.8.4

9 months ago

1.8.3

9 months ago

1.5.10

9 months ago

1.5.12

9 months ago

1.5.11

9 months ago

1.5.5

9 months ago

1.5.4

9 months ago

1.5.3

9 months ago

1.5.2

9 months ago

1.5.1

9 months ago

1.5.9

9 months ago

1.5.8

9 months ago

1.5.7

9 months ago

1.5.6

9 months ago

1.4.3

9 months ago

1.4.2

9 months ago

1.4.1

9 months ago

1.3.4

9 months ago

1.3.3

9 months ago

1.3.2

9 months ago

1.3.1

9 months ago

1.3.0

9 months ago

1.2.6

9 months ago

1.2.5

9 months ago

1.2.4

9 months ago

1.2.3

9 months ago

1.2.1

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.2

9 months ago