text: 'use strict'
  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)
        }
      })
    }
  }
  
  