ethereum-execution 1.17.0.dev1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ethereum_execution-1.17.0.dev1/LICENSE.md +35 -0
- ethereum_execution-1.17.0.dev1/PKG-INFO +117 -0
- ethereum_execution-1.17.0.dev1/README.md +70 -0
- ethereum_execution-1.17.0.dev1/pyproject.toml +89 -0
- ethereum_execution-1.17.0.dev1/setup.cfg +215 -0
- ethereum_execution-1.17.0.dev1/setup.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/__init__.py +27 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/__init__.py +8 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/blocks.py +111 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/fork.py +946 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/transactions.py +419 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/__init__.py +192 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/exceptions.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/gas.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/__init__.py +354 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/environment.py +541 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/instructions/system.py +687 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/interpreter.py +315 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/arrow_glacier/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_1.json +22 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_1234567.json +22 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/blocks/block_12964999.json +2720 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/cache_sizes_2048_epochs.json +329 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/dataset_sizes_2048_epochs.json +412 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/assets/mainnet.json +26711 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/blocks.py +103 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/fork.py +845 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/transactions.py +353 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/__init__.py +191 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/exceptions.py +124 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/gas.py +241 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/__init__.py +352 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/environment.py +518 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/instructions/system.py +699 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/interpreter.py +311 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/berlin/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/fork.py +822 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/fork_types.py +62 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/state.py +591 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/transactions.py +237 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/address.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/utils/message.py +79 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/__init__.py +183 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/exceptions.py +124 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/gas.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/__init__.py +338 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/environment.py +435 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/storage.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/instructions/system.py +594 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/interpreter.py +302 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/__init__.py +37 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/mapping.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/modexp.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/byzantium/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/__init__.py +10 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/blocks.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/fork.py +839 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/fork_types.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/state.py +721 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/transactions.py +498 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/trie.py +494 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/__init__.py +204 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/exceptions.py +140 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/gas.py +362 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/__init__.py +366 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/block.py +255 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/environment.py +597 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/memory.py +177 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/stack.py +209 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/storage.py +184 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/instructions/system.py +709 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/interpreter.py +317 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/__init__.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/mapping.py +49 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/point_evaluation.py +72 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/cancun/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/fork.py +822 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/state.py +591 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/transactions.py +237 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/address.py +92 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/utils/message.py +79 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/__init__.py +183 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/exceptions.py +124 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/gas.py +241 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/__init__.py +348 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/environment.py +467 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/storage.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/instructions/system.py +665 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/interpreter.py +303 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/__init__.py +37 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/mapping.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/modexp.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/constantinople/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/crypto/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/crypto/blake2.py +261 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/crypto/elliptic_curve.py +73 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/crypto/hash.py +55 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/crypto/kzg.py +185 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/dao.py +157 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/fork.py +819 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/state.py +495 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/transactions.py +197 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/address.py +62 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/utils/message.py +77 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/__init__.py +160 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/exceptions.py +87 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/gas.py +208 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/__init__.py +330 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/environment.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/log.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/storage.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/instructions/system.py +451 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/interpreter.py +277 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/__init__.py +28 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/mapping.py +33 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/dao_fork/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/ethash.py +427 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/exceptions.py +35 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/fork_criteria.py +201 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/__init__.py +7 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/fork.py +795 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/state.py +495 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/transactions.py +191 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/trie.py +492 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/address.py +62 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/utils/message.py +76 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/__init__.py +159 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/exceptions.py +87 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/gas.py +208 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/__init__.py +328 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/environment.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/log.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/storage.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/instructions/system.py +398 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/interpreter.py +275 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/__init__.py +28 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/mapping.py +33 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/frontier/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/genesis.py +278 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/__init__.py +8 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/blocks.py +111 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/fork.py +946 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/transactions.py +419 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/__init__.py +192 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/exceptions.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/gas.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/__init__.py +354 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/environment.py +541 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/instructions/system.py +687 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/interpreter.py +315 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/gray_glacier/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/__init__.py +10 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/fork.py +802 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/state.py +495 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/transactions.py +197 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/address.py +62 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/utils/message.py +77 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/__init__.py +160 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/exceptions.py +87 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/gas.py +208 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/__init__.py +330 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/environment.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/log.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/storage.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/instructions/system.py +451 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/interpreter.py +277 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/__init__.py +28 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/mapping.py +33 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/homestead/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/fork.py +822 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/transactions.py +237 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/utils/message.py +79 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/__init__.py +183 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/exceptions.py +124 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/gas.py +243 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/__init__.py +352 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/environment.py +496 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/storage.py +114 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/instructions/system.py +665 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/interpreter.py +309 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/modexp.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/istanbul/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/__init__.py +8 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/blocks.py +111 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/fork.py +952 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/transactions.py +419 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/__init__.py +192 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/exceptions.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/gas.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/__init__.py +354 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/environment.py +541 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/instructions/system.py +687 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/interpreter.py +315 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/london/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/__init__.py +7 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/fork.py +824 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/state.py +650 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/transactions.py +237 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/utils/message.py +79 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/__init__.py +183 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/exceptions.py +124 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/gas.py +243 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/__init__.py +352 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/block.py +213 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/environment.py +496 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/storage.py +114 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/instructions/system.py +665 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/interpreter.py +309 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/modexp.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/muir_glacier/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/__init__.py +16 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/blocks.py +111 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/fork.py +655 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/state.py +630 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/transactions.py +419 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/__init__.py +192 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/exceptions.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/gas.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/__init__.py +354 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/block.py +255 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/environment.py +541 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/instructions/system.py +687 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/interpreter.py +315 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/paris/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/__init__.py +7 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/blocks.py +136 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/fork.py +952 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/fork_types.py +79 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/requests.py +187 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/state.py +721 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/transactions.py +593 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/trie.py +494 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/utils/message.py +99 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/__init__.py +210 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/eoa_delegation.py +215 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/exceptions.py +140 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/gas.py +369 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/__init__.py +366 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/block.py +255 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/environment.py +597 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/memory.py +177 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/stack.py +209 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/storage.py +184 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/instructions/system.py +752 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/interpreter.py +330 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/__init__.py +54 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/__init__.py +583 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_g1.py +148 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_g2.py +148 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/bls12_381/bls12_381_pairing.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/mapping.py +74 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/point_evaluation.py +72 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/prague/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/py.typed +0 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/__init__.py +9 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/blocks.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/exceptions.py +24 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/fork.py +693 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/state.py +630 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/transactions.py +426 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/trie.py +494 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/address.py +93 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/utils/message.py +89 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/__init__.py +197 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/exceptions.py +132 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/gas.py +260 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/__init__.py +356 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/bitwise.py +240 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/block.py +255 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/environment.py +541 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/log.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/stack.py +209 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/storage.py +126 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/instructions/system.py +710 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/interpreter.py +315 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/__init__.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/alt_bn128.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/blake2f.py +41 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/mapping.py +46 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/modexp.py +169 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/shanghai/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/__init__.py +11 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/fork.py +810 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/state.py +591 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/transactions.py +237 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/address.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/utils/message.py +78 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/__init__.py +181 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/exceptions.py +87 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/gas.py +239 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/__init__.py +330 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/environment.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/log.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/storage.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/instructions/system.py +487 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/interpreter.py +295 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/__init__.py +28 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/mapping.py +33 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/spurious_dragon/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/__init__.py +10 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/blocks.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/bloom.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/fork.py +801 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/fork_types.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/state.py +495 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/transactions.py +197 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/trie.py +491 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/address.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/hexadecimal.py +68 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/utils/message.py +78 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/__init__.py +160 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/exceptions.py +87 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/gas.py +239 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/__init__.py +330 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/arithmetic.py +373 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/bitwise.py +154 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/block.py +190 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/comparison.py +178 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/control_flow.py +171 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/environment.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/keccak.py +64 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/log.py +85 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/memory.py +141 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/stack.py +205 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/storage.py +88 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/instructions/system.py +474 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/interpreter.py +277 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/memory.py +81 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/__init__.py +28 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/ecrecover.py +63 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/identity.py +38 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/mapping.py +33 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/ripemd160.py +43 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/precompiled_contracts/sha256.py +40 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/runtime.py +67 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/tangerine_whistle/vm/stack.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/trace.py +234 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/utils/__init__.py +18 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/utils/byte.py +59 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/utils/hexadecimal.py +227 -0
- ethereum_execution-1.17.0.dev1/src/ethereum/utils/numeric.py +202 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/PKG-INFO +117 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/SOURCES.txt +766 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/dependency_links.txt +1 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/entry_points.txt +17 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/requires.txt +35 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_execution.egg-info/top_level.txt +98 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_optimized/__init__.py +76 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_optimized/fork.py +72 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_optimized/state_db.py +438 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_optimized/utils.py +27 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/__init__.py +7 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/docc.py +1070 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/__init__.py +121 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/__main__.py +6 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/b11r/__init__.py +143 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/b11r/b11r_types.py +172 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/daemon.py +186 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/__init__.py +3 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/fixture_loader.py +185 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/fork_loader.py +303 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/loaders/transaction_loader.py +208 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/statetest/__init__.py +291 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/__init__.py +333 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/env.py +278 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/evm_trace.py +377 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/t8n/t8n_types.py +380 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/evm_tools/utils.py +198 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/forks.py +303 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/__init__.py +194 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/__main__.py +12 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/glacier_forks_hygiene.py +270 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/import_hygiene.py +114 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/lint/lints/patch_hygiene.py +161 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/new_fork.py +185 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/patch_tool.py +78 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/py.typed +0 -0
- ethereum_execution-1.17.0.dev1/src/ethereum_spec_tools/sync.py +1048 -0
- ethereum_execution-1.17.0.dev1/tests/test_ethash_general.py +320 -0
- ethereum_execution-1.17.0.dev1/tests/test_genesis.py +72 -0
- ethereum_execution-1.17.0.dev1/tests/test_optimized_state.py +77 -0
- ethereum_execution-1.17.0.dev1/tests/test_rlp.py +88 -0
- ethereum_execution-1.17.0.dev1/tests/test_tools.py +171 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Creative Commons Legal Code
|
|
2
|
+
|
|
3
|
+
## CC0 1.0 Universal
|
|
4
|
+
|
|
5
|
+
> CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
|
|
6
|
+
|
|
7
|
+
Statement of Purpose
|
|
8
|
+
|
|
9
|
+
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
|
|
10
|
+
|
|
11
|
+
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
|
|
12
|
+
|
|
13
|
+
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
|
|
14
|
+
|
|
15
|
+
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
|
|
16
|
+
|
|
17
|
+
1. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
|
|
18
|
+
2. moral rights retained by the original author(s) and/or performer(s);
|
|
19
|
+
3. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
|
|
20
|
+
4. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
|
|
21
|
+
5. rights protecting the extraction, dissemination, use and reuse of data in a Work;
|
|
22
|
+
6. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
|
|
23
|
+
7. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
|
|
24
|
+
|
|
25
|
+
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
|
|
26
|
+
|
|
27
|
+
3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
|
|
28
|
+
|
|
29
|
+
4. Limitations and Disclaimers.
|
|
30
|
+
|
|
31
|
+
1. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
|
|
32
|
+
2. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
|
|
33
|
+
3. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
|
|
34
|
+
4. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
|
|
35
|
+
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ethereum-execution
|
|
3
|
+
Version: 1.17.0.dev1
|
|
4
|
+
Summary: Ethereum execution layer specification, provided as a Python package for tooling and testing
|
|
5
|
+
Home-page: https://github.com/ethereum/execution-specs
|
|
6
|
+
Classifier: License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
10
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Natural Language :: English
|
|
13
|
+
Requires-Python: >=3.10
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE.md
|
|
16
|
+
Requires-Dist: pycryptodome<4,>=3
|
|
17
|
+
Requires-Dist: coincurve<21,>=20
|
|
18
|
+
Requires-Dist: typing_extensions>=4.2
|
|
19
|
+
Requires-Dist: py-ecc<9,>=8.0.0b2
|
|
20
|
+
Requires-Dist: ethereum-types<0.3,>=0.2.1
|
|
21
|
+
Requires-Dist: ethereum-rlp<0.2,>=0.1.1
|
|
22
|
+
Provides-Extra: test
|
|
23
|
+
Requires-Dist: pytest<8,>=7.4.0; extra == "test"
|
|
24
|
+
Requires-Dist: pytest-cov<5,>=4.1.0; extra == "test"
|
|
25
|
+
Requires-Dist: pytest-xdist<4,>=3.3.1; extra == "test"
|
|
26
|
+
Requires-Dist: GitPython<3.2,>=3.1.0; extra == "test"
|
|
27
|
+
Requires-Dist: filelock<3.13,>=3.12.3; extra == "test"
|
|
28
|
+
Requires-Dist: requests; extra == "test"
|
|
29
|
+
Provides-Extra: lint
|
|
30
|
+
Requires-Dist: types-setuptools<69,>=68.1.0.1; extra == "lint"
|
|
31
|
+
Requires-Dist: isort==5.13.2; extra == "lint"
|
|
32
|
+
Requires-Dist: mypy==1.14.1; extra == "lint"
|
|
33
|
+
Requires-Dist: black==23.12.0; extra == "lint"
|
|
34
|
+
Requires-Dist: flake8==6.1.0; extra == "lint"
|
|
35
|
+
Requires-Dist: flake8-bugbear==23.12.2; extra == "lint"
|
|
36
|
+
Requires-Dist: flake8-docstrings==1.7.0; extra == "lint"
|
|
37
|
+
Requires-Dist: flake8-spellcheck==0.28.0; extra == "lint"
|
|
38
|
+
Provides-Extra: tools
|
|
39
|
+
Requires-Dist: platformdirs<5,>=4.2; extra == "tools"
|
|
40
|
+
Provides-Extra: doc
|
|
41
|
+
Requires-Dist: docc<0.3.0,>=0.2.2; extra == "doc"
|
|
42
|
+
Requires-Dist: fladrif<0.3.0,>=0.2.0; extra == "doc"
|
|
43
|
+
Provides-Extra: optimized
|
|
44
|
+
Requires-Dist: rust-pyspec-glue<0.1.0,>=0.0.9; extra == "optimized"
|
|
45
|
+
Requires-Dist: ethash<2,>=1.1.0; extra == "optimized"
|
|
46
|
+
Dynamic: license-file
|
|
47
|
+
|
|
48
|
+
# Ethereum Execution Client Specifications
|
|
49
|
+
|
|
50
|
+
[](https://www.gitpoap.io/gh/ethereum/execution-specs)
|
|
51
|
+
[](https://codecov.io/gh/ethereum/execution-specs)
|
|
52
|
+
|
|
53
|
+
## Description
|
|
54
|
+
|
|
55
|
+
This repository contains the specifications related to the Ethereum execution client, specifically the [pyspec](/src/ethereum/frontier/fork.py) and specifications for [network upgrades](/network-upgrades). The [JSON-RPC API specification](https://github.com/ethereum/execution-apis) can be found in a separate repository.
|
|
56
|
+
|
|
57
|
+
### Ethereum Protocol Releases
|
|
58
|
+
|
|
59
|
+
| Version and Code Name | Block No. | Released | Incl EIPs | Specs | Blog |
|
|
60
|
+
|-----------------------|-----------|----------|-----------|-------|-------|
|
|
61
|
+
| Cancun | 19426587 | 2024-03-13<br />(1710338135) | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) </br> [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788)</br> [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)</br> [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)</br> [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780)</br> [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md) | [Blog](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) |
|
|
62
|
+
| Shanghai | 17034870 | 2023-04-12<br/>(1681338455) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) <br/> [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) <br/> [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) <br/> [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) | [Blog](https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement) |
|
|
63
|
+
| Paris | 15537394 | 2022-09-15 | [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) <br/> [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md) | [Blog](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) |
|
|
64
|
+
| Gray Glacier | 15050000 | 2022-06-30 | [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) | [Specification](./network-upgrades/mainnet-upgrades/gray-glacier.md) | [Blog](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/) |
|
|
65
|
+
| Arrow Glacier | 13773000 | 2021-12-09 | [EIP-4345](https://eips.ethereum.org/EIPS/eip-4345) | [Specification](./network-upgrades/mainnet-upgrades/arrow-glacier.md) | [Blog](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/) |
|
|
66
|
+
| London | 12965000 | 2021-08-05 | [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) <br> [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) <br/> [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) <br/> [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) <br> [EIP-3554](https://eips.ethereum.org/EIPS/eip-3554)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) | [Blog](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/) |
|
|
67
|
+
| Berlin | 12244000 | 2021-04-15 | [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565) <br/> [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) <br/> [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) <br/> [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) | ~[HFM-2070](https://eips.ethereum.org/EIPS/eip-2070)~ <br/> [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) | [Blog](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) |
|
|
68
|
+
| Muir Glacier | 9200000 | 2020-01-02 | [EIP-2384](https://eips.ethereum.org/EIPS/eip-2384) | [HFM-2387](https://eips.ethereum.org/EIPS/eip-2387) | [Blog](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/) |
|
|
69
|
+
| Istanbul | 9069000 | 2019-12-07 | [EIP-152](https://eips.ethereum.org/EIPS/eip-152) <br/> [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108) <br/> [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344) <br/> [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) <br/> [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028) <br/> [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) | [HFM-1679](https://eips.ethereum.org/EIPS/eip-1679) | [Blog](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
|
|
70
|
+
| Petersburg | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) | [HFM-1716](https://eips.ethereum.org/EIPS/eip-1716) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
|
|
71
|
+
| Constantinople | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) <br/> [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283) | [HFM-1013](https://eips.ethereum.org/EIPS/eip-1013) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
|
|
72
|
+
| Byzantium | 4370000 | 2017-10-16 | [EIP-100](https://eips.ethereum.org/EIPS/eip-100) <br/> [EIP-140](https://eips.ethereum.org/EIPS/eip-140) <br/> [EIP-196](https://eips.ethereum.org/EIPS/eip-196) <br/> [EIP-197](https://eips.ethereum.org/EIPS/eip-197) <br/> [EIP-198](https://eips.ethereum.org/EIPS/eip-198) <br/> [EIP-211](https://eips.ethereum.org/EIPS/eip-211) <br/> [EIP-214](https://eips.ethereum.org/EIPS/eip-214) <br/> [EIP-649](https://eips.ethereum.org/EIPS/eip-649) <br/> [EIP-658](https://eips.ethereum.org/EIPS/eip-658) | [HFM-609](https://eips.ethereum.org/EIPS/eip-609) | [Blog](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/) |
|
|
73
|
+
| Spurious Dragon | 2675000 | 2016-11-22 | [EIP-155](https://eips.ethereum.org/EIPS/eip-155) <br/> [EIP-160](https://eips.ethereum.org/EIPS/eip-160) <br/> [EIP-161](https://eips.ethereum.org/EIPS/eip-161) <br/> [EIP-170](https://eips.ethereum.org/EIPS/eip-170) | [HFM-607](https://eips.ethereum.org/EIPS/eip-607) | [Blog](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/) |
|
|
74
|
+
| Tangerine Whistle | 2463000 | 2016-10-18 | [EIP-150](https://eips.ethereum.org/EIPS/eip-150) | [HFM-608](https://eips.ethereum.org/EIPS/eip-608) | [Blog](https://blog.ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/) |
|
|
75
|
+
| DAO Fork | 1920000 | 2016-07-20 | | [HFM-779](https://eips.ethereum.org/EIPS/eip-779) | [Blog](https://blog.ethereum.org/2016/07/15/to-fork-or-not-to-fork/) |
|
|
76
|
+
| DAO Wars | aborted | aborted | | | [Blog](https://blog.ethereum.org/2016/06/24/dao-wars-youre-voice-soft-fork-dilemma/) |
|
|
77
|
+
| Homestead | 1150000 | 2016-03-14 | [EIP-2](https://eips.ethereum.org/EIPS/eip-2) <br/> [EIP-7](https://eips.ethereum.org/EIPS/eip-7) <br/> [EIP-8](https://eips.ethereum.org/EIPS/eip-8) | [HFM-606](https://eips.ethereum.org/EIPS/eip-606) | [Blog](https://blog.ethereum.org/2016/02/29/homestead-release/) |
|
|
78
|
+
| Frontier Thawing | 200000 | 2015-09-07 | | | [Blog](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/) |
|
|
79
|
+
| Frontier | 1 | 2015-07-30 | | | [Blog](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/) |
|
|
80
|
+
|
|
81
|
+
*Note:* Starting with Paris, updates are no longer rolled out based on block numbers. Paris was enabled once proof-of-work Total Difficulty reached 58750000000000000000000. As of Shanghai (at 1681338455), upgrade activation is based on timestamps.
|
|
82
|
+
|
|
83
|
+
Some clarifications were enabled without protocol releases:
|
|
84
|
+
|
|
85
|
+
| EIP | Block No. |
|
|
86
|
+
|-----|-----------|
|
|
87
|
+
| [EIP-2681](https://eips.ethereum.org/EIPS/eip-2681) | 0 |
|
|
88
|
+
| [EIP-3607](https://eips.ethereum.org/EIPS/eip-3607) | 0 |
|
|
89
|
+
| [EIP-7523](https://eips.ethereum.org/EIPS/eip-7523) | 15537394 |
|
|
90
|
+
| [EIP-7610](https://github.com/ethereum/EIPs/pull/8161) | 0 |
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## Execution Specification (work-in-progress)
|
|
94
|
+
|
|
95
|
+
The execution specification is a python implementation of Ethereum that prioritizes readability and simplicity. It will accompanied by both narrative and API level documentation of the various components written in markdown and rendered using docc...
|
|
96
|
+
|
|
97
|
+
* [Rendered specification](https://ethereum.github.io/execution-specs/)
|
|
98
|
+
|
|
99
|
+
## Usage
|
|
100
|
+
|
|
101
|
+
The Ethereum specification is maintained as a Python library, for better integration with tooling and testing.
|
|
102
|
+
|
|
103
|
+
Requires Python 3.10+
|
|
104
|
+
|
|
105
|
+
### Building
|
|
106
|
+
|
|
107
|
+
Building the documentation is most easily done through [`tox`](https://tox.readthedocs.io/en/latest/):
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
$ tox -e doc
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
The path to the generated HTML will be printed to the console.
|
|
114
|
+
|
|
115
|
+
# License
|
|
116
|
+
|
|
117
|
+
The Ethereum Execution Layer Specification code is licensed under the [Creative Commons Zero v1.0 Universal](https://github.com/ethereum/execution-specs/blob/master/LICENSE.md).
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Ethereum Execution Client Specifications
|
|
2
|
+
|
|
3
|
+
[](https://www.gitpoap.io/gh/ethereum/execution-specs)
|
|
4
|
+
[](https://codecov.io/gh/ethereum/execution-specs)
|
|
5
|
+
|
|
6
|
+
## Description
|
|
7
|
+
|
|
8
|
+
This repository contains the specifications related to the Ethereum execution client, specifically the [pyspec](/src/ethereum/frontier/fork.py) and specifications for [network upgrades](/network-upgrades). The [JSON-RPC API specification](https://github.com/ethereum/execution-apis) can be found in a separate repository.
|
|
9
|
+
|
|
10
|
+
### Ethereum Protocol Releases
|
|
11
|
+
|
|
12
|
+
| Version and Code Name | Block No. | Released | Incl EIPs | Specs | Blog |
|
|
13
|
+
|-----------------------|-----------|----------|-----------|-------|-------|
|
|
14
|
+
| Cancun | 19426587 | 2024-03-13<br />(1710338135) | [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153) </br> [EIP-4788](https://eips.ethereum.org/EIPS/eip-4788)</br> [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)</br> [EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)</br> [EIP-6780](https://eips.ethereum.org/EIPS/eip-6780)</br> [EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md) | [Blog](https://blog.ethereum.org/2024/02/27/dencun-mainnet-announcement) |
|
|
15
|
+
| Shanghai | 17034870 | 2023-04-12<br/>(1681338455) | [EIP-3651](https://eips.ethereum.org/EIPS/eip-3651) <br/> [EIP-3855](https://eips.ethereum.org/EIPS/eip-3855) <br/> [EIP-3860](https://eips.ethereum.org/EIPS/eip-3860) <br/> [EIP-4895](https://eips.ethereum.org/EIPS/eip-4895) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md) | [Blog](https://blog.ethereum.org/2023/03/28/shapella-mainnet-announcement) |
|
|
16
|
+
| Paris | 15537394 | 2022-09-15 | [EIP-3675](https://eips.ethereum.org/EIPS/eip-3675) <br/> [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) | [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/paris.md) | [Blog](https://blog.ethereum.org/2022/08/24/mainnet-merge-announcement) |
|
|
17
|
+
| Gray Glacier | 15050000 | 2022-06-30 | [EIP-5133](https://eips.ethereum.org/EIPS/eip-5133) | [Specification](./network-upgrades/mainnet-upgrades/gray-glacier.md) | [Blog](https://blog.ethereum.org/2022/06/16/gray-glacier-announcement/) |
|
|
18
|
+
| Arrow Glacier | 13773000 | 2021-12-09 | [EIP-4345](https://eips.ethereum.org/EIPS/eip-4345) | [Specification](./network-upgrades/mainnet-upgrades/arrow-glacier.md) | [Blog](https://blog.ethereum.org/2021/11/10/arrow-glacier-announcement/) |
|
|
19
|
+
| London | 12965000 | 2021-08-05 | [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) <br> [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) <br/> [EIP-3529](https://eips.ethereum.org/EIPS/eip-3529) <br/> [EIP-3541](https://eips.ethereum.org/EIPS/eip-3541) <br> [EIP-3554](https://eips.ethereum.org/EIPS/eip-3554)| [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/london.md) | [Blog](https://blog.ethereum.org/2021/07/15/london-mainnet-announcement/) |
|
|
20
|
+
| Berlin | 12244000 | 2021-04-15 | [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565) <br/> [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) <br/> [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) <br/> [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) | ~[HFM-2070](https://eips.ethereum.org/EIPS/eip-2070)~ <br/> [Specification](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/berlin.md) | [Blog](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) |
|
|
21
|
+
| Muir Glacier | 9200000 | 2020-01-02 | [EIP-2384](https://eips.ethereum.org/EIPS/eip-2384) | [HFM-2387](https://eips.ethereum.org/EIPS/eip-2387) | [Blog](https://blog.ethereum.org/2019/12/23/ethereum-muir-glacier-upgrade-announcement/) |
|
|
22
|
+
| Istanbul | 9069000 | 2019-12-07 | [EIP-152](https://eips.ethereum.org/EIPS/eip-152) <br/> [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108) <br/> [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344) <br/> [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) <br/> [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028) <br/> [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) | [HFM-1679](https://eips.ethereum.org/EIPS/eip-1679) | [Blog](https://blog.ethereum.org/2019/11/20/ethereum-istanbul-upgrade-announcement/)
|
|
23
|
+
| Petersburg | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) | [HFM-1716](https://eips.ethereum.org/EIPS/eip-1716) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
|
|
24
|
+
| Constantinople | 7280000 | 2019-02-28 | [EIP-145](https://eips.ethereum.org/EIPS/eip-145) <br/> [EIP-1014](https://eips.ethereum.org/EIPS/eip-1014) <br/> [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) <br/> [EIP-1234](https://eips.ethereum.org/EIPS/eip-1234) <br/> [EIP-1283](https://eips.ethereum.org/EIPS/eip-1283) | [HFM-1013](https://eips.ethereum.org/EIPS/eip-1013) | [Blog](https://blog.ethereum.org/2019/02/22/ethereum-constantinople-st-petersburg-upgrade-announcement/) |
|
|
25
|
+
| Byzantium | 4370000 | 2017-10-16 | [EIP-100](https://eips.ethereum.org/EIPS/eip-100) <br/> [EIP-140](https://eips.ethereum.org/EIPS/eip-140) <br/> [EIP-196](https://eips.ethereum.org/EIPS/eip-196) <br/> [EIP-197](https://eips.ethereum.org/EIPS/eip-197) <br/> [EIP-198](https://eips.ethereum.org/EIPS/eip-198) <br/> [EIP-211](https://eips.ethereum.org/EIPS/eip-211) <br/> [EIP-214](https://eips.ethereum.org/EIPS/eip-214) <br/> [EIP-649](https://eips.ethereum.org/EIPS/eip-649) <br/> [EIP-658](https://eips.ethereum.org/EIPS/eip-658) | [HFM-609](https://eips.ethereum.org/EIPS/eip-609) | [Blog](https://blog.ethereum.org/2017/10/12/byzantium-hf-announcement/) |
|
|
26
|
+
| Spurious Dragon | 2675000 | 2016-11-22 | [EIP-155](https://eips.ethereum.org/EIPS/eip-155) <br/> [EIP-160](https://eips.ethereum.org/EIPS/eip-160) <br/> [EIP-161](https://eips.ethereum.org/EIPS/eip-161) <br/> [EIP-170](https://eips.ethereum.org/EIPS/eip-170) | [HFM-607](https://eips.ethereum.org/EIPS/eip-607) | [Blog](https://blog.ethereum.org/2016/11/18/hard-fork-no-4-spurious-dragon/) |
|
|
27
|
+
| Tangerine Whistle | 2463000 | 2016-10-18 | [EIP-150](https://eips.ethereum.org/EIPS/eip-150) | [HFM-608](https://eips.ethereum.org/EIPS/eip-608) | [Blog](https://blog.ethereum.org/2016/10/13/announcement-imminent-hard-fork-eip150-gas-cost-changes/) |
|
|
28
|
+
| DAO Fork | 1920000 | 2016-07-20 | | [HFM-779](https://eips.ethereum.org/EIPS/eip-779) | [Blog](https://blog.ethereum.org/2016/07/15/to-fork-or-not-to-fork/) |
|
|
29
|
+
| DAO Wars | aborted | aborted | | | [Blog](https://blog.ethereum.org/2016/06/24/dao-wars-youre-voice-soft-fork-dilemma/) |
|
|
30
|
+
| Homestead | 1150000 | 2016-03-14 | [EIP-2](https://eips.ethereum.org/EIPS/eip-2) <br/> [EIP-7](https://eips.ethereum.org/EIPS/eip-7) <br/> [EIP-8](https://eips.ethereum.org/EIPS/eip-8) | [HFM-606](https://eips.ethereum.org/EIPS/eip-606) | [Blog](https://blog.ethereum.org/2016/02/29/homestead-release/) |
|
|
31
|
+
| Frontier Thawing | 200000 | 2015-09-07 | | | [Blog](https://blog.ethereum.org/2015/08/04/the-thawing-frontier/) |
|
|
32
|
+
| Frontier | 1 | 2015-07-30 | | | [Blog](https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/) |
|
|
33
|
+
|
|
34
|
+
*Note:* Starting with Paris, updates are no longer rolled out based on block numbers. Paris was enabled once proof-of-work Total Difficulty reached 58750000000000000000000. As of Shanghai (at 1681338455), upgrade activation is based on timestamps.
|
|
35
|
+
|
|
36
|
+
Some clarifications were enabled without protocol releases:
|
|
37
|
+
|
|
38
|
+
| EIP | Block No. |
|
|
39
|
+
|-----|-----------|
|
|
40
|
+
| [EIP-2681](https://eips.ethereum.org/EIPS/eip-2681) | 0 |
|
|
41
|
+
| [EIP-3607](https://eips.ethereum.org/EIPS/eip-3607) | 0 |
|
|
42
|
+
| [EIP-7523](https://eips.ethereum.org/EIPS/eip-7523) | 15537394 |
|
|
43
|
+
| [EIP-7610](https://github.com/ethereum/EIPs/pull/8161) | 0 |
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Execution Specification (work-in-progress)
|
|
47
|
+
|
|
48
|
+
The execution specification is a python implementation of Ethereum that prioritizes readability and simplicity. It will accompanied by both narrative and API level documentation of the various components written in markdown and rendered using docc...
|
|
49
|
+
|
|
50
|
+
* [Rendered specification](https://ethereum.github.io/execution-specs/)
|
|
51
|
+
|
|
52
|
+
## Usage
|
|
53
|
+
|
|
54
|
+
The Ethereum specification is maintained as a Python library, for better integration with tooling and testing.
|
|
55
|
+
|
|
56
|
+
Requires Python 3.10+
|
|
57
|
+
|
|
58
|
+
### Building
|
|
59
|
+
|
|
60
|
+
Building the documentation is most easily done through [`tox`](https://tox.readthedocs.io/en/latest/):
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
$ tox -e doc
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The path to the generated HTML will be printed to the console.
|
|
67
|
+
|
|
68
|
+
# License
|
|
69
|
+
|
|
70
|
+
The Ethereum Execution Layer Specification code is licensed under the [Creative Commons Zero v1.0 Universal](https://github.com/ethereum/execution-specs/blob/master/LICENSE.md).
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[tool.isort]
|
|
6
|
+
profile = "black"
|
|
7
|
+
multi_line_output = 3
|
|
8
|
+
line_length = 79
|
|
9
|
+
|
|
10
|
+
[tool.black]
|
|
11
|
+
line-length = 79
|
|
12
|
+
|
|
13
|
+
[tool.pytest.ini_options]
|
|
14
|
+
markers = [
|
|
15
|
+
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
16
|
+
"bigmem: marks tests as big memory (deselect with '-m \"not bigmem\"')",
|
|
17
|
+
"evm_tools: marks tests as evm_tools (deselect with '-m \"not evm_tools\"')",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
[tool.coverage.run]
|
|
21
|
+
omit = [
|
|
22
|
+
"*/ethereum/*_glacier/*",
|
|
23
|
+
"*/ethereum/dao_fork/*",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[tool.docc]
|
|
27
|
+
context = [
|
|
28
|
+
"docc.references.context",
|
|
29
|
+
"docc.search.context",
|
|
30
|
+
"docc.html.context",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
discovery = [
|
|
34
|
+
"docc.search.discover",
|
|
35
|
+
"docc.html.discover",
|
|
36
|
+
"docc.python.discover",
|
|
37
|
+
"ethereum_spec_tools.docc.discover",
|
|
38
|
+
"docc.listing.discover",
|
|
39
|
+
"docc.files.discover",
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
build = [
|
|
43
|
+
"docc.search.build",
|
|
44
|
+
"ethereum_spec_tools.docc.build",
|
|
45
|
+
"docc.files.build",
|
|
46
|
+
"docc.listing.build",
|
|
47
|
+
"docc.resources.build",
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
transform = [
|
|
51
|
+
"docc.python.transform",
|
|
52
|
+
"docc.verbatim.transform",
|
|
53
|
+
"docc.mistletoe.transform",
|
|
54
|
+
"docc.mistletoe.reference",
|
|
55
|
+
"ethereum_spec_tools.docc.fix-indexes",
|
|
56
|
+
"ethereum_spec_tools.docc.minimize-diffs",
|
|
57
|
+
"docc.references.index",
|
|
58
|
+
"docc.search.transform",
|
|
59
|
+
"docc.html.transform",
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
[tool.docc.plugins."docc.python.transform"]
|
|
63
|
+
excluded_references = [
|
|
64
|
+
"ethereum_spec_tools.lint.lints", # This is a namespace package.
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
[tool.docc.plugins."docc.python.discover"]
|
|
68
|
+
paths = [
|
|
69
|
+
"src",
|
|
70
|
+
]
|
|
71
|
+
|
|
72
|
+
excluded_paths = [
|
|
73
|
+
"src/ethereum_optimized",
|
|
74
|
+
"src/ethereum_spec_tools",
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
[tool.docc.plugins."docc.html.context"]
|
|
78
|
+
extra_css = [
|
|
79
|
+
"static/custom.css",
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
[tool.docc.plugins."docc.files.discover"]
|
|
83
|
+
files = [
|
|
84
|
+
"static/custom.css",
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
[tool.docc.output]
|
|
88
|
+
path = "docs"
|
|
89
|
+
extension = ".html"
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = ethereum-execution
|
|
3
|
+
description = Ethereum execution layer specification, provided as a Python package for tooling and testing
|
|
4
|
+
long_description = file: README.md
|
|
5
|
+
long_description_content_type = text/markdown
|
|
6
|
+
version = attr: ethereum.__version__
|
|
7
|
+
url = https://github.com/ethereum/execution-specs
|
|
8
|
+
license_files =
|
|
9
|
+
LICENSE.md
|
|
10
|
+
classifiers =
|
|
11
|
+
License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
|
12
|
+
Programming Language :: Python :: 3
|
|
13
|
+
Programming Language :: Python :: 3.10
|
|
14
|
+
Programming Language :: Python :: Implementation :: PyPy
|
|
15
|
+
Programming Language :: Python :: Implementation :: CPython
|
|
16
|
+
Intended Audience :: Developers
|
|
17
|
+
Natural Language :: English
|
|
18
|
+
|
|
19
|
+
[options]
|
|
20
|
+
packages =
|
|
21
|
+
ethereum_spec_tools
|
|
22
|
+
ethereum_spec_tools/evm_tools
|
|
23
|
+
ethereum_spec_tools/evm_tools/t8n
|
|
24
|
+
ethereum_spec_tools/evm_tools/b11r
|
|
25
|
+
ethereum_spec_tools/evm_tools/statetest
|
|
26
|
+
ethereum_spec_tools/evm_tools/loaders
|
|
27
|
+
ethereum_spec_tools/lint
|
|
28
|
+
ethereum_spec_tools/lint/lints
|
|
29
|
+
ethereum
|
|
30
|
+
ethereum/frontier
|
|
31
|
+
ethereum/frontier/utils
|
|
32
|
+
ethereum/frontier/vm
|
|
33
|
+
ethereum/frontier/vm/instructions
|
|
34
|
+
ethereum/frontier/vm/precompiled_contracts
|
|
35
|
+
ethereum/utils
|
|
36
|
+
ethereum/crypto
|
|
37
|
+
ethereum_optimized/
|
|
38
|
+
ethereum/homestead
|
|
39
|
+
ethereum/homestead/utils
|
|
40
|
+
ethereum/homestead/vm
|
|
41
|
+
ethereum/homestead/vm/instructions
|
|
42
|
+
ethereum/homestead/vm/precompiled_contracts
|
|
43
|
+
ethereum/dao_fork
|
|
44
|
+
ethereum/dao_fork/utils
|
|
45
|
+
ethereum/dao_fork/vm
|
|
46
|
+
ethereum/dao_fork/vm/instructions
|
|
47
|
+
ethereum/dao_fork/vm/precompiled_contracts
|
|
48
|
+
ethereum/tangerine_whistle
|
|
49
|
+
ethereum/tangerine_whistle/utils
|
|
50
|
+
ethereum/tangerine_whistle/vm
|
|
51
|
+
ethereum/tangerine_whistle/vm/instructions
|
|
52
|
+
ethereum/tangerine_whistle/vm/precompiled_contracts
|
|
53
|
+
ethereum/spurious_dragon
|
|
54
|
+
ethereum/spurious_dragon/utils
|
|
55
|
+
ethereum/spurious_dragon/vm
|
|
56
|
+
ethereum/spurious_dragon/vm/instructions
|
|
57
|
+
ethereum/spurious_dragon/vm/precompiled_contracts
|
|
58
|
+
ethereum/byzantium
|
|
59
|
+
ethereum/byzantium/utils
|
|
60
|
+
ethereum/byzantium/vm
|
|
61
|
+
ethereum/byzantium/vm/instructions
|
|
62
|
+
ethereum/byzantium/vm/precompiled_contracts
|
|
63
|
+
ethereum/constantinople
|
|
64
|
+
ethereum/constantinople/utils
|
|
65
|
+
ethereum/constantinople/vm
|
|
66
|
+
ethereum/constantinople/vm/instructions
|
|
67
|
+
ethereum/constantinople/vm/precompiled_contracts
|
|
68
|
+
ethereum/istanbul
|
|
69
|
+
ethereum/istanbul/utils
|
|
70
|
+
ethereum/istanbul/vm
|
|
71
|
+
ethereum/istanbul/vm/instructions
|
|
72
|
+
ethereum/istanbul/vm/precompiled_contracts
|
|
73
|
+
ethereum/muir_glacier
|
|
74
|
+
ethereum/muir_glacier/utils
|
|
75
|
+
ethereum/muir_glacier/vm
|
|
76
|
+
ethereum/muir_glacier/vm/instructions
|
|
77
|
+
ethereum/muir_glacier/vm/precompiled_contracts
|
|
78
|
+
ethereum/berlin
|
|
79
|
+
ethereum/berlin/utils
|
|
80
|
+
ethereum/berlin/vm
|
|
81
|
+
ethereum/berlin/vm/instructions
|
|
82
|
+
ethereum/berlin/vm/precompiled_contracts
|
|
83
|
+
ethereum/london
|
|
84
|
+
ethereum/london/utils
|
|
85
|
+
ethereum/london/vm
|
|
86
|
+
ethereum/london/vm/instructions
|
|
87
|
+
ethereum/london/vm/precompiled_contracts
|
|
88
|
+
ethereum/arrow_glacier
|
|
89
|
+
ethereum/arrow_glacier/utils
|
|
90
|
+
ethereum/arrow_glacier/vm
|
|
91
|
+
ethereum/arrow_glacier/vm/instructions
|
|
92
|
+
ethereum/arrow_glacier/vm/precompiled_contracts
|
|
93
|
+
ethereum/gray_glacier
|
|
94
|
+
ethereum/gray_glacier/utils
|
|
95
|
+
ethereum/gray_glacier/vm
|
|
96
|
+
ethereum/gray_glacier/vm/instructions
|
|
97
|
+
ethereum/gray_glacier/vm/precompiled_contracts
|
|
98
|
+
ethereum/paris
|
|
99
|
+
ethereum/paris/utils
|
|
100
|
+
ethereum/paris/vm
|
|
101
|
+
ethereum/paris/vm/instructions
|
|
102
|
+
ethereum/paris/vm/precompiled_contracts
|
|
103
|
+
ethereum/shanghai
|
|
104
|
+
ethereum/shanghai/utils
|
|
105
|
+
ethereum/shanghai/vm
|
|
106
|
+
ethereum/shanghai/vm/instructions
|
|
107
|
+
ethereum/shanghai/vm/precompiled_contracts
|
|
108
|
+
ethereum/cancun
|
|
109
|
+
ethereum/cancun/utils
|
|
110
|
+
ethereum/cancun/vm
|
|
111
|
+
ethereum/cancun/vm/instructions
|
|
112
|
+
ethereum/cancun/vm/precompiled_contracts
|
|
113
|
+
ethereum/prague
|
|
114
|
+
ethereum/prague/utils
|
|
115
|
+
ethereum/prague/vm
|
|
116
|
+
ethereum/prague/vm/instructions
|
|
117
|
+
ethereum/prague/vm/precompiled_contracts
|
|
118
|
+
ethereum/prague/vm/precompiled_contracts/bls12_381
|
|
119
|
+
package_dir =
|
|
120
|
+
=src
|
|
121
|
+
python_requires = >=3.10
|
|
122
|
+
install_requires =
|
|
123
|
+
pycryptodome>=3,<4
|
|
124
|
+
coincurve>=20,<21
|
|
125
|
+
typing_extensions>=4.2
|
|
126
|
+
py-ecc>=8.0.0b2,<9
|
|
127
|
+
ethereum-types>=0.2.1,<0.3
|
|
128
|
+
ethereum-rlp>=0.1.1,<0.2
|
|
129
|
+
|
|
130
|
+
[options.package_data]
|
|
131
|
+
ethereum =
|
|
132
|
+
py.typed
|
|
133
|
+
assets/mainnet.json
|
|
134
|
+
assets/mainnet_genesis_alloc_rlp.hex
|
|
135
|
+
assets/cache_sizes_2048_epochs.json
|
|
136
|
+
assets/dataset_sizes_2048_epochs.json
|
|
137
|
+
assets/blocks/block_1.json
|
|
138
|
+
assets/blocks/block_1234567.json
|
|
139
|
+
assets/blocks/block_12964999.json
|
|
140
|
+
ethereum_spec_tools =
|
|
141
|
+
py.typed
|
|
142
|
+
|
|
143
|
+
[options.entry_points]
|
|
144
|
+
console_scripts =
|
|
145
|
+
ethereum-spec-lint = ethereum_spec_tools.lint:main
|
|
146
|
+
ethereum-spec-sync = ethereum_spec_tools.sync:main
|
|
147
|
+
ethereum-spec-new-fork = ethereum_spec_tools.new_fork:main
|
|
148
|
+
ethereum-spec-patch = ethereum_spec_tools.patch_tool:main
|
|
149
|
+
ethereum-spec-evm = ethereum_spec_tools.evm_tools:main
|
|
150
|
+
docc.plugins =
|
|
151
|
+
ethereum_spec_tools.docc.discover = ethereum_spec_tools.docc:EthereumDiscover
|
|
152
|
+
ethereum_spec_tools.docc.build = ethereum_spec_tools.docc:EthereumBuilder
|
|
153
|
+
ethereum_spec_tools.docc.fix-indexes = ethereum_spec_tools.docc:FixIndexTransform
|
|
154
|
+
ethereum_spec_tools.docc.minimize-diffs = ethereum_spec_tools.docc:MinimizeDiffsTransform
|
|
155
|
+
docc.plugins.html =
|
|
156
|
+
ethereum_spec_tools.docc:DiffNode = ethereum_spec_tools.docc:render_diff
|
|
157
|
+
ethereum_spec_tools.docc:BeforeNode = ethereum_spec_tools.docc:render_before_after
|
|
158
|
+
ethereum_spec_tools.docc:AfterNode = ethereum_spec_tools.docc:render_before_after
|
|
159
|
+
|
|
160
|
+
[options.extras_require]
|
|
161
|
+
test =
|
|
162
|
+
pytest>=7.4.0,<8
|
|
163
|
+
pytest-cov>=4.1.0,<5
|
|
164
|
+
pytest-xdist>=3.3.1,<4
|
|
165
|
+
GitPython>=3.1.0,<3.2
|
|
166
|
+
filelock>=3.12.3,<3.13
|
|
167
|
+
requests
|
|
168
|
+
lint =
|
|
169
|
+
types-setuptools>=68.1.0.1,<69
|
|
170
|
+
isort==5.13.2
|
|
171
|
+
mypy==1.14.1
|
|
172
|
+
black==23.12.0
|
|
173
|
+
flake8==6.1.0
|
|
174
|
+
flake8-bugbear==23.12.2
|
|
175
|
+
flake8-docstrings==1.7.0
|
|
176
|
+
flake8-spellcheck==0.28.0
|
|
177
|
+
tools =
|
|
178
|
+
platformdirs>=4.2,<5
|
|
179
|
+
doc =
|
|
180
|
+
docc>=0.2.2,<0.3.0
|
|
181
|
+
fladrif>=0.2.0,<0.3.0
|
|
182
|
+
optimized =
|
|
183
|
+
rust-pyspec-glue>=0.0.9,<0.1.0
|
|
184
|
+
ethash>=1.1.0,<2
|
|
185
|
+
|
|
186
|
+
[flake8]
|
|
187
|
+
dictionaries = en_US,python,technical
|
|
188
|
+
docstring-convention = all
|
|
189
|
+
extend-ignore =
|
|
190
|
+
E203
|
|
191
|
+
D107
|
|
192
|
+
D200
|
|
193
|
+
D203
|
|
194
|
+
D205
|
|
195
|
+
D212
|
|
196
|
+
D400
|
|
197
|
+
D401
|
|
198
|
+
D410
|
|
199
|
+
D411
|
|
200
|
+
D412
|
|
201
|
+
D413
|
|
202
|
+
D414
|
|
203
|
+
D415
|
|
204
|
+
D416
|
|
205
|
+
extend-exclude =
|
|
206
|
+
setup.py
|
|
207
|
+
doc/
|
|
208
|
+
tests/fixtures/
|
|
209
|
+
per-file-ignores =
|
|
210
|
+
tests/*:D100,D101,D103,D104,E501,SC100,SC200
|
|
211
|
+
|
|
212
|
+
[egg_info]
|
|
213
|
+
tag_build =
|
|
214
|
+
tag_date = 0
|
|
215
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
### Introduction
|
|
3
|
+
|
|
4
|
+
Seeing as internet connections have been vastly expanding across the
|
|
5
|
+
world, spreading information has become as cheap as ever. Bitcoin, for
|
|
6
|
+
example, has demonstrated the possibility of creating a decentralized,
|
|
7
|
+
trade system that is accessible around the world. Namecoin is another
|
|
8
|
+
system that built off of Bitcoin's currency structure to create other
|
|
9
|
+
simple technological applications.
|
|
10
|
+
|
|
11
|
+
Ethereum's goal is to create a cryptographically secure system in which
|
|
12
|
+
any and all types of transaction-based concepts can be built. It provides
|
|
13
|
+
an exceptionally accessible and decentralized system to build software
|
|
14
|
+
and execute transactions.
|
|
15
|
+
|
|
16
|
+
This package contains a reference implementation, written as simply as
|
|
17
|
+
possible, to aid in defining the behavior of Ethereum clients.
|
|
18
|
+
"""
|
|
19
|
+
import sys
|
|
20
|
+
|
|
21
|
+
__version__ = "1.17.0.dev1"
|
|
22
|
+
|
|
23
|
+
#
|
|
24
|
+
# Ensure we can reach 1024 frames of recursion
|
|
25
|
+
#
|
|
26
|
+
EVM_RECURSION_LIMIT = 1024 * 12
|
|
27
|
+
sys.setrecursionlimit(max(EVM_RECURSION_LIMIT, sys.getrecursionlimit()))
|