test_large_amount()
Documentation for tests/shanghai/eip4895_withdrawals/test_withdrawals.py::test_large_amount@ffe48572.
Generate fixtures for these test cases for Bogota with:
fill -v tests/shanghai/eip4895_withdrawals/test_withdrawals.py::test_large_amount --fork Bogota
Test withdrawals that have a large gwei amount.
Test such that that (gwei * 1e9) could overflow uint64 but not uint256.
Source code in tests/shanghai/eip4895_withdrawals/test_withdrawals.py
| @pytest.mark.xdist_group(name="bigmem")
def test_large_amount(
blockchain_test: BlockchainTestFiller,
pre: Alloc,
) -> None:
"""
Test withdrawals that have a large gwei amount.
Test such that that (gwei * 1e9) could overflow uint64 but not uint256.
"""
withdrawals: List[Withdrawal] = []
amounts: List[int] = [
(2**35),
(2**64) - 1,
(2**63) + 1,
(2**63),
(2**63) - 1,
]
post = {}
for i, amount in enumerate(amounts):
addr = pre.fund_eoa(0)
withdrawals.append(
Withdrawal(
index=i,
validator_index=i,
address=addr,
amount=amount,
)
)
post[addr] = Account(balance=(amount * ONE_GWEI))
blocks = [
Block(
withdrawals=withdrawals,
)
]
blockchain_test(pre=pre, post=post, blocks=blocks)
|
Parametrized Test Cases
This test generates 1 parametrized test case across 6 forks.