From 1cc5428c6515c483efae2d3ee68722ed48d97f6d Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 19 Mar 2019 22:05:32 +0100 Subject: [PATCH] tests, core/vm/runtime: formatting --- core/evm.go | 17 ++++++++--------- core/state_processor.go | 2 -- core/vm/evm.go | 4 ++-- core/vm/runtime/runtime_test.go | 6 +++--- eth/api_tracer.go | 14 +++++++------- eth/tracers/tracer_test.go | 17 ++++++++++++++--- les/odr_test.go | 7 ++++--- tests/state_test_util.go | 2 +- 8 files changed, 39 insertions(+), 30 deletions(-) diff --git a/core/evm.go b/core/evm.go index 17a31f3d2f..e5a040858c 100644 --- a/core/evm.go +++ b/core/evm.go @@ -44,15 +44,14 @@ func NewBlockContext(header *types.Header, chain ChainContext, author *common.Ad beneficiary = *author } return &vm.BlockContext{ - GetHash: GetHashFn(header, chain), - CanTransfer: CanTransfer, - Transfer: Transfer, - Coinbase: beneficiary, - BlockNumber: new(big.Int).Set(header.Number), - Time: new(big.Int).Set(header.Time), - Difficulty: new(big.Int).Set(header.Difficulty), - GasLimit: header.GasLimit, - + GetHash: GetHashFn(header, chain), + CanTransfer: CanTransfer, + Transfer: Transfer, + Coinbase: beneficiary, + BlockNumber: new(big.Int).Set(header.Number), + Time: new(big.Int).Set(header.Time), + Difficulty: new(big.Int).Set(header.Difficulty), + GasLimit: header.GasLimit, } } diff --git a/core/state_processor.go b/core/state_processor.go index ecb86b263d..2a47b0abf7 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -45,8 +45,6 @@ func NewStateProcessor(config *params.ChainConfig, bc *BlockChain, engine consen } } - - // Process processes the state changes according to the Ethereum rules by running // the transaction messages using the statedb and applying any rewards to both // the processor (coinbase) and any included uncles. diff --git a/core/vm/evm.go b/core/vm/evm.go index fc696e5173..345e19ef0c 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -76,7 +76,7 @@ type Context struct { GasPrice *big.Int // Provides information for GASPRICE } -func (c *Context) GetHash(n uint64) common.Hash{ +func (c *Context) GetHash(n uint64) common.Hash { return c.BlockContext.GetHash(n) } @@ -88,7 +88,7 @@ type BlockContext struct { CanTransfer CanTransferFunc // Transfer transfers ether from one account to the other Transfer TransferFunc - GetHash GetHashFunc + GetHash GetHashFunc // Block information Coinbase common.Address // Provides information for COINBASE GasLimit uint64 // Provides information for GASLIMIT diff --git a/core/vm/runtime/runtime_test.go b/core/vm/runtime/runtime_test.go index 503e7057cb..eddece11a3 100644 --- a/core/vm/runtime/runtime_test.go +++ b/core/vm/runtime/runtime_test.go @@ -17,17 +17,17 @@ package runtime import ( - "github.com/ethereum/go-ethereum/consensus" - "github.com/ethereum/go-ethereum/core" - "github.com/ethereum/go-ethereum/core/types" "math/big" "strings" "testing" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/consensus" + "github.com/ethereum/go-ethereum/core" "github.com/ethereum/go-ethereum/core/rawdb" "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/params" ) diff --git a/eth/api_tracer.go b/eth/api_tracer.go index ba1f4222f5..74f5743835 100644 --- a/eth/api_tracer.go +++ b/eth/api_tracer.go @@ -203,7 +203,7 @@ func (api *PrivateDebugAPI) traceChain(ctx context.Context, start, end *types.Bl for task := range tasks { signer := types.MakeSigner(api.config, task.block.Number()) - blockCtx := core.NewBlockContext(task.block.Header(), api.eth.blockchain, nil) + blockCtx := core.NewBlockContext(task.block.Header(), api.eth.blockchain, nil) // Trace all the transactions contained within for i, tx := range task.block.Transactions() { msg, _ := tx.AsMessage(signer) @@ -477,12 +477,12 @@ func (api *PrivateDebugAPI) traceBlock(ctx context.Context, block *types.Block, pend.Add(1) go func() { defer pend.Done() - blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) + blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) // Fetch and execute the next transaction trace tasks for task := range jobs { msg, _ := txs[task.index].AsMessage(signer) - vmctx := core.NewEVMContext(msg,blockCtx) + vmctx := core.NewEVMContext(msg, blockCtx) res, err := api.traceTx(ctx, msg, vmctx, task.statedb, config) if err != nil { @@ -498,11 +498,11 @@ func (api *PrivateDebugAPI) traceBlock(ctx context.Context, block *types.Block, for i, tx := range txs { // Send the trace task over for execution jobs <- &txTraceTask{statedb: statedb.Copy(), index: i} - blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) + blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) // Generate the next state snapshot fast without tracing msg, _ := tx.AsMessage(signer) - vmctx := core.NewEVMContext(msg,blockCtx) + vmctx := core.NewEVMContext(msg, blockCtx) vmenv := vm.NewEVM(vmctx, statedb, api.config, vm.Config{}) if _, _, _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.Gas())); err != nil { @@ -567,7 +567,7 @@ func (api *PrivateDebugAPI) standardTraceBlockToFile(ctx context.Context, block signer = types.MakeSigner(api.config, block.Number()) dumps []string ) - blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) + blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) for i, tx := range block.Transactions() { // Prepare the trasaction for un-traced execution var ( @@ -801,7 +801,7 @@ func (api *PrivateDebugAPI) computeTxEnv(blockHash common.Hash, txIndex int, ree } // Recompute transactions up to the target index. signer := types.MakeSigner(api.config, block.Number()) - blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) + blockCtx := core.NewBlockContext(block.Header(), api.eth.blockchain, nil) for idx, tx := range block.Transactions() { // Assemble the transaction call message and return if the requested offset msg, _ := tx.AsMessage(signer) diff --git a/eth/tracers/tracer_test.go b/eth/tracers/tracer_test.go index a45a121159..d6a2b1a4dd 100644 --- a/eth/tracers/tracer_test.go +++ b/eth/tracers/tracer_test.go @@ -51,7 +51,13 @@ type dummyStatedb struct { func (*dummyStatedb) GetRefund() uint64 { return 1337 } func runTrace(tracer *Tracer) (json.RawMessage, error) { - env := vm.NewEVM(vm.Context{BlockNumber: big.NewInt(1)}, &dummyStatedb{}, params.TestChainConfig, vm.Config{Debug: true, Tracer: tracer}) + env := vm.NewEVM( + vm.Context{ + BlockContext: &vm.BlockContext{ + BlockNumber: big.NewInt(1), + }, + }, + &dummyStatedb{}, params.TestChainConfig, vm.Config{Debug: true, Tracer: tracer}) contract := vm.NewContract(account{}, account{}, big.NewInt(0), 10000) contract.Code = []byte{byte(vm.PUSH1), 0x1, byte(vm.PUSH1), 0x1, 0x0} @@ -132,8 +138,13 @@ func TestHaltBetweenSteps(t *testing.T) { if err != nil { t.Fatal(err) } - - env := vm.NewEVM(vm.Context{BlockNumber: big.NewInt(1)}, &dummyStatedb{}, params.TestChainConfig, vm.Config{Debug: true, Tracer: tracer}) + env := vm.NewEVM( + vm.Context{ + BlockContext: &vm.BlockContext{ + BlockNumber: big.NewInt(1), + }, + }, + &dummyStatedb{}, params.TestChainConfig, vm.Config{Debug: true, Tracer: tracer}) contract := vm.NewContract(&account{}, &account{}, big.NewInt(0), 0) tracer.CaptureState(env, 0, 0, 0, 0, nil, nil, contract, 0, nil) diff --git a/les/odr_test.go b/les/odr_test.go index ac81fbcf02..4b6888cc9b 100644 --- a/les/odr_test.go +++ b/les/odr_test.go @@ -133,8 +133,8 @@ func odrContractCall(ctx context.Context, db ethdb.Database, config *params.Chai from.SetBalance(math.MaxBig256) msg := callmsg{types.NewMessage(from.Address(), &testContractAddr, 0, new(big.Int), 100000, new(big.Int), data, false)} - - context := core.NewEVMContext(msg, header, bc, nil) + blockCtx := core.NewBlockContext(header, bc, nil) + context := core.NewEVMContext(msg, blockCtx) vmenv := vm.NewEVM(context, statedb, config, vm.Config{}) //vmenv := core.NewEnv(statedb, config, bc, msg, header, vm.Config{}) @@ -147,7 +147,8 @@ func odrContractCall(ctx context.Context, db ethdb.Database, config *params.Chai state := light.NewState(ctx, header, lc.Odr()) state.SetBalance(testBankAddress, math.MaxBig256) msg := callmsg{types.NewMessage(testBankAddress, &testContractAddr, 0, new(big.Int), 100000, new(big.Int), data, false)} - context := core.NewEVMContext(msg, header, lc, nil) + blockCtx := core.NewBlockContext(header, lc, nil) + context := core.NewEVMContext(msg, blockCtx) vmenv := vm.NewEVM(context, state, config, vm.Config{}) gp := new(core.GasPool).AddGas(math.MaxUint64) ret, _, _, _ := core.ApplyMessage(vmenv, msg, gp) diff --git a/tests/state_test_util.go b/tests/state_test_util.go index cfd837583d..14aee8a78b 100644 --- a/tests/state_test_util.go +++ b/tests/state_test_util.go @@ -134,7 +134,7 @@ func (t *StateTest) Run(subtest StateSubtest, vmconfig vm.Config) (*state.StateD if err != nil { return nil, err } - blockCtx := core.NewBlockContext(block.Header(), nil, &t.json.Env.Coinbase) + blockCtx := core.NewBlockContext(block.Header(), nil, &t.json.Env.Coinbase) context := core.NewEVMContext(msg, blockCtx) blockCtx.GetHash = vmTestBlockHash evm := vm.NewEVM(context, statedb, config, vmconfig)