Esempio n. 1
0
  function loadCode (cb) {
    addTxValue()
    // loads the contract's code if the account is a contract
    if (code || !(toAccount.isContract() || ethUtil.isPrecompiled(toAddress))) {
      cb()
      return
    }

    if (ethUtil.isPrecompiled(toAddress)) {
      isCompiled = true
      code = self._precompiled[toAddress.toString('hex')]
      cb()
      return
    }

    stateManager.getContractCode(toAddress, function (err, c, comp) {
      if (err) return cb(err)
      isCompiled = comp
      code = c
      cb()
    })
  }
Esempio n. 2
0
 stateManager.getAccount(toAddress, function (err, account) {
   if (err) return done(err)
   if (utils.isPrecompiled(toAddress)) {
     options.compiled = true
     options.code = runState._precompiled[toAddress.toString('hex')]
     makeCall(runState, options, localOpts, done)
   } else {
     stateManager.getContractCode(toAddress, function (err, code, compiled) {
       if (err) return done(err)
       options.code = code
       options.compiled = compiled
       makeCall(runState, options, localOpts, done)
     })
   }
 })