remix-ide
Version:
Minimalistic browser-based Solidity IDE
24 lines (20 loc) • 572 B
JavaScript
var executionContext = require('./execution-context')
module.exports = class TransactionReceiptResolver {
constructor () {
this._transactionReceipts = {}
}
resolve (tx, cb) {
if (this._transactionReceipts[tx.hash]) {
return cb(null, this._transactionReceipts[tx.hash])
}
executionContext.web3().eth.getTransactionReceipt(tx.hash, (error, receipt) => {
if (!error) {
this._transactionReceipts[tx.hash] = receipt
cb(null, receipt)
} else {
cb(error)
}
})
}
}