diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/evm/main.go | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/cmd/evm/main.go b/cmd/evm/main.go index 8af0cebbb..0693d7cd3 100644 --- a/cmd/evm/main.go +++ b/cmd/evm/main.go @@ -29,7 +29,6 @@ import ( "github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/core/vm/runtime" - "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/logger/glog" "gopkg.in/urfave/cli.v1" @@ -115,9 +114,13 @@ func run(ctx *cli.Context) error { glog.SetToStderr(true) glog.SetV(ctx.GlobalInt(VerbosityFlag.Name)) - db, _ := ethdb.NewMemDatabase() - statedb, _ := state.New(common.Hash{}, db) - sender := statedb.CreateAccount(common.StringToAddress("sender")) + var ( + db, _ = ethdb.NewMemDatabase() + statedb, _ = state.New(common.Hash{}, db) + address = common.StringToAddress("sender") + sender = vm.AccountRef(address) + ) + statedb.CreateAccount(common.StringToAddress("sender")) logger := vm.NewStructLogger(nil) @@ -166,10 +169,11 @@ func run(ctx *cli.Context) error { }, }) } else { - receiver := statedb.CreateAccount(common.StringToAddress("receiver")) - receiver.SetCode(crypto.Keccak256Hash(code), code) + receiverAddress := common.StringToAddress("receiver") + statedb.CreateAccount(receiverAddress) + statedb.SetCode(receiverAddress, code) - ret, err = runtime.Call(receiver.Address(), common.Hex2Bytes(ctx.GlobalString(InputFlag.Name)), &runtime.Config{ + ret, err = runtime.Call(receiverAddress, common.Hex2Bytes(ctx.GlobalString(InputFlag.Name)), &runtime.Config{ Origin: sender.Address(), State: statedb, GasLimit: common.Big(ctx.GlobalString(GasFlag.Name)).Uint64(), |