@objectivelabs/oracle-sdk v1.1.6
Oracle SDK
A JavaScript/TypeScript utility library for interacting with various price oracle providers on Euler.
Overview
Oracle SDK is a comprehensive toolkit that provides a unified interface for interacting with multiple price oracle providers. It simplifies the process of fetching and managing metadata and price data from various sources including Chainlink, Pyth, RedStone, Pendle, and more.
Features
- Unified interface for multiple oracle providers: Chainlink, Pyth, Pendle, RedStone, Chronicle, and more
- Support for indexing Euler contracts:
SnapshotRegistry,EulerRouterFactory,EulerRouter, and more - Canonical deployment and verification artifacts for Euler oracle adapters
- TypeScript support with full type definitions
- Modern ESM and CommonJS support
Metadata
Depending on the provider, there may be metadata available off-chain. This metadata can be used to decide which contracts / configurations are valid and official according to the provider.
| Provider | Metadata Location | Metedata Contents |
|---|---|---|
| Chainlink | https://reference-data-directory.vercel.app/[slug].json | Proxy address, description, heartbeat, threshold... |
| RedStone | https://github.com/redstone-finance/redstone-oracles-monorepo/tree/main/packages/on-chain-relayer/relayer-manifests | Proxy address, description, heartbeat, threshold... |
| Pyth | https://hermes.pyth.network/v2/price_feeds | Feed id, feed type, symbol, description... |
| Pendle | https://api-v2.pendle.finance/bff/v3/markets/all?chainId=${chainId} | Market address, accounting asset, underlying asset, expiry, and more |
Installation
npm install @objectivelabs/oracle-sdk
# or
yarn add @objectivelabs/oracle-sdk
# or
pnpm add @objectivelabs/oracle-sdkDevelopment
See DEVELOPMENT.md for details on adding support for a new chain, oracle provider or adapter class.
Prerequisites
- Node.js (v16 or higher recommended)
- npm, yarn, or pnpm
Setup
- Clone the repository:
git clone https://github.com/objectivedefi/oracle-sdk.git
cd oracle-sdk- Install dependencies:
npm installAvailable Scripts
npm run build- Build the project (outputs both CJS and ESM formats)npm run dev- Watch mode for developmentnpm run test- Run testsnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issuesnpm run format- Format code with Prettier
Dependencies
viem- Ethereum interaction library
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
About
Developed and maintained by Objective Labs.
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago