| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="white"><script xmlns="">/*global Web3*/
- cleanContextForImports()
- require('web3/dist/web3.min.js')
- const LocalMessageDuplexStream = require('post-message-stream')
- // const PingStream = require('ping-pong-stream/ping')
- // const endOfStream = require('end-of-stream')
- const setupDappAutoReload = require('./lib/auto-reload.js')
- const MetamaskInpageProvider = require('./lib/inpage-provider.js')
- restoreContextAfterImports()
- //
- // setup plugin communication
- //
- // setup background connection
- var metamaskStream = new LocalMessageDuplexStream({
- name: 'inpage',
- target: 'contentscript',
- })
- // compose the inpage provider
- var inpageProvider = new MetamaskInpageProvider(metamaskStream)
- //
- // setup web3
- //
- var web3 = new Web3(inpageProvider)
- web3.setProvider = function () {
- console.log('MetaMask - overrode web3.setProvider')
- }
- console.log('MetaMask - injected web3')
- // export global web3, with usage-detection
- setupDappAutoReload(web3, inpageProvider.publicConfigStore)
- // set web3 defaultAccount
- inpageProvider.publicConfigStore.subscribe(function (state) {
- web3.eth.defaultAccount = state.selectedAddress
- })
- //
- // util
- //
- // need to make sure we aren't affected by overlapping namespaces
- // and that we dont affect the app with our namespace
- // mostly a fix for web3's BigNumber if AMD's "define" is defined...
- var __define
- function cleanContextForImports () {
- __define = global.define
- try {
- global.define = undefined
- } catch (_) {
- console.warn('MetaMask - global.define could not be deleted.')
- }
- }
- function restoreContextAfterImports () {
- try {
- global.define = __define
- } catch (_) {
- console.warn('MetaMask - global.define could not be overwritten.')
- }
- }
- </script>
- <path opacity=".25" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"/>
- <path d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z" transform="rotate(144.155 16 16)">
- <animateTransform attributeName="transform" type="rotate" from="0 16 16" to="360 16 16" dur="0.8s" repeatCount="indefinite"/>
- </path>
- </svg>
|