Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ grep -hoR --include="*.bats" 'test_tags=[^ ]*' . | sed 's/.*test_tags=//' | tr '
- agglayer-cert
- agglayer-nonce
- agglayer-rpc
- basefee
- block-header
- bor-specific
- bor-system-contracts
Expand All @@ -263,6 +264,7 @@ grep -hoR --include="*.bats" 'test_tags=[^ ]*' . | sed 's/.*test_tags=//' | tr '
- eip3855
- eip5656
- eip6780
- eip7939
- equal-stake
- erc-4337
- evm-block
Expand All @@ -278,6 +280,7 @@ grep -hoR --include="*.bats" 'test_tags=[^ ]*' . | sed 's/.*test_tags=//' | tr '
- gnosis-safe
- hv2
- katana
- lisovo
- liveness
- loadtest
- mrc20
Expand All @@ -295,11 +298,14 @@ grep -hoR --include="*.bats" 'test_tags=[^ ]*' . | sed 's/.*test_tags=//' | tr '
- pip58
- pip6
- pip74
- pip79
- pip80
- pos
- pos-delegate
- pos-precompile
- pos-undelegate
- pos-validator
- precompile
- precompile-fuzz
- prune
- railgun
Expand All @@ -308,6 +314,7 @@ grep -hoR --include="*.bats" 'test_tags=[^ ]*' . | sed 's/.*test_tags=//' | tr '
- stake-agnostic
- state-receiver
- state-sync
- stress
- system-contract
- transaction-eoa
- transaction-erc20
Expand Down
46 changes: 46 additions & 0 deletions TESTSINVENTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ Table of tests currently implemented or being implemented in the E2E repository.
| ADDMOD and MULMOD compute correctly | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L964) | |
| ADDRESS returns the contract's own address | [Link](./tests/pos/execution-specs/evm-opcodes-cancun-shanghai-eips.bats#L301) | |
| BASEFEE opcode matches block baseFeePerGas | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L718) | |
| BASEFEE opcode returns value matching block header baseFeePerGas | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L462) | |
| BLOCKHASH(0) returns zero on Bor (genesis hash not available) | [Link](./tests/pos/execution-specs/bor-chain-specific-evm-behavior.bats#L18) | |
| BYTE opcode extracts correct byte from word | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L915) | |
| Bor produces blocks on approximately 2-second sprint cadence | [Link](./tests/pos/execution-specs/bor-chain-specific-evm-behavior.bats#L237) | |
Expand All @@ -168,6 +169,28 @@ Table of tests currently implemented or being implemented in the E2E repository.
| CALL with value to non-existent account skips G_NEW_ACCOUNT on Bor | [Link](./tests/pos/execution-specs/bor-chain-specific-evm-behavior.bats#L57) | |
| CALLDATASIZE returns correct input length | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L866) | |
| CHAINID returns the correct chain ID (EIP-1344) | [Link](./tests/pos/execution-specs/evm-opcodes-cancun-shanghai-eips.bats#L282) | |
| CLZ applied twice gives correct result | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L636) | |
| CLZ gas cost matches MUL (both cost 5 gas) | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L345) | |
| CLZ ignores trailing bits — only leading zeros matter | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L270) | |
| CLZ inside STATICCALL does not modify state | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L556) | |
| CLZ is cheaper than computing leading zeros via binary search | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L388) | |
| CLZ of alternating bit patterns | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L289) | |
| CLZ of consecutive values near power-of-2 boundary | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L593) | |
| CLZ of value with only the lowest bit set in each byte | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L622) | |
| CLZ opcode is active (feature probe) | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L113) | |
| CLZ result can be used by subsequent arithmetic (CLZ + SHR roundtrip) | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L441) | |
| CLZ returns correct values for all single-byte powers of 2 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L225) | |
| CLZ returns correct values for powers of 2 across byte boundaries | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L243) | |
| CLZ with leading zero bytes followed by non-zero byte | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L313) | |
| CLZ works correctly inside CALL context | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L487) | |
| CLZ works correctly inside DELEGATECALL context | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L525) | |
| CLZ(0) returns 256 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L150) | |
| CLZ(0x7FFF...FFFF) returns 1 — all bits set except MSB | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L213) | |
| CLZ(1) returns 255 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L160) | |
| CLZ(2) returns 254 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L170) | |
| CLZ(2^254) returns 1 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L202) | |
| CLZ(2^255) returns 0 — highest bit set | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L191) | |
| CLZ(max uint256) returns 0 | [Link](./tests/pos/execution-specs/eip7939-clz-count-leading-zeros.bats#L180) | |
| CODESIZE returns correct runtime size | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L818) | |
| COINBASE opcode returns block miner address | [Link](./tests/pos/execution-specs/evm-opcode-storage-and-call-correctness.bats#L546) | |
| CREATE deploys to the address predicted by cast compute-address | [Link](./tests/pos/execution-specs/transaction-balance-nonce-and-replay-invariants.bats#L82) | |
Expand Down Expand Up @@ -198,6 +221,22 @@ Table of tests currently implemented or being implemented in the E2E repository.
| Nonce-too-low rejection | [Link](./tests/pos/execution-specs/transaction-balance-nonce-and-replay-invariants.bats#L570) | |
| OOG during code-deposit phase fails the creation | [Link](./tests/pos/execution-specs/contract-creation-and-deployment-limits.bats#L352) | |
| ORIGIN returns the transaction sender EOA | [Link](./tests/pos/execution-specs/evm-opcodes-cancun-shanghai-eips.bats#L320) | |
| P256 Wycheproof test vector #1 (signature malleability) verifies correctly | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L492) | |
| P256 Wycheproof test vector #60 (Shamir edge case) verifies correctly | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L523) | |
| P256 all-zero input returns empty (invalid point) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L173) | |
| P256 empty input returns empty output | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L113) | |
| P256 extra input bytes beyond 160 are ignored (still verifies) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L152) | |
| P256 invalid input still consumes gas (no gas refund on failure) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L395) | |
| P256 invalid signature returns empty output | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L85) | |
| P256 point not on curve returns empty | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L246) | |
| P256 precompile callable from a deployed contract via STATICCALL | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L582) | |
| P256 precompile gas cost is 6900 (PIP-80 doubled from 3450) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L273) | |
| P256 precompile is active at 0x0100 | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L55) | |
| P256 r=0 returns empty (r must be in range 1..n-1) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L197) | |
| P256 s=0 returns empty (s must be in range 1..n-1) | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L222) | |
| P256 truncated input (less than 160 bytes) returns empty output | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L131) | |
| P256 valid signature returns 1 | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L70) | |
| P256 wrong public key for valid signature returns empty | [Link](./tests/pos/execution-specs/pip80-p256-precompile-gas-adjustment.bats#L551) | |
| PIP-11: eth_getBlockByNumber 'finalized' returns a valid block | [Link](./tests/pos/execution-specs/pip11-deterministic-finality-milestones.bats#L17) | |
| PIP-11: finalized block advances as new blocks are produced | [Link](./tests/pos/execution-specs/pip11-deterministic-finality-milestones.bats#L98) | |
| PIP-11: finalized block number is less than or equal to latest block number | [Link](./tests/pos/execution-specs/pip11-deterministic-finality-milestones.bats#L58) | |
Expand All @@ -218,6 +257,7 @@ Table of tests currently implemented or being implemented in the E2E repository.
| PIP-74: StateSyncTx has expected fields (from, to, input) | [Link](./tests/pos/execution-specs/pip74-canonical-state-sync-transactions.bats#L68) | |
| PIP-74: blocks with transactions include StateSyncTx in transactionsRoot | [Link](./tests/pos/execution-specs/pip74-canonical-state-sync-transactions.bats#L126) | |
| PIP-74: scan recent blocks for StateSyncTx (type 0x7F) transactions | [Link](./tests/pos/execution-specs/pip74-canonical-state-sync-transactions.bats#L33) | |
| PIP-79 active: baseFee deviates from old deterministic formula (Lisovo only) | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L98) | |
| PUSH0 pushes zero onto the stack (EIP-3855) | [Link](./tests/pos/execution-specs/evm-opcodes-cancun-shanghai-eips.bats#L60) | |
| Parent hash chain integrity across 5 blocks | [Link](./tests/pos/execution-specs/rpc-method-conformance-and-validation.bats#L903) | |
| RETURNDATACOPY copies callee return data correctly | [Link](./tests/pos/execution-specs/evm-opcodes-cancun-shanghai-eips.bats#L388) | |
Expand Down Expand Up @@ -249,6 +289,11 @@ Table of tests currently implemented or being implemented in the E2E repository.
| add new validator | [Link](./tests/pos/validator.bats#L20) | |
| all-opcode liveness smoke: deploy contracts exercising major opcode groups | [Link](./tests/pos/execution-specs/evm-transaction-fuzzing-and-liveness.bats#L896) | |
| base fee adjusts between blocks following EIP-1559 dynamics | [Link](./tests/pos/execution-specs/bor-chain-specific-evm-behavior.bats#L272) | |
| base fee is present and positive on all recent blocks (PIP-79 invariant) | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L62) | |
| baseFee change rate is tighter than Ethereum mainnet (max ±5% vs ±12.5%) | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L234) | |
| baseFee does not diverge over a long block range | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L372) | |
| baseFee stays within ±5% bounds under transaction load | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L295) | |
| baseFeePerGas field exists in block headers | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L435) | |
| batch JSON-RPC returns array of matching results | [Link](./tests/pos/execution-specs/rpc-method-conformance-and-validation.bats#L678) | |
| batch JSON-RPC under concurrent load: 50 concurrent batch requests | [Link](./tests/pos/execution-specs/rpc-concurrent-load-and-stress.bats#L483) | |
| block coinbase (miner field) is zero address on Bor | [Link](./tests/pos/execution-specs/bor-chain-specific-evm-behavior.bats#L103) | |
Expand All @@ -263,6 +308,7 @@ Table of tests currently implemented or being implemented in the E2E repository.
| bridge some ERC20 tokens from L1 to L2 and confirm L2 ERC20 balance increased | [Link](./tests/pos/bridge.bats#L95) | |
| coinbase balance increases by at least the priority fee portion of gas cost | [Link](./tests/pos/execution-specs/transaction-balance-nonce-and-replay-invariants.bats#L318) | |
| concurrent write/read race: tx submissions and state reads do not interfere | [Link](./tests/pos/execution-specs/rpc-concurrent-load-and-stress.bats#L248) | |
| consecutive block baseFees are within ±5% of each other | [Link](./tests/pos/execution-specs/pip79-bounded-basefee-validation.bats#L183) | |
| contract-to-contract call fuzz: CALL/STATICCALL/DELEGATECALL | [Link](./tests/pos/execution-specs/evm-transaction-fuzzing-and-liveness.bats#L792) | |
| delegate MATIC/POL to a validator | [Link](./tests/pos/validator.bats#L181) | |
| deploy contract that returns 24577 runtime bytes is rejected by EIP-170 | [Link](./tests/pos/execution-specs/contract-creation-and-deployment-limits.bats#L124) | |
Expand Down
Loading