Skip to content

test_genesis_extension_and_branch()

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

Generate fixtures for these test cases for Bogota with:

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

Two funded addresses sharing four nibbles sit under one branch.

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

Source code in tests/mpt/test_account_trie_structure.py
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
def test_genesis_extension_and_branch(
    state_test: StateTestFiller, pre: Alloc
) -> None:
    """
    Two funded addresses sharing four nibbles sit under one branch.

    pre:  .. -> branch@4 -> {leaf, leaf}
    post: unchanged (an unrelated transfer)
    """
    a, b = (Address(x) for x in TWO_ADDRS_EXT4)
    pre.fund_address(a, amount=1)
    pre.fund_address(b, amount=2)
    sender, recipient = pre.fund_eoa(), pre.fund_eoa(amount=1)
    assert node_at(account_shape(pre, a), 4) == ("branch", 2)

    state_test(
        pre=pre,
        tx=Transaction(sender=sender, to=recipient),
        post={a: Account(balance=1), b: Account(balance=2)},
    )

Parametrized Test Cases

This test generates 1 parametrized test case across 3 forks.