test_selfdestruct_mainnet()
Documentation for tests/amsterdam/eip7708_eth_transfer_logs/test_eip_mainnet.py::test_selfdestruct_mainnet@ffe48572.
Generate fixtures for these test cases for Amsterdam with:
fill -v tests/amsterdam/eip7708_eth_transfer_logs/test_eip_mainnet.py::test_selfdestruct_mainnet --fork Amsterdam
Test that SELFDESTRUCT emits a transfer log on mainnet.
Source code in tests/amsterdam/eip7708_eth_transfer_logs/test_eip_mainnet.py
| def test_selfdestruct_mainnet(
state_test: StateTestFiller,
pre: Alloc,
fork: Fork,
) -> None:
"""Test that SELFDESTRUCT emits a transfer log on mainnet."""
sender = pre.fund_eoa()
beneficiary = pre.nonexistent_account()
contract_code = Op.SELFDESTRUCT(beneficiary)
contract = pre.deploy_contract(contract_code, balance=500)
gas_limit = 100_000
if fork.is_eip_enabled(8037):
gas_limit = 500_000
tx = Transaction(
ty=0x02,
sender=sender,
to=contract,
value=0,
gas_limit=gas_limit,
expected_receipt=TransactionReceipt(
logs=[transfer_log(contract, beneficiary, 500)]
),
)
post = {beneficiary: Account(balance=500)}
state_test(pre=pre, post=post, tx=tx)
|
Parametrized Test Cases
This test generates 1 parametrized test case across 1 fork.