You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
854 B
25 lines
854 B
const allowedMessageTarget = 'metamask'
|
|
const allowedMessageType = 'addUnsignedTx'
|
|
|
|
|
|
// inject in-page script
|
|
var scriptTag = document.createElement('script')
|
|
scriptTag.src = chrome.extension.getURL('scripts/inpage.js')
|
|
scriptTag.onload = function() { this.parentNode.removeChild(this) }
|
|
var container = document.head || document.documentElement
|
|
container.appendChild(scriptTag)
|
|
|
|
// setup connection with background
|
|
var metamaskPlugin = chrome.runtime.connect({name: 'metamask'})
|
|
|
|
// forward messages from inpage to background
|
|
window.addEventListener('message', receiveMessage, false);
|
|
function receiveMessage(event){
|
|
var msg = event.data
|
|
// validate message type
|
|
if (typeof msg !== 'object') return
|
|
if (msg.to !== allowedMessageTarget) return
|
|
if (msg.type !== allowedMessageType) return
|
|
// forward message
|
|
metamaskPlugin.postMessage(msg)
|
|
} |