internal/ethapi: fix panic in access list creation (#23133)

Fixes test failure in the last commit.
This commit is contained in:
Marius van der Wijden 2021-06-30 14:23:20 +02:00 committed by GitHub
parent ec88bd0cd0
commit e7c8693635
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

@ -40,7 +40,7 @@ import (
var ( var (
testKey, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") testKey, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291")
testAddr = crypto.PubkeyToAddress(testKey.PublicKey) testAddr = crypto.PubkeyToAddress(testKey.PublicKey)
testBalance = big.NewInt(2e10) testBalance = big.NewInt(2e15)
) )
func newTestBackend(t *testing.T) (*node.Node, []*types.Block) { func newTestBackend(t *testing.T) (*node.Node, []*types.Block) {
@ -88,7 +88,7 @@ func generateTestChain() (*core.Genesis, []*types.Block) {
return genesis, blocks return genesis, blocks
} }
func TestEthClient(t *testing.T) { func TestGethClient(t *testing.T) {
backend, _ := newTestBackend(t) backend, _ := newTestBackend(t)
client, err := backend.Attach() client, err := backend.Attach()
if err != nil { if err != nil {
@ -159,7 +159,7 @@ func testAccessList(t *testing.T, client *rpc.Client) {
From: testAddr, From: testAddr,
To: nil, To: nil,
Gas: 100000, Gas: 100000,
GasPrice: big.NewInt(1), GasPrice: big.NewInt(1000000000),
Value: big.NewInt(1), Value: big.NewInt(1),
Data: common.FromHex("0x608060806080608155fd"), Data: common.FromHex("0x608060806080608155fd"),
} }
@ -286,7 +286,7 @@ func testCallContract(t *testing.T, client *rpc.Client) {
From: testAddr, From: testAddr,
To: &common.Address{}, To: &common.Address{},
Gas: 21000, Gas: 21000,
GasPrice: big.NewInt(1), GasPrice: big.NewInt(1000000000),
Value: big.NewInt(1), Value: big.NewInt(1),
} }
// CallContract without override // CallContract without override

@ -1417,11 +1417,11 @@ func AccessList(ctx context.Context, b Backend, blockNrOrHash rpc.BlockNumberOrH
} }
// Copy the original db so we don't modify it // Copy the original db so we don't modify it
statedb := db.Copy() 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 // Apply the transaction with the access list tracer
tracer := vm.NewAccessListTracer(accessList, args.from(), to, precompiles) 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) vmenv, _, err := b.GetEVM(ctx, msg, statedb, header, &config)
if err != nil { if err != nil {
return nil, 0, nil, err return nil, 0, nil, err