aboutsummaryrefslogblamecommitdiffstats
path: root/mascara/src/lib/setup-provider.js
blob: 62335b18d7910182ab35e281e545c20aa2d872da (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                                
                                                                                     



                            
                           



                                                                          

                                                                    
                                        
                                                                              
                             





                                                               
const setupIframe = require('./setup-iframe.js')
const MetamaskInpageProvider = require('../../../app/scripts/lib/inpage-provider.js')

module.exports = getProvider


function getProvider(opts){
  if (global.web3) {
    console.log('MetaMask ZeroClient - using environmental web3 provider')
    return global.web3.currentProvider
  }
  console.log('MetaMask ZeroClient - injecting zero-client iframe!')
  var iframeStream = setupIframe({
    zeroClientProvider: opts.mascaraUrl,
    sandboxAttributes: ['allow-scripts', 'allow-popups', 'allow-same-origin'],
    container: document.body,
  })

  var inpageProvider = new MetamaskInpageProvider(iframeStream)
  return inpageProvider

}