github tempoxyz/tempo tempo-contracts@1.9.0

5 hours ago

Minor Changes

  • Extracts Tempo hardfork definitions and activation schedules into a new tempo-hardfork crate for SDK reuse without chainspec dependencies.
  • Updates tempo-alloy to depend on and re-export tempo-hardfork instead of tempo-chainspec. (by @DerekCofausper, #6480)
What's Changed
  • ci(bench): remove bench metrics proxy by @decofe in #4021
  • ci(bench): use bench RPC secrets for replay benchmarks by @decofe in #4023
  • ci(bench): Grafana summary URL by @decofe in #4028
  • ci(bench): bump bench-e2e gas limit to 1B by @decofe in #4029
  • ci(bench): improve bench-e2e GitHub reporting by @decofe in #4032
  • chore: bump alloy by @0xrusowsky in #4027
  • Fix bench workflow issue permissions by @decofe in #4038
  • Clarify TIP-1035 helper activation semantics by @decofe in #4035
  • perf(builder): boilerplate of prewarming for best transactions by @shekhirin in #3865
  • ci(bench): fix scheduled e2e benchmark workflow permissions by @decofe in #4047
  • ci(bench): clean stale reth IPC before replay benchmarks by @decofe in #4048
  • chore(tips): add tip naming pre-commit hook by @0xrusowsky in #4020
  • ci(bench): mask derived telemetry output in bench e2e by @decofe in #4051
  • feat(consensus): prunable blocks by @SuperFluffy in #3870
  • fix(p2p): report proxy request and item counts by @mattsse in #3948
  • feat(primitives): use signature marker for sponsor requests by @0xrusowsky in #4033
  • ci: enable bench OTLP exports by default by @decofe in #4050
  • Fix bench e2e trace explore filters by @decofe in #4052
  • fix(rpc): improve fee token errors by @brendanjryan in #3877
  • ci(bench): label tempo replay bench telemetry by @decofe in #4054
  • fix(tip-1034): protect TIP20EscrowChannel from burns by @0xrusowsky in #3989
  • ci(bench): fix bench observability links and ids by @decofe in #4055
  • bench: enable payload builder sharing flags by default by @decofe in #4053
  • fix(tip-1033): surface tx validator_fee info to builder by @0xrusowsky in #3991
  • feat(builder): stop reason metric by @decofe in #4060
  • perf(benches): add in-memory tip20 execution microbenchmark by @Rjected in #4043
  • fix(tip-1034): enforce TIP-403 policy rules by @0xrusowsky in #3994
  • ci(bench): remove latency stddev from bench summaries by @decofe in #4078
  • bench: add manual CodSpeed workflow by @mediocregopher in #4081
  • ci(bench): add gas throughput to e2e summary tables by @decofe in #4084
  • ci(bench): random-recipient preset for TIP-20 benches by @shekhirin in #3975
  • deps: update reth from main (2026-05-20) by @decofe in #3986
  • ci(bench): parameterize benchmark run pairs by @mediocregopher in #4083
  • chore: default tips verification to T5 by @decofe in #4087
  • perf(txpool): precompute expiring nonce hash by @mattsse in #4094
  • perf(pool): use B256Map for transaction indexes by @mattsse in #4092
  • ci(bench): make bench-e2e preset a dropdown by @decofe in #4098
  • perf(builder): use execution cache from build arguments by @shekhirin in #3602
  • Rename invariant entrypoints for per-campaign metrics by @decofe in #4102
  • test(stablecoin-dex): snapshot order gas by @0xalpharush in #4076
  • perf(benches): enable asm keccak for tip20 execution bench by @Rjected in #4068
  • perf(benches): run tip20 execution through fixed execution cache by @Rjected in #4071
  • Enable continuous CodSpeed microbenchmarks on push and PR by @codspeed-hq[bot] in #4103
  • chore: deny cast_lossless clippy lint by @0xalpharush in #4077
  • Fix bench summary compressed samples by @decofe in #4106
  • test: add TIP20 transfer gas snapshots by @decofe in #4080
  • fix(invariants): remove flaky coverage assertions from SignatureVerifier by @decofe in #3993
  • Update protocol version in TIP-1047 by @jenpaff in #3992
  • docs(tip-1034): rename channel escrow to reserve by @brendanjryan in #4110
  • chore: reset main version to 1.7.0 by @jenpaff in #4120
  • Rename TIP-20 channel escrow to reserve by @decofe in #4113
  • test: stabilize TIP20 transfer gas snapshots by @decofe in #4125
  • perf(transaction-pool): index expiring nonce eviction by @mattsse in #4091
  • perf: avoid marshal contention by @klkvr in #4058
  • chore: release tempo-alloy@1.7.2, tempo-contracts@1.7.2 and 1 more by @tempoxyz-release-bot[bot] in #4036
  • Cache AA transaction signature hash by @decofe in #4129
  • refactor(node): use empty body storage by @mattsse in #4128
  • ci(bench): run CodSpeed on depot runner and filter benches by @decofe in #4121
  • ci(bench): disable txgen send retries by @decofe in #4137
  • feat(payload): split builder tx execution metrics by @joshieDo in #4127
  • Fix bench e2e Grafana dashboard URL by @decofe in #4134
  • feat(txgen): add existing recipient TIP20 preset by @onbjerg in #4132
  • perf(builder): implement prewarming by @shekhirin in #3893
  • ci: benchmark scheduled e2e against latest main by @decofe in #4152
  • ci(bench): enable prewarming in e2e bench by @decofe in #4153
  • feat: share execution cache in benches by @klkvr in #4147
  • feat(builder): increase transaction execution wait default by @decofe in #4105
  • chore: set workspace version to 1.7.1 by @jenpaff in #4160
  • docs: remove TIP-1047 from T5 meta TIP by @decofe in #4162
  • feat(builder): separate state root metrics from builder finish by @decofe in #4135
  • ci: set weekend invariant timeout by @decofe in #4025
  • ci(bench): comparison hardfork labels by @decofe in #4059
  • docs(primitives): clarify transaction validity timestamps by @mattsse in #4136
  • update tip metadata by @jenpaff in #3778
  • fix(txpool): resolve fee token from cached value by @decofe in #4148
  • docs(tip-1059): add discounted payment settlement by @malleshpai in #4013
  • TIP-1065: T6 Hardfork Meta TIP by @jenpaff in #4167
  • docs(tips): TIP-1028, Address-Level Receive Policies by @0xKitsune in #3791
  • fix state hook precompile original info by @decofe in #4171
  • test: register precompile holders in TIP20 invariant by @decofe in #4172
  • Update cost implications for blocked transfers in TIP-20 by @0xalpharush in #4173
  • feat: encode the network identity into the chainspec by @hamdiallam in #4004
  • perf(pool): clone cached tx env for payload building by @mattsse in #4174
  • perf(payload): use cached transaction lengths by @mattsse in #4175
  • perf(revm): cache tempo gas param overrides by @mattsse in #4182
  • perf(transaction-pool): inline fee token cost by @mattsse in #4183
  • feat(alloy): add RelayTransport for sponsor/fee-payer support by @0xrusowsky in #4010
  • refactor(transaction-pool): use alloy primitive maps in maintenance by @mattsse in #4178
  • refactor(pool): reuse effective fee token helper by @mattsse in #4181
  • perf(transaction-pool): dispatch log decoding by topic by @mattsse in #4179
  • perf(transaction-pool): optimize expiry tracking cleanup by @mattsse in #4177
  • Downgrade tempo-alloy changelog to patch by @decofe in #4188
  • chore: release tempo-alloy@1.7.3, tempo-contracts@1.7.3 and 1 more by @tempoxyz-release-bot[bot] in #4184
  • style: author typo by @decofe in #4190
  • docs(tip-1016): mark release as T4 by @jenpaff in #3709
  • ci: reenable Foundry lint on build by @decofe in #4154
  • perf(transaction-pool): defer mined aa transaction drops by @mattsse in #4185
  • fix(transaction-pool): remove expiring nonce eviction entries in release by @mattsse in #4189
  • docs(tip-1034): explain close cumulative amount by @legion2002 in #4199
  • perf(transaction-pool): skip protocol nonce updates in aa pool by @mattsse in #4187
  • Use binary target for Foundry forge builds by @decofe in #4207
  • Restrict witness burning to admin keys by @legion2002 in #4218
  • feat(tip-1059): discount pure payment settlement by @0xKitsune in #4139
  • fix(tip-1034): validate signature encoding in payment lane by @0xrusowsky in #4099
  • chore: spawn txpool maintenace as blocking thread by @klkvr in #4230
  • feat(tip-1028): implement address-level receive policies by @0xKitsune in #3800
  • perf(transaction-pool): gate keychain subject eviction checks by @mattsse in #4252
  • ci(bench): show derek command in e2e bench summary by @decofe in #4263
  • perf(builder): enable sparse trie sharing by default by @decofe in #4195
  • ci(bench): fix scheduled replay state scoping by @decofe in #4259
  • perf(bench): prefilter metric samples before parsing by @mediocregopher in #4208
  • fix: protect self from blocked burns by @0xrusowsky in #4264
  • fix: ensure virtual channel payees use operators by @0xrusowsky in #4258
  • perf(transaction-pool): cache fee token cost by @mattsse in #4253
  • bench: TIP-20 rewards by @decofe in #4158
  • Allow tempoup to fall back to gh verification by @decofe in #4014
  • test: snapshot pre-T6 TIP20 memo transfer gas by @0xalpharush in #4226
  • fix(txpool): keep paused txs on keychain spends by @mattsse in #4279
  • ci(bench): internal perf dashboard link in bench-e2e output by @decofe in #4089
  • ci(bench): handle quoted e2e node args by @decofe in #4281
  • fix: account for extra data when estimating block size by @klkvr in #4289
  • perf(transaction-pool): use entry api for fee balance cache by @mattsse in #4254
  • fix(txpool): use resolved fee token in maintenance by @mattsse in #4272
  • ci(bench): classify e2e run-pair benchmarks by @mediocregopher in #4124
  • fix(txpool): refresh tracked fee balance top-ups by @mattsse in #4297
  • refactor(txpool): relax AMM liquidity provider borrow by @mattsse in #4291
  • fix(txpool): preserve sponsored keychain transactions by @mattsse in #4304
  • fix(follower): add jittered linear backoff for follower reconnects by @decofe in #4280
  • bench: disable legacy marshal archive in e2e benchmarks by @decofe in #4307
  • chore(consensus_context): cleanup post-t4 activation by @hamdiallam in #4146
  • test(tip-20): add T5 transfer gas snapshots by @decofe in #4308
  • fix(txpool): evict implicit fee txs by fee payer by @mattsse in #4319
  • ci(bench): support gas limit suffixes in bench comments by @decofe in #4303
  • docs(revm): clarify handler behavior for same-tx key auth by @0xrusowsky in #4335
  • docs(tip-1034): clarify operator trust assumptions by @0xrusowsky in #4331
  • docs: clarify access-key contract creation restriction by @legion2002 in #4357
  • tip: admin access keys by @jxom in #3645
  • Add threat model section to TIP template by @decofe in #4360
  • refactor(txpool): update maintenance ordering by @mattsse in #4312
  • chore: bump reth and revm by @klkvr in #4309
  • refactor(transaction-pool): avoid expiring nonce hash copy by @mattsse in #4364
  • perf(pool): precompute fee balance slot during pool validation by @decofe in #4358
  • perf(tip-1034): cache domain separator by @0xrusowsky in #4346
  • refactor(transaction-pool): simplify expiring nonce eviction order by @mattsse in #4365
  • chore(tip-1034): resolve virtual payee on open/top-up checks by @0xrusowsky in #4383
  • perf(payload): use cached payment classification by @mattsse in #4392
  • perf(revm): do not compute unique tx identifier twice by @shekhirin in #4391
  • Enable T6 for invariant tests by @decofe in #4404
  • SIGP-262: Reject contradictory account keychain call scopes by @legion2002 in #4359
  • Fix existing recipients txgen env propagation by @decofe in #4409
  • fix(tip-1034): skip noop top-ups by @0xrusowsky in #4317
  • feat: add FlipFailed event to stablecoing dex by @0xrusowsky in #4326
  • feat(consensus): encrypt signing keys at rest by @SuperFluffy in #4111
  • perf(builder): enable execution cache sharing by @decofe in #4266
  • perf(payload): remove per-transaction builder timing by @mattsse in #4402
  • feat: enable builder prewarming by default by @decofe in #4423
  • bench(evm): run TIP20 benches for current and latest hardforks by @shekhirin in #4419
  • ci(bench): remove e2e default local builder args by @decofe in #4437
  • ci(bench): update e2e regenesis and node arg compatibility by @decofe in #4415
  • docs(dex): clarify multi-hop policy 403 behavior by @0xrusowsky in #4350
  • feat(chainspec): schedule T5 activation times by @jenpaff in #4410
  • feat(builder): add elastic payload build budget by @joshieDo in #4277
  • fix(bench): quote PR bench args before shell by @0xalpharush in #4449
  • fix: reject keychain-wrapped channel reserve vouchers by @legion2002 in #4375
  • docs: align payment classification TIPs by @legion2002 in #4448
  • fix(pool): exclude mined txs from expiry eviction by @mattsse in #4425
  • fix(consensus): accept deprecated proposal timing flags by @joshieDo in #4465
  • feat(payload): restore aggregate builder duration metrics by @decofe in #4432
  • chore: bump alloy-evm by @klkvr in #4433
  • feat: follower fast-sync via the network identity by @hamdiallam in #4062
  • ci(bench): tune e2e benchmark verdict noise by @mediocregopher in #4305
  • ci(bench): update Slack user mapping by @decofe in #4555
  • fix: gate auth new account charge by @klkvr in #4561
  • feat(bench): report pool fetch builder timing by @mattsse in #4553
  • bench: remove TPS quantiles from summary by @decofe in #4571
  • refactor(transaction-pool): avoid temporary eviction vec by @mattsse in #4586
  • fix: enforce secp256k1 feature propagation by @mattsse in #4574
  • perf: use direct BTree first-entry access by @mattsse in #4587
  • refactor(pool): split expiring nonce removal paths by @mattsse in #4591
  • fix(alloy): treat blank relay test env vars as absent by @mattsse in #4593
  • ci(bench): stream VM metrics during e2e by @mediocregopher in #4566
  • perf(transaction-pool): cache AA pool counts by @figtracer in #4554
  • chore: bump reth by @klkvr in #4599
  • ci: remove TPS percentile rows from bench Slack message by @decofe in #4605
  • feat(account-keychain): implement admin access keys by @legion2002 in #4265
  • docs(tip-1065): update from meta-TIP to independent TIP by @0xrusowsky in #4191
  • fix(bench): remove TPS percentile rows from e2e summary by @mediocregopher in #4608
  • perf: cache AA replay hash by @tempoxyz-bot in #4480
  • docs: update README wordmark by @Slokh in #4613
  • ci(bench): revert e2e VM metric forwarding by @mediocregopher in #4614
  • feat: wire bench valscope static reports by @joshieDo in #4424
  • ci(bench): run scheduled e2e benches for 600s by @decofe in #4616
  • perf(tip20): better reward handling by @0xrusowsky in #4161
  • perf: precalculate keccak slots for TIP-20 transfers at txpool entry by @joshieDo in #3626
  • feat(signature-verifier): add verifyAdmin by @legion2002 in #4302
  • fix(ci): use variable for ValScope report URL by @joshieDo in #4634
  • Bump tempo workspace version to 1.8.0 by @decofe in #4650
  • chore: release tempo-alloy@1.8.0, tempo-contracts@1.8.0 and 1 more by @tempoxyz-release-bot[bot] in #4219
  • fix(Revert): "perf(builder): enable execution cache sharing" by @emmajam in #4709
  • fix(revert): "feat: enable builder prewarming by default" by @emmajam in #4710
  • ci(bench): enable builder cache & prewarming flags in bench-e2e by @decofe in #4736
  • perf(transaction-pool): append AA transactions in one scan by @mattsse in #4737
  • Add observability requirements to TIP template by @decofe in #4722
  • docs: clarify elastic proposal budget model by @joshieDo in #4570
  • feat(bench): support per-side feature flags by @mediocregopher in #4741
  • Add Cyclops audit comment trigger by @legion2002 in #4600
  • fix(bench): run feature side first by @mediocregopher in #4751
  • bench: gate ValScope summary behind flag by @decofe in #4756
  • bench: remove no-slack from manual dispatch inputs by @decofe in #4782
  • perf(transaction-pool): pre-warm nonce storage slots derivation off aa_2d_pool write locks by @i-m-aditya in #4718
  • feat(bench): add optional BAL to Tempo execution payloads by @decofe in #4026
  • perf(transaction-pool): avoid sorting expiring nonce best txs by @mattsse in #4646
  • perf: parallelize Builder::finish computations by @klkvr in #4473
  • bench-e2e: append side features to global features by @decofe in #5137
  • perf(pool): store transaction priority as u64 by @mattsse in #5138
  • ci: run Docker nightly build once daily by @decofe in #5140
  • perf(transaction-pool): reuse state update scratch buffers by @mattsse in #4775
  • fix: drop tx iter early by @mattsse in #4726
  • chore: bump reth by @klkvr in #5148
  • perf(pool): use entry for expiring nonce inserts by @mattsse in #5143
  • feat(bench): add block size verdict metrics by @mediocregopher in #5136
  • ci(bench): increase bench-e2e default TPS to 50k by @decofe in #5145
  • perf: cache commonware block encode size by @tempoxyz-bot in #5135
  • fix(consensus): avoid panic by mapping expired blocks to None by @SuperFluffy in #5158
  • ci(bench): include PR number in txgen bench metadata by @decofe in #5160
  • chore: bump workspace version to 1.8.1 by @jenpaff in #5163
  • ci(bench): update remaining e2e TPS defaults to 50k by @decofe in #5165
  • fix(bench): pass localnet signing secret in e2e by @decofe in #5172
  • ci: use foundry master in specs workflow by @decofe in #5180
  • fix(bench): detect armored age signing keys by @decofe in #5177
  • perf: use linear storage handler cache by @tempoxyz-bot in #4455
  • perf: use hybrid storage handler cache by @0xrusowsky in #5038
  • ci: log update-reth PR failures by @decofe in #5218
  • fix(follower): don't hard fail when consensus block is missing by @hamdiallam in #5154
  • fix(tip-1059): discount based on gas limit by @klkvr in #4500
  • feat(txpool): support dynamic basefee by @klkvr in #5243
  • fix(localnet): pass consensus signing key secret by @mediocregopher in #5241
  • chore: bump fixed-cache to 0.1.10 by @decofe in #5245
  • perf: avoid useless SSLOAD in 403 registry by @0xrusowsky in #5239
  • fix(bench): exclude warmup blocks from summary by @mediocregopher in #5253
  • ci(bench): add TIP-20 2D nonce preset by @shekhirin in #5236
  • perf(builder): prewarm expiring nonce ring slots by @shekhirin in #5144
  • fix(follower/driver): always allow using the fallback by @hamdiallam in #5258
  • fix(tempoup): use gh for release lookup and write logs to stderr by @grandizzy in #5227
  • fix(localnet): honor skip-build for tempo-xtask by @mediocregopher in #5268
  • Allow rkrasiuk to trigger PR benches by @decofe in #5273
  • docs: add Rust formatting guidance by @decofe in #5280
  • perf(pool): reuse maintenance transaction snapshots by @mattsse in #5284
  • fix(ci): build binaries workflow without just by @decofe in #5279
  • fix(tempo): provide --secret for signing consensus smart contract args by @SuperFluffy in #5276
  • feat(consensus): register new peers as secondary nodes by @SuperFluffy in #4623
  • bench: reduce tip20 txgen valid window by @decofe in #5275
  • ci: fix precompiles coverage html artifact by @decofe in #5290
  • Add T7 hardfork scaffold by @decofe in #5266
  • ci(bench): support zero bloat in bench e2e by @decofe in #5293
  • fix(payload): offload prewarm receiver cleanup by @mattsse in #5298
  • perf(payload): pace builder budget with validation latency feedback by @mediocregopher in #5211
  • perf(consensus): share commonware block clones by @mattsse in #5307
  • fix(ci): update stale Foundry Tempo locks first by @mattsse in #5384
  • fix(ci): ignore proc-macro-error2 advisory by @mattsse in #5413
  • Add metrics option to Derek bench workflows by @decofe in #5412
  • deps: update reth from main (2026-06-08) by @decofe in #5220
  • perf: use jemalloc for tip20 benchmark by @tempoxyz-bot in #4877
  • perf: enable keccak cache for tip20 benchmark by @tempoxyz-bot in #4983
  • perf: cache validated USD fee token by @tempoxyz-bot in #4686
  • perf(node): disable redundant payload state precache by @mattsse in #5419
  • chore(tips): update tempo-std verifier submodule by @mattsse in #5420
  • refactor(commonware-node): decode sealed blocks directly by @mattsse in #5424
  • chore(consensus): remove legacy immutable finalized blocks archive by @SuperFluffy in #5234
  • Use maxperf profile for benchmarks by @decofe in #5415
  • Revert "perf: cache validated USD fee token (#4686)" by @shekhirin in #5437
  • feat(pool): add best transaction size hints by @mattsse in #5432
  • fix(consensus): keep no legacy archive flag as noop by @decofe in #5444
  • Apply TIP-1059 discount to RPC transactions by @decofe in #5422
  • Revert "Apply TIP-1059 discount to RPC transactions" by @klkvr in #5453
  • docs(tip-1049): fix stale admin key docs by @legion2002 in #5457
  • feat(xtask): add shadow fork generation and bootstrap commands by @kamsz in #5176
  • docs(tip-1028): update 1028 docs to clarify that allowance is spent by @0xKitsune in #5462
  • chore: gate evm dependencies by @DaniPopes in #5467
  • chore: add workspace package metadata by @DaniPopes in #5472
  • fix: add tempo-chainspec to gh action releases by @0xrusowsky in #5492
  • ci: limit CodSpeed microbenches to relevant crates by @decofe in #5493
  • ci: skip precompile forge tests for release metadata by @decofe in #5498
  • refactor(primitives): move expiry check onto recovered subblock by @mattsse in #5431
  • fix: write changesets in init-from-binary-dump by @klkvr in #5466
  • perf: build bal in parallel by @klkvr in #5301
  • fix(transaction-pool): avoid eager transaction collection by @mattsse in #5513
  • chore(consensus): provide round to fetch proposal and log success by @SuperFluffy in #5451
  • perf(transaction-pool): avoid tx env clone during validation by @mattsse in #5518
  • chore: make tempo-consensus a module under tempo-evm by @SuperFluffy in #3720
  • fix(tip403): update set_receive_policy to reject when precompiles specified as recovery address by @0xKitsune in #5476
  • chore(tip403): update is_authorized_simple by @0xKitsune in #5517
  • docs(tip1028): update interface to match implementation by @0xKitsune in #5481
  • chore: require verified-human review by @sds in #5528
  • fix(evm): reset collected fee per transaction by @legion2002 in #5506
  • chore(consensus): rename commonware-node to consensus by @SuperFluffy in #5530
  • chore(tip-1059): revert discount for pure payment settlement by @0xrusowsky in #5499
  • docs(tip1028): clarify receipt claim checks by @0xKitsune in #5480
  • perf(pool): cache transaction validation reads by @mattsse in #5522
  • chore(tip403): remove unnecessary set_receive_policy check by @0xKitsune in #5526
  • feat: include finalization in tempo snapshots by @hamdiallam in #4482
  • chore: update CODEOWNERS by @0xalpharush in #5547
  • chore: disable codeowners enforcement by VK by @sds in #5549
  • Add 0xrusowsky to crate CODEOWNERS by @decofe in #5548
  • Add jenpaff as tips codeowner by @decofe in #5583
  • Revert "perf(tip20): better reward handling" by @0xKitsune in #5538
  • perf(transaction-pool): allocate AA transaction before write lock by @mattsse in #5546
  • perf(tx-pool): remove eviction entries by lightweight order key by @mattsse in #5585
  • perf(primitives): avoid signature RLP length allocation by @mattsse in #5553
  • Add T6 timestamps by @jenpaff in #5584
  • docs(tips): add tooling prompt to TIP template by @emmajam in #5592
  • feat(chainspec): add T8 wiring by @legion2002 in #5591
  • ci: retry cosign docker signing by @decofe in #5577
  • chore(bench): raise builder classification floors by @mediocregopher in #5586
  • perf(tx-pool): drop removed transactions at the end of the block update by @mattsse in #5590
  • refactor(consensus): make execution actor non-blocking by @SuperFluffy in #5312
  • Remove stale TIP-1059 and TIP-1065 T6 references by @decofe in #5597
  • test(tx-pool): validate regular eviction invariants by @mattsse in #5593
  • feat: TIP-1067 by @klkvr in #5257
  • perf(txpool): reduce map lookups when inserting AA 2D transactions by @mattsse in #5602
  • ci: skip foundry precompile tests for SDK release bumps by @decofe in #5610
  • perf(txpool): cache active hardfork as atomic in validator by @mattsse in #5603
  • feat(tip-1075): disable TIP20 rewards by @0xrusowsky in #5433
  • chore: update cargo.toml to v1.8.2 by @jenpaff in #5619
  • ci: upload bench metrics when valscope is enabled by @decofe in #5527
  • perf(tx-pool): share EVM and state reads across transaction validations by @mattsse in #5572
  • perf(txpool): resolve fee payer only when fee token changed by @mattsse in #5621
  • ci(release): open cargo bump PR after release by @jenpaff in #5620
  • refactor: simplify redundancies in tempo main.rs by @mattsse in #5629
  • refactor: convert tempo binary into a library by @mattsse in #5631
  • Make bench-e2e hardfork flags optional by @decofe in #5613
  • ci(bench): use existing recipients preset, multiple TIP-20 tokens by @shekhirin in #5618
  • feat: default builder cache sharing on by @decofe in #5529
  • ci(bench): make e2e txgen token count configurable by @decofe in #5633
  • feat(tip-1067): dynamic base fee by @dankrad in #5153
  • refactor: make tempo eth api builder generic by @mattsse in #5634
  • perf(txpool): reuse cached fee payer from tx env by @mattsse in #5622
  • test(amm): keep required liquidity burn check priced by @decofe in #5617
  • TIP-1075: Deprecate TIP-20 rewards by @decofe in #5380
  • perf: trim fee manager prewarm account touch by @tempoxyz-bot in #5454
  • ci: allow changelog fragments in SDK release skip by @decofe in #5640
  • chore: release tempo-alloy@1.8.1, tempo-chainspec@1.8.2 and 2 more by @tempoxyz-release-bot[bot] in #5497
  • perf(txpool): drop redundant mined-hash set in expired eviction by @mattsse in #5646
  • perf(txpool): narrow TIP-20 Transfer decoding in pool maintenance by @mattsse in #5645
  • fix(cli): give faucet.enabled arg a unique clap id by @decofe in #5655
  • fix(bench): enable samply logs in e2e by @decofe in #5656
  • fix(rpc): pin simulate metadata block by @mattsse in #5658
  • perf(txpool): batch-drain new-transaction events in maintenance loop by @mattsse in #5648
  • perf(txpool): skip expiry untracking when nothing is tracked by @mattsse in #5649
  • deps: update reth from main (2026-06-15) by @decofe in #5564
  • ci: restore Foundry master checkout by @decofe in #5785
  • chore: bump reth by @decofe in #5822
  • Fix e2e existing recipient bloat token count by @decofe in #5818
  • feat(primitives): add AA signer recovery helper for expiring nonce hash by @mattsse in #5664
  • ci(bench): grant CAP_SYS_NICE to e2e benchmark process by @decofe in #5784
  • feat(pool): forward additional stateless/stateful validation hooks by @mattsse in #5628
  • feat(tempo): add programmatic node overrides by @mattsse in #5910
  • ci(bench): use tip20_existing_recipients preset in comments by @shekhirin in #5641
  • fix(bench): run e2e samply under sudo by @decofe in #5932
  • refactor(consensus): executor owns payload jobs by @SuperFluffy in #5625
  • chore: default follow engine to be certified by @hamdiallam in #5845
  • ci: remove Derek bench user allowlist by @decofe in #5946
  • ci(bench): clean e2e checkout workspace with sudo by @decofe in #5950
  • fix: accept deprecated follow certify flag without value by @decofe in #5964
  • revert: ci(bench): sudo by @shekhirin in #5970
  • fix(cli): initialize tracing before running snapshot cmd by @Rjected in #5982
  • feat(tip-1060): impl StorageCredits precompile by @0xrusowsky in #5228
  • ci: fix reth update Amp retry loop by @decofe in #6034
  • perf(consensus): defer verify block drops by @mattsse in #6012
  • chore: bump MSRV to Rust 1.96 by @decofe in #6035
  • perf(evm): shrink payload tx iterator items by @mattsse in #5998
  • feat(evm): record sload and sstore actions by @shekhirin in #5423
  • perf: defer state provider drop by @klkvr in #6046
  • ci: revert foundry checkout pin in specs workflow by @decofe in #6054
  • fix(consensus): resubscribe follow upstream events by @SuperFluffy in #6051
  • deps: update reth from main (2026-06-17) by @decofe in #5876
  • chore(docker): bump rust from 64d9b7f to 19817ea by @dependabot[bot] in #6025
  • chore(tip-1060): cleanup by @0xrusowsky in #6052
  • refactor: prewarm through evm by @klkvr in #6085
  • ci: print raw Amp output on failure, use Amp Neo by @decofe in #6062
  • ci(bench): retry bench chart pushes from fresh clones by @decofe in #6144
  • feat(precompiles): storage delta helpers by @shekhirin in #5605
  • deps: update reth from main (2026-06-18) by @decofe in #6134
  • ci(bench): scrape runner node exporter in bench e2e by @decofe in #6047
  • perf(rpc): avoid cloning subblock pool transactions by @mattsse in #6176
  • perf(txpool): optimize raw Tempo transaction recovery by @mattsse in #6175
  • tests: add T7 gas estimate expectation by @decofe in #6194
  • ci: reset bench e2e workspace by @decofe in #6170
  • perf(consensus): cache encoded execution blocks by @mattsse in #5421
  • ci: add tracy setup to e2e benchmark workflow by @decofe in #5315
  • chore(tempo-e2e): metrics refactors by @hamdiallam in #5659
  • fix(consensus): load recovered parent blocks by @mattsse in #6203
  • chore: increase stale PR operations per run by @decofe in #6205
  • refactor(consensus): preserve recovered finalized blocks by @mattsse in #6207
  • perf(consensus): use recovered block lookups by @mattsse in #6208
  • chore: bump mozilla-actions/sccache-action from v0.0.9 to v0.0.10 by @laibe in #5632
  • style(precompiles): split storage helpers + add docs by @0xrusowsky in #6212
  • fix(bench): make block size metrics informational by @mediocregopher in #6198
  • ci: ignore pending Review check in reth updater by @decofe in #6214
  • ci(bench): trim bench command comments before matching by @decofe in #6215
  • ci: fix Release PR post-merge failures by @decofe in #6221
  • ci(bench): revert Tracy and txgen CPU pinning by @decofe in #6226
  • chore(release): v1.9.1 by @legion2002 in #6220
  • test(node): cover upcoming devnet hardforks by @mattsse in #6217
  • fix(cli): hide and silence snapshot skip-consensus overrides by @SuperFluffy in #6228
  • Add rkrasiuk bench Slack mapping by @decofe in #6234
  • feat(precompiles): do not record SINC/SDEC for zero storages by @shekhirin in #6160
  • Disable only TIP-1060 credit minting in fee hooks by @decofe in #6248
  • fix(serde): serialize sealed blocks as plain blocks by @decofe in #6252
  • Record e2e bench setup metadata by @decofe in #6232
  • ci(bench): allow bare tracy bench flag by @decofe in #6242
  • feat(alloy): add receive-policy and admin-key helpers by @stevencartavia in #6251
  • ci: allow T7 and T8 bench hardforks by @decofe in #6261
  • feat: bundle consensus archive together with EL snapshot by @SuperFluffy in #5789
  • fix(tip-1060): non-creditable storage slots by @0xrusowsky in #6206
  • fix(deps): update memmap2 to 0.9.11 by @mattsse in #6270
  • feat: avoid recreating periodic spending limit remaining field by @klkvr in #6233
  • fix(tip-1060): disable credit minting for fee distribution by @decofe in #6237
  • feat(tip-1064): maker storage credits on the DEX by @0xrusowsky in #5305
  • chore: fix bench bloat metadata forwarding by @decofe in #6282
  • docs(tip-1060): improve docs and style by @0xrusowsky in #6281
  • ci(bench): bump bench-e2e gas limit default by @decofe in #6283
  • chore: fix coverage bloat scope by @decofe in #6284
  • feat(tip-1066): add channel storage credits by @legion2002 in #5935
  • ci(bench): use feature binary for e2e regenesis by @decofe in #6285
  • TIP-1064: StablecoinDEX order storage credits by @decofe in #4082
  • ci(bench): display Tracy bench config as enabled by @decofe in #6287
  • chore(evm): expose NonCreditableSlots by @0xrusowsky in #6288
  • perf: avoid disabled storage action allocation by @tempoxyz-bot in #6075
  • fix(precompiles): update actions test for T6 by @0xrusowsky in #6294
  • fix(tip-1060): keychain remaining sentinel by @0xrusowsky in #6291
  • test(precompile): add labels to action snapshots by @0xrusowsky in #6297
  • style(tip-1060): clarity rename by @0xrusowsky in #6280
  • deps: update reth from main (2026-06-23) by @decofe in #6211
  • TIP-1060: contract storage credits by @decofe in #4016
  • ci(bench): support feature-only e2e runs by @decofe in #6292
  • docs: update TIP rollout statuses by @decofe in #6304
  • fix(keychain): decode T7 periodic limit sentinel in reads by @0xalpharush in #6310
  • test: fix invariant ghost nonce accounting by @decofe in #6298
  • Install macOS libusb dependency in tempoup by @parvahuja in #6274
  • ci(bench): use PR base branch for bench-e2e baseline by @decofe in #6305
  • feat(builder): gas limit from CLI arguments and chain defaults by @decofe in #6387
  • feat(payload): thread skip-state-root into tempo builder by @decofe in #6306
  • Add bench general gas limit override by @decofe in #6311
  • ci(bench): update tip20 txgen fee token preset by @decofe in #5959
  • refactor: expose full TempoBlockEnv to precompiles by @klkvr in #6394
  • ci(bench): set explicit nonce for TIP-20 2D txgen preset by @decofe in #6393
  • fix(bench): pass gas limits to localnet by @mediocregopher in #6391
  • ci(bench): add TIP-20 protocol nonce txgen preset by @decofe in #6395
  • feat(evm): make protocol fee manager generic by @0xKitsune in #6279
  • Update hardfork version from T6 to T7 by @0xalpharush in #6400
  • feat: expose epoch_length for precompiles by @decofe in #6286
  • Add T7 timestamps by @legion2002 in #6396
  • Track reverted transactions in payload builder by @decofe in #6403
  • feat: isolate hardforks into a crate without tempo deps by @0xrusowsky in #6468
  • ci(bench): disable txgen txpool drain wait by @decofe in #6480
  • chore: release tempo-alloy@1.9.0, tempo-chainspec@1.9.0 and 3 more by @tempoxyz-release-bot[bot] in #6484

Don't miss a new tempo release

NewReleases is sending notifications on new releases.