aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-03-22 02:04:48 +0800
committerFabio Berger <me@fabioberger.com>2018-03-22 02:04:48 +0800
commit78e9c4880358621cb5a4393d7e32d81bfba1ae6d (patch)
tree2de7f4b0b0251eca78a9327910e9b9224f5e2d50 /packages
parent18d3e5458a31e7d2368e506e8cf14f190e19b7ff (diff)
downloaddexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar.gz
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar.bz2
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar.lz
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar.xz
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.tar.zst
dexon-sol-tools-78e9c4880358621cb5a4393d7e32d81bfba1ae6d.zip
Move docs from README into docs page and add a link to it.
Diffstat (limited to 'packages')
-rw-r--r--packages/subproviders/README.md56
-rw-r--r--packages/subproviders/src/subproviders/ledger.ts3
-rw-r--r--packages/website/md/docs/subproviders/ledger_node_hid.md17
-rw-r--r--packages/website/ts/containers/subproviders_documentation.ts4
4 files changed, 25 insertions, 55 deletions
diff --git a/packages/subproviders/README.md b/packages/subproviders/README.md
index 4614342b2..a2bf75768 100644
--- a/packages/subproviders/README.md
+++ b/packages/subproviders/README.md
@@ -4,6 +4,8 @@ A few useful web3 subproviders including a LedgerSubprovider useful for adding L
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](0xproject.com/docs/subproviders).
+
## Installation
```
@@ -18,60 +20,6 @@ If your project is in [TypeScript](https://www.typescriptlang.org/), add the fol
]
```
-## Usage
-
-Simply import the subprovider you are interested in using:
-
-```javascript
-import {
- ledgerEthereumBrowserClientFactoryAsync as ledgerEthereumClientFactoryAsync,
- LedgerSubprovider,
-} from '@0xproject/subproviders';
-
-const ledgerSubprovider = new LedgerSubprovider({
- networkId,
- ledgerEthereumClientFactoryAsync,
-});
-
-const accounts = await ledgerSubprovider.getAccountsAsync();
-```
-
-### Subproviders
-
-#### Ledger Nano S subprovider
-
-A subprovider that enables your dApp to send signing requests to a user's Ledger Nano S hardware wallet. These can be requests to sign transactions or messages.
-
-Ledger Nano (and this library) by default uses a derivation path of `44'/60'/0'`. This is different to TestRPC which by default uses `m/44'/60'/0'/0`. This is a configuration option in the Ledger Subprovider package.
-
-##### Ledger Nano S + Node-hid (usb)
-
-By default, node-hid transport support is an optional dependency. This is due to the requirement of native usb developer packages on the host system. If these aren't installed the entire `npm install` fails. We also no longer export node-hid transport client factories. To re-create this see our integration tests or follow the example below:
-
-```typescript
-import Eth from '@ledgerhq/hw-app-eth';
-import TransportNodeHid from '@ledgerhq/hw-transport-node-hid';
-async function ledgerEthereumNodeJsClientFactoryAsync(): Promise<LedgerEthereumClient> {
- const ledgerConnection = await TransportNodeHid.create();
- const ledgerEthClient = new Eth(ledgerConnection);
- return ledgerEthClient;
-}
-
-// Create a LedgerSubprovider with the node-hid transport
-ledgerSubprovider = new LedgerSubprovider({
- networkId,
- ledgerEthereumClientFactoryAsync: ledgerEthereumNodeJsClientFactoryAsync,
-});
-```
-
-#### 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).
-
## Contributing
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
diff --git a/packages/subproviders/src/subproviders/ledger.ts b/packages/subproviders/src/subproviders/ledger.ts
index 75c73c4de..3a63ff80f 100644
--- a/packages/subproviders/src/subproviders/ledger.ts
+++ b/packages/subproviders/src/subproviders/ledger.ts
@@ -44,7 +44,8 @@ export class LedgerSubprovider extends Subprovider {
}
}
/**
- * Instantiates a LedgerSubprovider
+ * Instantiates a LedgerSubprovider. Defaults to derivationPath set to `44'/60'/0'`.
+ * TestRPC/Ganache defaults to `m/44'/60'/0'/0`, so set this in the configs if desired.
* @param config Several available configurations
* @return LedgerSubprovider instance
*/
diff --git a/packages/website/md/docs/subproviders/ledger_node_hid.md b/packages/website/md/docs/subproviders/ledger_node_hid.md
new file mode 100644
index 000000000..3089817af
--- /dev/null
+++ b/packages/website/md/docs/subproviders/ledger_node_hid.md
@@ -0,0 +1,17 @@
+By default, node-hid transport support is an optional dependency. This is due to the requirement of native usb developer packages on the host system. If these aren't installed the entire `npm install` fails. We also no longer export node-hid transport client factories. To re-create this see our integration tests or follow the example below:
+
+```typescript
+import Eth from '@ledgerhq/hw-app-eth';
+import TransportNodeHid from '@ledgerhq/hw-transport-node-hid';
+async function ledgerEthereumNodeJsClientFactoryAsync(): Promise<LedgerEthereumClient> {
+ const ledgerConnection = await TransportNodeHid.create();
+ const ledgerEthClient = new Eth(ledgerConnection);
+ return ledgerEthClient;
+}
+
+// Create a LedgerSubprovider with the node-hid transport
+ledgerSubprovider = new LedgerSubprovider({
+ networkId,
+ ledgerEthereumClientFactoryAsync: ledgerEthereumNodeJsClientFactoryAsync,
+});
+```
diff --git a/packages/website/ts/containers/subproviders_documentation.ts b/packages/website/ts/containers/subproviders_documentation.ts
index 34a3d7da2..7aa05f9a5 100644
--- a/packages/website/ts/containers/subproviders_documentation.ts
+++ b/packages/website/ts/containers/subproviders_documentation.ts
@@ -14,6 +14,7 @@ import { Translate } from 'ts/utils/translate';
/* tslint:disable:no-var-requires */
const IntroMarkdown = require('md/docs/subproviders/introduction');
const InstallationMarkdown = require('md/docs/subproviders/installation');
+const LedgerNodeHidMarkdown = require('md/docs/subproviders/ledger_node_hid');
/* tslint:enable:no-var-requires */
const docSections = {
@@ -21,6 +22,7 @@ const docSections = {
installation: 'installation',
subprovider: 'subprovider',
ledgerSubprovider: 'ledgerSubprovider',
+ ledgerNodeHid: 'ledger-node-hid-issue',
factoryMethods: 'factory-methods',
emptyWalletSubprovider: 'emptyWalletSubprovider',
fakeGasEstimateSubprovider: 'fakeGasEstimateSubprovider',
@@ -41,6 +43,7 @@ const docsInfoConfig: DocsInfoConfig = {
install: [docSections.installation],
subprovider: [docSections.subprovider],
['ledger-subprovider']: [docSections.ledgerSubprovider],
+ ['ledger-node-hid-issue']: [docSections.ledgerNodeHid],
['factory-methods']: [docSections.factoryMethods],
['emptyWallet-subprovider']: [docSections.emptyWalletSubprovider],
['fakeGasEstimate-subprovider']: [docSections.fakeGasEstimateSubprovider],
@@ -53,6 +56,7 @@ const docsInfoConfig: DocsInfoConfig = {
sectionNameToMarkdown: {
[docSections.introduction]: IntroMarkdown,
[docSections.installation]: InstallationMarkdown,
+ [docSections.ledgerNodeHid]: LedgerNodeHidMarkdown,
},
sectionNameToModulePath: {
[docSections.subprovider]: ['"subproviders/src/subproviders/subprovider"'],