Change the InjectedWeb3Subprovider to accept Web3.Provider
This commit is contained in:
@@ -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.
|
||||
* MetamaskInpageProvider 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,
|
||||
@@ -43,7 +42,7 @@ export class InjectedWeb3Subprovider {
|
||||
}
|
||||
// Required to implement this method despite not needing it for this subprovider
|
||||
// tslint:disable-next-line:prefer-function-over-method
|
||||
public setEngine(engine: Web3ProviderEngine) {
|
||||
public setEngine(engine: any) {
|
||||
// noop
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user