@entangle-labs/udf-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.9 • Public • Published

UDF SDK Documentation

Table of Contents

Installation

You can install the package using npm:

npm install @entangle-labs/udf-sdk

Or using yarn:

yarn add @entangle-labs/udf-sdk

Quick Start

import { UdfSdk } from '@entangle-labs/udf-sdk';

// Initialize SDK
const sdk = new UdfSdk();

// Get latest price data
async function getEthPrice() {
  // Get median price
  const median = await sdk.getMedian('ETH/USD');
  console.log('ETH/USD Median Price:', median);

  // Get all votes
  const votes = await sdk.getVotes(['ETH/USD']);
  console.log('All votes:', votes);

  // Get update call data
  const callData = await sdk.getCallData(['ETH/USD']);
  console.log('Update call data:', callData);
}

API Reference

Class: UdfSdk

Constructor

constructor(baseUrl?: string)

Creates a new instance of UdfSdk.

Methods

getMedian(feedKey: string): Promise

Gets the median price for a specific feed.

  • feedKey: The feed identifier (e.g., 'ETH/USD')
  • Returns: Promise resolving to the median price value
const median = await sdk.getMedian('ETH/USD');
getVotes(feedKeys: string[]): Promise<DecodedVote[]>

Gets all votes for specified feeds.

  • feedKeys: Array of feed identifiers
  • Returns: Promise resolving to array of decoded votes
const votes = await sdk.getVotes(['ETH/USD', 'BTC/USD']);
getCallData(feedKeys: string[]): Promise

Gets the update call data for specified feeds.

  • feedKeys: Array of feed identifiers
  • Returns: Promise resolving to update call data string
const callData = await sdk.getCallData(['ETH/USD']);

Examples

Getting Multiple Feed Data

async function getMultipleFeeds() {
  const sdk = new UdfSdk();
  const feeds = ['ETH/USD', 'BTC/USD'];

  // Get all feed data
  const votes = await sdk.getVotes(feeds);
  
  // Process votes
  for (const vote of votes) {
    console.log(`${vote.feedKey}: ${vote.value} (from ${vote.publisher})`);
  }
}

Custom Base URL

const sdk = new UdfSdk('https://your-custom-url.com');

Error Handling

The SDK throws errors in the following cases:

  1. Network Errors
try {
  await sdk.getVotes(['ETH/USD']);
} catch (error) {
  if (error.message.includes('HTTP error')) {
    console.error('Network error:', error);
  }
}
  1. Invalid Data Errors
try {
  const median = await sdk.getMedian('ETH/USD');
} catch (error) {
  if (error.message.includes('No votes provided')) {
    console.error('No data available:', error);
  }
}

Requirements

  • Node.js 16 or higher

Readme

Keywords

Package Sidebar

Install

npm i @entangle-labs/udf-sdk

Weekly Downloads

9

Version

1.0.9

License

MIT

Unpacked Size

16.5 kB

Total Files

10

Last publish

Collaborators

  • entanglefi
  • ruarin
  • a.kolupaev
  • lihahasheshki
  • phgrey
  • rozhkov_dmitrii