|
|
@ -1,19 +1,55 @@ |
|
|
|
const web3 = require('web3') |
|
|
|
const web3 = require('web3') |
|
|
|
const MetamaskProvider = require('./lib/metamask-provider.js') |
|
|
|
const BlockAppsWeb3Provider = require('blockapps-web3') |
|
|
|
|
|
|
|
const Transaction = require('ethereumjs-tx') |
|
|
|
|
|
|
|
require('object.entries').shim() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// const rpcUrl = 'https://rpc.metamask.io'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var provider = new MetamaskProvider(forwardPayload, rpcUrl)
|
|
|
|
|
|
|
|
var provider = new BlockAppsWeb3Provider({ |
|
|
|
|
|
|
|
host: 'http://hacknet.blockapps.net', |
|
|
|
|
|
|
|
// host: 'http://api.blockapps.net',
|
|
|
|
|
|
|
|
transaction_signer: {
|
|
|
|
|
|
|
|
// Can be any object that implements the following methods:
|
|
|
|
|
|
|
|
hasAddress: function(address, callback) { |
|
|
|
|
|
|
|
console.log('metamask provider - asked for address ownership', address) |
|
|
|
|
|
|
|
callback(null, true) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
signTransaction: function(txParams, callback) { |
|
|
|
|
|
|
|
txParams.gasLimit = txParams.gas |
|
|
|
|
|
|
|
var tx = new Transaction(txParams) |
|
|
|
|
|
|
|
tx.sign(new Buffer('0d0ba14043088cd629a978b49c8691deca5926f0271432bc0064e4745bac0a9f', 'hex')) |
|
|
|
|
|
|
|
callback(null, '0x'+tx.serialize().toString('hex')) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
coinbase: '0x00000000000', |
|
|
|
|
|
|
|
accounts: ['0x985095ef977ba75fb2bb79cd5c4b84c81392dff6'], |
|
|
|
|
|
|
|
// host: function(){ debugger },
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const rpcUrl = 'https://rpc.metamask.io' |
|
|
|
|
|
|
|
const documentOrigin = window.location.origin |
|
|
|
const documentOrigin = window.location.origin |
|
|
|
const allowedMessageTarget = 'metamask' |
|
|
|
const allowedMessageTarget = 'metamask' |
|
|
|
const allowedMessageType = 'addUnsignedTx' |
|
|
|
const allowedMessageType = 'addUnsignedTx' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var provider = new MetamaskProvider(forwardPayload, rpcUrl) |
|
|
|
|
|
|
|
web3.setProvider(provider) |
|
|
|
web3.setProvider(provider) |
|
|
|
|
|
|
|
// disable setProvider
|
|
|
|
|
|
|
|
web3.setProvider = function(){} |
|
|
|
|
|
|
|
|
|
|
|
// injecting web3
|
|
|
|
// injecting web3
|
|
|
|
console.log('Metamask injected web3') |
|
|
|
console.log('Metamask injected web3') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// log all the stuff!
|
|
|
|
|
|
|
|
// provider.verbosity = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// web3.currentProvider.vm.onStep = function(data, cb){
|
|
|
|
|
|
|
|
// console.log(data)
|
|
|
|
|
|
|
|
// cb()
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
window.web3 = web3 |
|
|
|
window.web3 = web3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function forwardPayload(payload){ |
|
|
|
function forwardPayload(payload){ |
|
|
|
window.postMessage({ |
|
|
|
window.postMessage({ |
|
|
|
to: allowedMessageTarget, |
|
|
|
to: allowedMessageTarget, |
|
|
|