Skip to content

test_genesis_full_branch_arity_sixteen()

Documentation for tests/mpt/test_account_trie_structure.py::test_genesis_full_branch_arity_sixteen@02aafd78.

Generate fixtures for these test cases for Bogota with:

fill -v tests/mpt/test_account_trie_structure.py::test_genesis_full_branch_arity_sixteen --fork Bogota

Sixteen funded addresses sharing four nibbles fill one branch.

pre: .. -> branch@4 -> {16 x leaf} post: unchanged (an unrelated transfer)

Source code in tests/mpt/test_account_trie_structure.py
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
def test_genesis_full_branch_arity_sixteen(
    state_test: StateTestFiller, pre: Alloc
) -> None:
    """
    Sixteen funded addresses sharing four nibbles fill one branch.

    pre:  .. -> branch@4 -> {16 x leaf}
    post: unchanged (an unrelated transfer)
    """
    addresses = [Address(x) for x in SIXTEEN_ADDRS_BRANCH4]
    for i, address in enumerate(addresses):
        pre.fund_address(address, amount=i + 1)
    sender, recipient = pre.fund_eoa(), pre.fund_eoa(amount=1)
    assert node_at(account_shape(pre, addresses[0]), 4) == ("branch", 16)

    state_test(
        pre=pre,
        tx=Transaction(sender=sender, to=recipient),
        post={a: Account(balance=i + 1) for i, a in enumerate(addresses)},
    )

Parametrized Test Cases

This test generates 1 parametrized test case across 3 forks.