mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 23:58:06 +01:00
ce147bf6d8
* transactions - use safe-event-emitter over events * tests - pass a platform object on init with a noop showTransactionNotification * test - fix for tx-state-history-helper trying to reduce an empty array * deps - safe-event-emitter * lint
42 lines
800 B
JavaScript
42 lines
800 B
JavaScript
const extend = require('xtend')
|
|
const BN = require('ethereumjs-util').BN
|
|
const template = {
|
|
'status': 'submitted',
|
|
'history': [{}],
|
|
'txParams': {
|
|
'from': '0x7d3517b0d011698406d6e0aed8453f0be2697926',
|
|
'gas': '0x30d40',
|
|
'value': '0x0',
|
|
'nonce': '0x3',
|
|
},
|
|
}
|
|
|
|
class TxGenerator {
|
|
|
|
constructor () {
|
|
this.txs = []
|
|
}
|
|
|
|
generate (tx = {}, opts = {}) {
|
|
const { count, fromNonce } = opts
|
|
let nonce = fromNonce || this.txs.length
|
|
const txs = []
|
|
for (let i = 0; i < count; i++) {
|
|
txs.push(extend(template, {
|
|
txParams: {
|
|
nonce: hexify(nonce++),
|
|
},
|
|
}, tx))
|
|
}
|
|
this.txs = this.txs.concat(txs)
|
|
return txs
|
|
}
|
|
|
|
}
|
|
|
|
function hexify (number) {
|
|
return '0x' + (new BN(number)).toString(16)
|
|
}
|
|
|
|
module.exports = TxGenerator
|