hearn-oracle-sdk
v1.0.4
Published
SDK for interacting with Hearn Oracle on Sui blockchain
Downloads
525
Readme
Hearn Oracle SDK
This SDK provides a TypeScript interface to interact with the Hearn Oracle on the Sui blockchain, mimicking the Pyth SDK for batch price fetching.
Installation
First, build the SDK:
npm install
npm run buildThen, in your frontend project, you can install it locally or copy the dist folder.
Option 1: Local Installation (Recommended for Development)
In your frontend project directory:
npm install /path/to/hearn/move/Oracle/sdkReplace /path/to/hearn/move/Oracle/sdk with the actual path.
Option 2: Copy Files
Copy the dist folder from this SDK to your frontend project's node_modules/hearn-oracle-sdk/dist or a similar location, and ensure the package.json is updated accordingly.
Usage
import { SuiClient } from '@mysten/sui/client';
import { OracleClient } from 'hearn-oracle-sdk';
const provider = new SuiClient({ url: 'https://fullnode.mainnet.sui.io:443' });
const packageId = '0x...'; // Replace with actual package ID from deployment
const oracleId = '0x...'; // Replace with actual oracle object ID
const client = new OracleClient(provider, packageId, oracleId);
// Get price for a single asset
const price = await client.getPriceByType('0x2::sui::SUI');
console.log('SUI Price:', price);
// Get prices for multiple assets
const prices = await client.getPricesByTypes(['0x2::sui::SUI', '0x...::btc::BTC']);
console.log('Prices:', prices);API Reference
OracleClient
constructor(provider: SuiClient, packageId: string, oracleId: string)getPriceByType(assetType: string): Promise<number>- Get price for one assetgetPricesByTypes(assetTypes: string[]): Promise<number[]>- Get prices for multiple assetsupdatePrices(updateDatas: UpdateData[], clockId: string): Promise<Transaction>- Build transaction to update prices for multiple assets
UpdateData
interface UpdateData {
assetType: string;
}Prices are returned as numbers (divided by 1e18 for wad format).
Building
npm run buildThis compiles TypeScript to JavaScript in the dist directory.
