aboutsummaryrefslogtreecommitdiffstats
path: root/packages/subproviders/src/utils/subprovider_utils.ts
blob: beda408ab3c40f065d5527ac950c3a40bc939b76 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import Web3ProviderEngine = require('web3-provider-engine');

import { Subprovider } from '../subproviders/subprovider';

/**
 * Prepends a subprovider to a provider
 * @param provider    Given provider
 * @param subprovider Subprovider to prepend
 */
export function prependSubprovider(provider: Web3ProviderEngine, subprovider: Subprovider): void {
    subprovider.setEngine(provider);
    // HACK: We use implementation details of provider engine here
    // https://github.com/MetaMask/provider-engine/blob/master/index.js#L68
    (provider as any)._providers = [subprovider, ...(provider as any)._providers];
}