bido-sdk-providers
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

Providers

Providers for Lido Finance projects. Part of Lido JS SDK

A Provider is an abstraction of a connection to the Ethereum network, providing a concise, consistent interface to standard Ethereum node functionality. More details in the ethers docs.

Install

yarn add bido-sdk-providers

RPC providers

Source

Each getter returns a cached Provider instance.

getRpcProvider

Returns a JsonRpcProvider instance.

import { CHAINS } from 'bido-sdk-constants';
import { getRpcProvider } from 'bido-sdk-providers';

const provider = getRpcProvider(CHAINS.Mainnet, '/rpc/url');

getRpcBatchProvider

Returns an instance of batch version of JsonRpcProvider.

import { CHAINS } from 'bido-sdk-constants';
import { getRpcBatchProvider } from 'bido-sdk-providers';

const batchProvider = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url');

getStaticRpcProvider

Returns a StaticJsonRpcProvider instance.

import { CHAINS } from 'bido-sdk-constants';
import { getStaticRpcProvider } from 'bido-sdk-providers';

const staticProvider = getStaticRpcProvider(CHAINS.Mainnet, '/rpc/url');

getStaticRpcBatchProvider

Returns an instance of batch version of StaticJsonRpcProvider.

import { CHAINS } from 'bido-sdk-constants';
import { getStaticRpcBatchProvider } from 'bido-sdk-providers';

const staticProvider = getStaticRpcBatchProvider(CHAINS.Mainnet, '/rpc/url');

Cache

To get another provider instance, getters have a third optional parameter cacheSeed.

Calls without cacheSeed or with the same cacheSeed return the same providers:

const providerFirst = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url', 1);
const providerSecond = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url', 1);

providerFirst === providerSecond; // true

Calls with different cacheSeed return different providers:

const providerFirst = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url', 1);
const providerSecond = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url', 2);

providerFirst !== providerSecond; // true

Of course, if the cacheSeed is the same, but chainId or url are different the result providers will also be different:

const providerFirst = getRpcBatchProvider(CHAINS.Mainnet, '/rpc/url', 1);
const providerSecond = getRpcBatchProvider(
  CHAINS.Mainnet,
  '/another/rpc/url',
  1,
);

providerFirst !== providerSecond; // true, because the urls are different

Package Sidebar

Install

npm i bido-sdk-providers

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

13.5 kB

Total Files

15

Last publish

Collaborators

  • wbh1328551759