mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 09:53:48 +00:00
internal/ethapi: add 7702 tests to eth_estimateGas
This commit is contained in:
parent
8a49fd8ac0
commit
a173914225
1 changed files with 23 additions and 1 deletions
|
|
@ -629,12 +629,14 @@ func TestEstimateGas(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
// Initialize test accounts
|
// Initialize test accounts
|
||||||
var (
|
var (
|
||||||
accounts = newAccounts(2)
|
accounts = newAccounts(4)
|
||||||
genesis = &core.Genesis{
|
genesis = &core.Genesis{
|
||||||
Config: params.MergedTestChainConfig,
|
Config: params.MergedTestChainConfig,
|
||||||
Alloc: types.GenesisAlloc{
|
Alloc: types.GenesisAlloc{
|
||||||
accounts[0].addr: {Balance: big.NewInt(params.Ether)},
|
accounts[0].addr: {Balance: big.NewInt(params.Ether)},
|
||||||
accounts[1].addr: {Balance: big.NewInt(params.Ether)},
|
accounts[1].addr: {Balance: big.NewInt(params.Ether)},
|
||||||
|
accounts[2].addr: {Balance: big.NewInt(params.Ether), Code: append(types.DelegationPrefix, accounts[3].addr.Bytes()...)},
|
||||||
|
// accounts[3].addr: {Code: []byte{byte(vm.ADDRESS), byte(vm.PUSH0), byte(vm.SSTORE)}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
genBlocks = 10
|
genBlocks = 10
|
||||||
|
|
@ -819,6 +821,26 @@ func TestEstimateGas(t *testing.T) {
|
||||||
blockOverrides: override.BlockOverrides{Number: (*hexutil.Big)(big.NewInt(11))},
|
blockOverrides: override.BlockOverrides{Number: (*hexutil.Big)(big.NewInt(11))},
|
||||||
expectErr: newRevertError(packRevert("block 11")),
|
expectErr: newRevertError(packRevert("block 11")),
|
||||||
},
|
},
|
||||||
|
// Should be able to send to an EIP-7702 delegated account.
|
||||||
|
{
|
||||||
|
blockNumber: rpc.LatestBlockNumber,
|
||||||
|
call: TransactionArgs{
|
||||||
|
From: &accounts[0].addr,
|
||||||
|
To: &accounts[2].addr,
|
||||||
|
Value: (*hexutil.Big)(big.NewInt(1)),
|
||||||
|
},
|
||||||
|
want: 21000,
|
||||||
|
},
|
||||||
|
// Should be able to send as EIP-7702 delegated account.
|
||||||
|
{
|
||||||
|
blockNumber: rpc.LatestBlockNumber,
|
||||||
|
call: TransactionArgs{
|
||||||
|
From: &accounts[2].addr,
|
||||||
|
To: &accounts[1].addr,
|
||||||
|
Value: (*hexutil.Big)(big.NewInt(1)),
|
||||||
|
},
|
||||||
|
want: 21000,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for i, tc := range testSuite {
|
for i, tc := range testSuite {
|
||||||
result, err := api.EstimateGas(context.Background(), tc.call, &rpc.BlockNumberOrHash{BlockNumber: &tc.blockNumber}, &tc.overrides, &tc.blockOverrides)
|
result, err := api.EstimateGas(context.Background(), tc.call, &rpc.BlockNumberOrHash{BlockNumber: &tc.blockNumber}, &tc.overrides, &tc.blockOverrides)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue