diff options
-rw-r--r-- | packages/subproviders/CHANGELOG.md | 3 | ||||
-rw-r--r-- | packages/subproviders/README.md | 2 | ||||
-rw-r--r-- | packages/subproviders/src/subproviders/injected_web3.ts | 11 | ||||
-rw-r--r-- | packages/website/ts/blockchain.ts | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/packages/subproviders/CHANGELOG.md b/packages/subproviders/CHANGELOG.md index 8adaa1c08..908272406 100644 --- a/packages/subproviders/CHANGELOG.md +++ b/packages/subproviders/CHANGELOG.md @@ -3,8 +3,9 @@ ## v0.4.1 - _Febuary 2, 2018_ * Added NonceTrackerSubprovider (#355) + * InjectedWeb3Subprovider accepts a Provider in the constructor, previously it was a Web3 object (#363) -## v0.4.0 - _January 28, 2018_ +## 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..0d70180c4 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,10 @@ export class InjectedWeb3Subprovider { } } // Required to implement this method despite not needing it for this subprovider + // The engine argument type should be Web3ProviderEngine, but we've decided to keep it as type any + // to remove the provider engine depdency given this method is 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(); |