From 5b1285d7cfbb626d1e609d73f119536116f5a3f9 Mon Sep 17 00:00:00 2001 From: Marius van der Wijden Date: Wed, 30 Jun 2021 13:12:19 +0200 Subject: [PATCH] internal/ethapi: fix panic in access list creation --- ethclient/gethclient/gethclient_test.go | 8 ++++---- internal/ethapi/api.go | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ethclient/gethclient/gethclient_test.go b/ethclient/gethclient/gethclient_test.go index 26970277c3e9..3c408c22593e 100644 --- a/ethclient/gethclient/gethclient_test.go +++ b/ethclient/gethclient/gethclient_test.go @@ -40,7 +40,7 @@ import ( var ( testKey, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") testAddr = crypto.PubkeyToAddress(testKey.PublicKey) - testBalance = big.NewInt(2e10) + testBalance = big.NewInt(2e15) ) func newTestBackend(t *testing.T) (*node.Node, []*types.Block) { @@ -88,7 +88,7 @@ func generateTestChain() (*core.Genesis, []*types.Block) { return genesis, blocks } -func TestEthClient(t *testing.T) { +func TestGethClient(t *testing.T) { backend, _ := newTestBackend(t) client, err := backend.Attach() if err != nil { @@ -159,7 +159,7 @@ func testAccessList(t *testing.T, client *rpc.Client) { From: testAddr, To: nil, Gas: 100000, - GasPrice: big.NewInt(1), + GasPrice: big.NewInt(1000000000), Value: big.NewInt(1), Data: common.FromHex("0x608060806080608155fd"), } @@ -286,7 +286,7 @@ func testCallContract(t *testing.T, client *rpc.Client) { From: testAddr, To: &common.Address{}, Gas: 21000, - GasPrice: big.NewInt(1), + GasPrice: big.NewInt(1000000000), Value: big.NewInt(1), } // CallContract without override diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index 913cc0b974f9..f9c5f0445c39 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -1417,11 +1417,11 @@ func AccessList(ctx context.Context, b Backend, blockNrOrHash rpc.BlockNumberOrH } // Copy the original db so we don't modify it statedb := db.Copy() - msg := types.NewMessage(args.from(), args.To, uint64(*args.Nonce), args.Value.ToInt(), uint64(*args.Gas), args.GasPrice.ToInt(), nil, nil, args.data(), accessList, false) + msg := types.NewMessage(args.from(), args.To, uint64(*args.Nonce), args.Value.ToInt(), uint64(*args.Gas), args.GasPrice.ToInt(), big.NewInt(0), big.NewInt(0), args.data(), accessList, false) // Apply the transaction with the access list tracer tracer := vm.NewAccessListTracer(accessList, args.from(), to, precompiles) - config := vm.Config{Tracer: tracer, Debug: true} + config := vm.Config{Tracer: tracer, Debug: true, NoBaseFee: true} vmenv, _, err := b.GetEVM(ctx, msg, statedb, header, &config) if err != nil { return nil, 0, nil, err