New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@entangle-labs/udf-sdk

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@entangle-labs/udf-sdk

SDK for interacting with UDF Oracle

npmnpm
Version
1.0.5
Version published
Weekly downloads
2
-80%
Maintainers
2
Weekly downloads
 
Created
Source

UDF SDK Documentation

Table of Contents

  • Installation
  • Quick Start
  • API Reference
  • Examples
  • Error Handling

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:

  • Network Errors
try {
  await sdk.getVotes(['ETH/USD']);
} catch (error) {
  if (error.message.includes('HTTP error')) {
    console.error('Network error:', error);
  }
}
  • 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

Keywords

udf

FAQs

Package last updated on 10 Jan 2025

Related posts