Commit 3577c5b
authored
fix(anvil): properly execute Tempo tx requests (#15857)
* fix(anvil): properly execute Tempo tx requests
Route parsed transaction requests through network-specific call
environments
so Tempo AA requests retain their complete call batches across eth_call,
estimation, access-list generation, tracing, eth_simulateV1, and
node-signed
transaction flows.
Preserve Tempo nonce, fee-payer, signature, and transaction identity
semantics
during probing and sequential simulation. Construct synthetic simulation
envelopes from the original request while applying gas limits and other
execution-only changes to the prepared environment.
Keep Ethereum and Optimism request classification intact and build
simulated
receipts with the appropriate network-specific fields.
* fix(anvil): preserve keychain gas estimates
Avoid charging Tempo keychain protocol fees while probing candidate gas limits so the block gas limit cannot invalidate an otherwise valid estimate. Keep call-level spending checks active and cover inline and provisioned access keys.
Update the stale Optimism executor rustdoc link.
* fix(anvil): preserve canonical simulation logs
Build simulated receipt roots and blooms only from logs produced by transaction execution, while keeping synthetic transfer logs in the RPC response. Align the Cast keychain assertions with successful session cleanup.
* fix(anvil): discard reverted simulation logs
Only reconcile canonical simulation logs after successful execution. Clear response logs after a top-level revert while preserving attempted log indices for subsequent calls.1 parent d03f184 commit 3577c5b
16 files changed
Lines changed: 2243 additions & 331 deletions
File tree
- .changelog
- crates
- anvil
- core/src/eth
- src/eth
- backend
- mem
- tests/it
- primitives/src/transaction
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
124 | 123 | | |
125 | 124 | | |
126 | 125 | | |
| 126 | + | |
| 127 | + | |
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
235 | 238 | | |
236 | 239 | | |
237 | 240 | | |
| |||
1378 | 1381 | | |
1379 | 1382 | | |
1380 | 1383 | | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
1381 | 1405 | | |
1382 | 1406 | | |
1383 | 1407 | | |
| |||
0 commit comments