test_value_moving_transactions()¶
Documentation for tests/amsterdam/eip2780_reduce_intrinsic_tx_gas/test_value_moving_transactions.py::test_value_moving_transactions@87aba1a3.
Generate fixtures for these test cases for Amsterdam with:
fill -v tests/amsterdam/eip2780_reduce_intrinsic_tx_gas/test_value_moving_transactions.py::test_value_moving_transactions --fork Amsterdam
Ensure value-moving transactions charge gas correctly across every non-create recipient type.
Self-transfers are carved out: the sender pays only the recipient
-access-free intrinsic and the value is moved to itself, so the
sender's post-tx balance reflects only gas. Pre-existing 7702
delegations on the recipient surface as an extra top-frame
COLD_ACCOUNT_ACCESS; empty recipients trigger the top-frame
NEW_ACCOUNT state charge when value is transferred.
The EIP-7708 transfer log is asserted to fire exactly when
TRANSFER_LOG_COST is charged: for a non-self value transfer,
and never for a self-transfer (carve-out) or a zero-value tx.
Source code in tests/amsterdam/eip2780_reduce_intrinsic_tx_gas/test_value_moving_transactions.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | |
Parametrized Test Cases¶
This test generates 10 parametrized test cases across 1 fork.