# @0xproject/subproviders

> A few useful web3 subproviders including a LedgerSubprovider useful for adding Ledger Nano S support.

Latest version **2.0.7** (published 2018-10-04) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @0xproject/subproviders
pnpm add @0xproject/subproviders
yarn add @0xproject/subproviders
bun add @0xproject/subproviders
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.7 |
| Published | 2018-10-04 |
| First published | 2017-12-08 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=6.12 |
| Dependencies | 22 |
| Unpacked size | 215.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | albrow, amirbandeali, bchillman, dekz, fberger, fragosti, logvinov |

## Links

- npm: https://www.npmjs.com/package/@0xproject/subproviders
- npm.io page: https://npm.io/package/@0xproject/subproviders

## Dependencies (22)

- [bip39](https://npm.io/package/bip39.md) ^2.5.0
- [bn.js](https://npm.io/package/bn.js.md) ^4.11.8
- [hdkey](https://npm.io/package/hdkey.md) ^0.7.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.5
- [@types/hdkey](https://npm.io/package/@types/hdkey.md) ^0.7.0
- [ganache-core](https://npm.io/package/ganache-core.md) 0xProject/ganache-core#monorepo-dep
- [ethereumjs-tx](https://npm.io/package/ethereumjs-tx.md) ^1.3.5
- [ethereum-types](https://npm.io/package/ethereum-types.md) ^1.0.11
- [json-rpc-error](https://npm.io/package/json-rpc-error.md) 2.0.0
- [eth-lightwallet](https://npm.io/package/eth-lightwallet.md) ^3.0.1
- [ethereumjs-util](https://npm.io/package/ethereumjs-util.md) ^5.1.1
- [@0xproject/types](https://npm.io/package/@0xproject/types.md) ^1.1.4
- [@0xproject/utils](https://npm.io/package/@0xproject/utils.md) ^2.0.2
- [@0xproject/assert](https://npm.io/package/@0xproject/assert.md) ^1.0.13
- [@types/ganache-core](https://npm.io/package/@types/ganache-core.md) ^2.1.0
- [@ledgerhq/hw-app-eth](https://npm.io/package/@ledgerhq/hw-app-eth.md) ^4.3.0
- [web3-provider-engine](https://npm.io/package/web3-provider-engine.md) 14.0.6
- [semaphore-async-await](https://npm.io/package/semaphore-async-await.md) ^1.5.1
- [@types/eth-lightwallet](https://npm.io/package/@types/eth-lightwallet.md) ^3.0.0
- [@0xproject/web3-wrapper](https://npm.io/package/@0xproject/web3-wrapper.md) ^3.0.3
- [@ledgerhq/hw-transport-u2f](https://npm.io/package/@ledgerhq/hw-transport-u2f.md) ^4.3.0
- [@0xproject/typescript-typings](https://npm.io/package/@0xproject/typescript-typings.md) ^3.0.2

## Recent versions

- 2.0.7 (latest) — 2018-10-04
- 2.0.6 — 2018-09-28
- 2.0.5 — 2018-09-25
- 2.0.4 — 2018-09-25
- 2.0.3 — 2018-09-21
- 2.0.2 — 2018-09-05
- 2.0.1 — 2018-08-27
- 2.0.0 — 2018-08-24
- 1.0.5 — 2018-08-14
- 1.0.4 — 2018-07-26
- 1.0.3 — 2018-07-26
- 1.0.2 — 2018-07-26
- 1.0.0 — 2018-07-19
- 0.10.6 — 2018-07-18
- 0.10.5 — 2018-07-09
- … 27 more at https://npm.io/package/@0xproject/subproviders/versions

## README

## @0xproject/subproviders

A few useful web3 subproviders including a LedgerSubprovider useful for adding Ledger Nano S support.

We have written up a [Wiki](https://0xproject.com/wiki#Web3-Provider-Examples) article detailing some use cases of this subprovider package.

### Read the [Documentation](https://0xproject.com/docs/subproviders).

## Installation

```
yarn add @0xproject/subproviders
```

If your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:

```json
"compilerOptions": {
    "typeRoots": ["node_modules/@0xproject/typescript-typings/types", "node_modules/@types"],
}
```

## Contributing

We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.

Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.

### Install dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

```bash
yarn config set workspaces-experimental true
```

Then install dependencies

```bash
yarn install
```

### Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

```bash
PKG=@0xproject/subproviders yarn build
```

Or continuously rebuild on change:

```bash
PKG=@0xproject/subproviders yarn watch
```

### Clean

```bash
yarn clean
```

### Lint

```bash
yarn lint
```

### Run tests

#### Unit tests

```bash
yarn run test:unit
```

#### Integration tests

In order to run the integration tests, make sure you have a Ledger Nano S available.

*   Setup your Ledger with the development mnemonic seed: `concert load couple harbor equip island argue ramp clarify fence smart topic`
*   Plug it into your computer
*   Unlock the device
*   Open the on-device Ethereum app
*   Make sure "browser support" and "contract data" are disabled
*   Start [TestRPC](https://github.com/trufflesuite/ganache-cli) locally at port `8545`

Then run:

```
yarn test:integration
```

**Note:** We assume a derivation path of `m/44'/60'/0'/0` which is already configured in the tests. With this setup and derivation path, your first account should be `0x5409ed021d9299bf6814279a6a1411a7e866a631`, exactly like TestRPC.

#### All tests

```bash
yarn run test:all
```

---
_Source: https://npm.io/package/@0xproject/subproviders · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
