aboutsummaryrefslogblamecommitdiffstats
path: root/packages/subproviders/src/utils/subprovider_utils.ts
blob: beda408ab3c40f065d5527ac950c3a40bc939b76 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                            







                                                          
                                                                                                  
                                    

                                                                           

                                                                                  
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];
}