go-ethereum/cmd/evm/testdata/14
lightclient f808d7357e
all: implement eip-7702 set code tx (#30078)
This PR implements EIP-7702: "Set EOA account code". 
Specification: https://eips.ethereum.org/EIPS/eip-7702

> Add a new transaction type that adds a list of `[chain_id, address,
nonce, y_parity, r, s]` authorization tuples. For each tuple, write a
delegation designator `(0xef0100 ++ address)` to the signing account’s
code. All code reading operations must load the code pointed to by the
designator.

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-12-16 11:29:37 +01:00
..
alloc.json cmd/evm: add difficulty calculation to t8n tool (#23353) 2021-08-25 15:04:26 +02:00
env.json cmd/evm: add tests for evm t8n (#23507) 2021-09-02 09:22:43 +02:00
env.uncles.json cmd/evm: add tests for evm t8n (#23507) 2021-09-02 09:22:43 +02:00
exp.json all: implement eip-7702 set code tx (#30078) 2024-12-16 11:29:37 +01:00
exp2.json all: implement eip-7702 set code tx (#30078) 2024-12-16 11:29:37 +01:00
exp_berlin.json all: implement eip-7702 set code tx (#30078) 2024-12-16 11:29:37 +01:00
readme.md cmd/evm: update readmes for the tests (#26841) 2023-03-09 07:06:47 -05:00
txs.json cmd/evm: add difficulty calculation to t8n tool (#23353) 2021-08-25 15:04:26 +02:00

readme.md

Difficulty calculation

This test shows how the evm t8n can be used to calculate the (ethash) difficulty, if none is provided by the caller.

Calculating it (with an empty set of txs) using London rules (and no provided unclehash for the parent block):

[user@work evm]$ ./evm t8n --input.alloc=./testdata/14/alloc.json --input.txs=./testdata/14/txs.json --input.env=./testdata/14/env.json --output.result=stdout --state.fork=London
INFO [03-09|10:43:57.070] Trie dumping started                     root=6f0588..7f4bdc
INFO [03-09|10:43:57.070] Trie dumping complete                    accounts=2 elapsed="214.663µs"
INFO [03-09|10:43:57.071] Wrote file                               file=alloc.json
{
  "result": {
    "stateRoot": "0x6f058887ca01549716789c380ede95aecc510e6d1fdc4dbf67d053c7c07f4bdc",
    "txRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "logsHash": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "receipts": [],
    "currentDifficulty": "0x2000020000000",
    "gasUsed": "0x0",
    "currentBaseFee": "0x500"
  }
}

Same thing, but this time providing a non-empty (and non-emptyKeccak) unclehash, which leads to a slightly different result:

[user@work evm]$ ./evm t8n --input.alloc=./testdata/14/alloc.json --input.txs=./testdata/14/txs.json --input.env=./testdata/14/env.uncles.json --output.result=stdout --state.fork=London
INFO [03-09|10:44:20.511] Trie dumping started                     root=6f0588..7f4bdc
INFO [03-09|10:44:20.511] Trie dumping complete                    accounts=2 elapsed="184.319µs"
INFO [03-09|10:44:20.512] Wrote file                               file=alloc.json
{
  "result": {
    "stateRoot": "0x6f058887ca01549716789c380ede95aecc510e6d1fdc4dbf67d053c7c07f4bdc",
    "txRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "logsHash": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "receipts": [],
    "currentDifficulty": "0x1ff8020000000",
    "gasUsed": "0x0",
    "currentBaseFee": "0x500"
  }
}