@radarrelay/subproviders
v0.5.5
Published
A collection of useful subproviders.
Downloads
170
Keywords
Readme
subproviders
A collection of useful subproviders.
Subproviders are like normal web3 providers, but only handle a subset of RPC methods. They can be used to route, or otherwise handle, RPC calls before returning a result to the caller.
Installation
npm
npm install @0xproject/subproviders
Yarn
yarn add @0xproject/subproviders
Usage
Simply import the subprovider you are interested in using:
import {
ledgerEthereumBrowserClientFactoryAsync as ledgerEthereumClientFactoryAsync,
LedgerSubprovider,
} from '@0xproject/subproviders';
const ledgerSubprovider = new LedgerSubprovider({
networkId,
ledgerEthereumClientFactoryAsync,
});
const accounts = await ledgerSubprovider.getAccountsAsync();
Subproviders
Eth Lightwallet subprovider
A subprovider that enables your dApp to send signing requests to eth-lightwallet. These can be requests to sign transactions or messages.
Pass-Through subprovider
A subprovider that enables your dApp to pass account and signing calls to another class instance for additional processing before returning a result to the subprovider.
Nonce Tracker subprovider
A subprovider that enables your dApp to pass account and signing calls to another class instance for additional processing before returning a result to the subprovider.
Ledger Nano S subprovider
A subprovider that caches the nonce when a request to getTransactionCount is made and increments the pending nonce after successful transactions.
Redundant RPC subprovider
A subprovider which attempts to send an RPC call to a list of RPC endpoints sequentially, until one of them returns a successful response.
Injected Web3 subprovider
A subprovider that relays all signing related requests to a particular provider (in our case the provider injected onto the web page), while sending all other requests to a different provider (perhaps your own backing Ethereum node or Infura).
Additional Information
Install Dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
yarn install
Build
yarn build
or
yarn build:watch
Clean
yarn clean
Lint
yarn lint
Run tests
Unit tests
yarn run test:unit
Integration tests
In order to run the integration tests, make sure you have a Ledger Nano S available.
- Plug it into your computer
- Unlock the device
- Open the on-device Ethereum app
- Make sure "browser support" is disabled
Then run:
yarn test:integration
All tests
yarn run test:all