diff options
author | Jacob Evans <dekz@dekz.net> | 2018-02-06 09:16:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-06 09:16:34 +0800 |
commit | 61434a91218eb4adec0de6095a51d07203f1f5bb (patch) | |
tree | f0d695cf1960ce1068a5ed4be2e646a2ffe2a904 | |
parent | 2205e2b9a0dab345a14724731098043d04827c4f (diff) | |
parent | d14ae70776e82c8a61e1c41219c40ec283890a8a (diff) | |
download | dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar.gz dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar.bz2 dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar.lz dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar.xz dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.tar.zst dexon-0x-contracts-61434a91218eb4adec0de6095a51d07203f1f5bb.zip |
Merge pull request #363 from 0xProject/refactor/subproviders/injected-provider-constructor
Change the InjectedWeb3Subprovider to accept Web3.Provider
-rw-r--r-- | packages/subproviders/CHANGELOG.md | 6 | ||||
-rw-r--r-- | packages/subproviders/README.md | 2 | ||||
-rw-r--r-- | packages/subproviders/src/subproviders/injected_web3.ts | 10 | ||||
-rw-r--r-- | packages/website/ts/blockchain.ts | 2 |
4 files changed, 13 insertions, 7 deletions
diff --git a/packages/subproviders/CHANGELOG.md b/packages/subproviders/CHANGELOG.md index 0469150c0..6ee8e2455 100644 --- a/packages/subproviders/CHANGELOG.md +++ b/packages/subproviders/CHANGELOG.md @@ -1,6 +1,10 @@ # CHANGELOG -## v0.4.0 - _January 28, 2017_ +## v0.4.0 - _Feburary 02, 2018_ + + * InjectedWeb3Subprovider accepts a Provider in the constructor, previously it was a Web3 object. + +## v0.3.5 - _January 28, 2018_ * Return a transaction hash from `_sendTransactionAsync` (#303) diff --git a/packages/subproviders/README.md b/packages/subproviders/README.md index 78643ad55..0d8f85910 100644 --- a/packages/subproviders/README.md +++ b/packages/subproviders/README.md @@ -2,6 +2,8 @@ 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. + ## Installation ``` diff --git a/packages/subproviders/src/subproviders/injected_web3.ts b/packages/subproviders/src/subproviders/injected_web3.ts index bd29acb22..a74a6c4b2 100644 --- a/packages/subproviders/src/subproviders/injected_web3.ts +++ b/packages/subproviders/src/subproviders/injected_web3.ts @@ -1,17 +1,16 @@ import * as _ from 'lodash'; import Web3 = require('web3'); -import Web3ProviderEngine = require('web3-provider-engine'); /* * This class implements the web3-provider-engine subprovider interface and forwards * requests involving user accounts (getAccounts, sendTransaction, etc...) to the injected - * web3 instance in their browser. + * provider instance in their browser. * Source: https://github.com/MetaMask/provider-engine/blob/master/subproviders/subprovider.js */ export class InjectedWeb3Subprovider { private _injectedWeb3: Web3; - constructor(injectedWeb3: Web3) { - this._injectedWeb3 = injectedWeb3; + constructor(subprovider: Web3.Provider) { + this._injectedWeb3 = new Web3(subprovider); } public handleRequest( payload: Web3.JSONRPCRequestPayload, @@ -42,8 +41,9 @@ export class InjectedWeb3Subprovider { } } // Required to implement this method despite not needing it for this subprovider + // This type is Web3ProviderEngine, but there is no need to import this for a noop. // tslint:disable-next-line:prefer-function-over-method - public setEngine(engine: Web3ProviderEngine) { + public setEngine(engine: any) { // noop } } diff --git a/packages/website/ts/blockchain.ts b/packages/website/ts/blockchain.ts index 71995e2cd..099efb405 100644 --- a/packages/website/ts/blockchain.ts +++ b/packages/website/ts/blockchain.ts @@ -100,7 +100,7 @@ export class Blockchain { // We catch all requests involving a users account and send it to the injectedWeb3 // instance. All other requests go to the public hosted node. provider = new ProviderEngine(); - provider.addProvider(new InjectedWeb3Subprovider(injectedWeb3)); + provider.addProvider(new InjectedWeb3Subprovider(injectedWeb3.currentProvider)); provider.addProvider(new FilterSubprovider()); provider.addProvider(new RedundantRPCSubprovider(publicNodeUrlsIfExistsForNetworkId)); provider.start(); |