Test Withdrawals Trie Structure¶
Documentation for tests/mpt/test_withdrawals_trie_structure.py@ffe48572.
Generate fixtures for these test cases for Bogota with:
Exercise Merkle Patricia Trie node embedding via the withdrawals trie.
The withdrawals trie is unsecured (keys are rlp(index)) and its leaves
are tiny, so realistic payloads straddle the 32-byte inlining threshold
naturally: no preimage mining is needed. With at most 16 withdrawals per
block the trie has exactly three shapes: one entry is a root leaf, two
entries a root branch with two one-nibble leaves, three to sixteen a root
branch whose nibble-0 child is a branch of empty-path leaves. Growing
amount by one RLP byte moves a leaf from inlined to hashed.
Test Functions Overview¶
| Name | Type | Cases (Bogota) | Description |
|---|---|---|---|
test_single_small_withdrawal_root_is_hashed |
blockchain_test | 1 | One 100 Gwei withdrawal: the whole trie is a 30-byte leaf. |
test_withdrawal_branch_mixes_embedded_and_hashed |
blockchain_test | 2 | Three or sixteen withdrawals; odd indices inline, even ones hashed. |
test_withdrawal_leaf_embedding_boundary |
blockchain_test | 3 | Two withdrawals whose leaves are exactly 31, 32 or 33 bytes. |