diff options
Diffstat (limited to 'packages/website/ts/subproviders/redundant_rpc_subprovider.ts')
-rw-r--r-- | packages/website/ts/subproviders/redundant_rpc_subprovider.ts | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/packages/website/ts/subproviders/redundant_rpc_subprovider.ts b/packages/website/ts/subproviders/redundant_rpc_subprovider.ts index a6c53ebd1..74675d910 100644 --- a/packages/website/ts/subproviders/redundant_rpc_subprovider.ts +++ b/packages/website/ts/subproviders/redundant_rpc_subprovider.ts @@ -1,11 +1,26 @@ +import promisify = require('es6-promisify'); import * as _ from 'lodash'; import {JSONRPCPayload} from 'ts/types'; -import promisify = require('es6-promisify'); -import Subprovider = require('web3-provider-engine/subproviders/subprovider'); import RpcSubprovider = require('web3-provider-engine/subproviders/rpc'); +import Subprovider = require('web3-provider-engine/subproviders/subprovider'); export class RedundantRPCSubprovider extends Subprovider { private rpcs: RpcSubprovider[]; + private static async firstSuccessAsync( + rpcs: RpcSubprovider[], payload: JSONRPCPayload, next: () => void, + ): Promise<any> { + let lastErr; + for (const rpc of rpcs) { + try { + const data = await promisify(rpc.handleRequest.bind(rpc))(payload, next); + return data; + } catch (err) { + lastErr = err; + continue; + } + } + throw Error(lastErr); + } constructor(endpoints: string[]) { super(); this.rpcs = _.map(endpoints, endpoint => { @@ -25,17 +40,4 @@ export class RedundantRPCSubprovider extends Subprovider { } } - private async firstSuccessAsync(rpcs: RpcSubprovider[], payload: JSONRPCPayload, next: () => void): Promise<any> { - let lastErr; - for (const rpc of rpcs) { - try { - const data = await promisify(rpc.handleRequest.bind(rpc))(payload, next); - return data; - } catch (err) { - lastErr = err; - continue; - } - } - throw Error(lastErr); - } } |