Releases: tempoxyz/tempo
v1.0.2 - the Presto release
This release updates Reth depdendency to v1.10.1 and revm to v34.0.0, bringing improvements to snapshot syncing and validator performance.
Highlights
Improvements
- Reth v1.10.1 Upgrade: Engine optimization for validator node sync performance: Explicitly requests head block download after backfill to prevent stalls (reth#21150)
- Resumable Snapshot Downloads: More reliable snapshot syncing with auto-retry support, improving sync reliability on unstable connections (reth#21161)
- Revm v34.0.0: Latest EVM execution improvements and alloy-evm compatibility
New Features
- New
consensus_getIdentityTransitionProofRPC method (#1918): Retrieve identity transition proofs with DKG outcomes and BLS certificates for network identity changes. Supports querying from specific epochs and retrieving full history back to genesis.
What's Changed
- feat: v1.0.1 release by @Zygimantass in #2165
- fix(specs): account for ceiling rounding in PlaceOrder fuzz test bound by @legion2002 in #2146
- feat: add consensus_getIdentityTransitionProof by @joshieDo in #1918
- fix(test): use correct PRICE_SCALE in StablecoinDEX fuzz test by @gakonst in #2174
- feat: bump revm v34.0.0 by @rakita in #1762
- chore: v1.0.2 by @Zygimantass in #2182
- chore: bump reth to v1.10.1 by @rakita in #2186
- chore: update reth to tmp branch by @klkvr in #2193
Full Changelog: v1.0.1...v1.0.2
v1.0.1 - the Presto release
This release fixes a bug in the syncing process and adds resumable downloads to snapshots (using tempo download).
What's Changed
- Disable reexecute for now by @kamsz in #2131
- feat(docs): add server-side tracking for AI crawlers by @snario in #2129
- feat: tempo transaction Invariant tests by @legion2002 in #2037
- fix: bump to gakonst fork by @Zygimantass in #2137
- feat(consensus): periodically send heartbeat FCU to EL by @SuperFluffy in #2148
- test(tempo-revm): add property-based tests for tx, block, and handler modules by @fgimenez in #2030
- fix(txpool): evict AA transactions when signing key is revoked by @fgimenez in #2035
- chore(consensus): bump commonware to 374285d, use metric attributes by @SuperFluffy in #2164
Full Changelog: v1.0.0...v1.0.1
v1.0.0 - the Presto release
What's Changed
- chore: rename bench.nu to tempo.nu by @shekhirin in #1698
- feat(docs): add validator guide by @Zygimantass in #1559
- chore(llm): add amp tools for tempo.nu by @Zygimantass in #1704
- feat(docs): allegro moderato by @jenpaff in #1653
- Fix the Artemis Tempo link by @akegaviar in #1584
- feat: implement PostHog custom event tracking for docs by @juandolealt in #1687
- chore(deps): run cargo shear by @DaniPopes in #1691
- feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in #1551
- Add
stableDocker tag for tag-triggered builds by @Zygimantass in #1737 - fix: propagate features correctly by @klkvr in #1731
- fix: clean-up 2d nonce pool tracker by @klkvr in #1738
- chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in #1745
- feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in #1671
- Partition
cargo hack checkinto 2 CI matrix jobs by @Zygimantass in #1748 - docs: add dRPC in Developer tools by @joshitzko in #1747
- docs: add theta and path USD to fee token guide by @struong in #1754
- docs: Tempo Transaction guide in nav by @struong in #1756
- chore: bump commonware to 4a5fca0 by @SuperFluffy in #1678
- fix(stablecoin-exchange): use centralized price conversion functions by @fgimenez in #1763
- faucet fix by @malleshpai in #1771
- fix(docs): correct safe deployer repo by @Zygimantass in #1728
- fix: catch slot collisions when using
base_slotattrib by @0xrusowsky in #1777 - fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in #1652
- refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in #1759
- chore!: bump commonware to v0.0.64 by @SuperFluffy in #1778
- feat!: remove hardfork logic by @0xrusowsky in #1707
- feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in #1632
- fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in #1630
- feat(consensus): backfill missing execution layer blocks by @SuperFluffy in #1781
- perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in #1622
- perf: remove redundant balance read in transfer by @legion2002 in #1793
- fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in #1795
- fix(specs): update reference implementation of stablecoin DEX by @danrobinson in #1796
- fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in #1628
- fix: add pause check to transfer_fee_pre_tx by @legion2002 in #1799
- fix: validator fee tracking by token by @legion2002 in #1798
- fix: update auth checks when claiming rewards by @0xKitsune in #1800
- Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in #1804
- feat: increase min order amount for stable dex orders by @0xKitsune in #1802
- fix: add revert if policy doesn't exist by @legion2002 in #1801
- docs: remove outdated pending swaps claim from burn function by @yongkangc in #1810
- feat: add new MintWithValidatorToken event with field by @howydev in #1466
- fix(dex): have flip orders only draw from internal balances by @danrobinson in #1806
- fix(specs): function to cancel stale order by @danrobinson in #1794
- fix(executor): propagate fork choice update errors by @fgimenez in #1774
- docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in #1791
- fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in #1805
- chore: remove compact hack for mainnet by @legion2002 in #1814
- fix: std
get_validator_tokento return the default token when unset by @0xrusowsky in #1651 - fix: intrinsic gas checks in validator by @legion2002 in #1666
- fix: incorrect permit2 bytecode by @howydev in #1789
- chore(audit): misc comments from auditors by @0xrusowsky in #1662
- Add info on supported platforms by @jenpaff in #1837
- fix(dex): upcast to U256 before mulDiv in base_to_quote and quote_to_base by @fgimenez in #1835
- fix: prevent index overflow in
VecHandlerby @0xrusowsky in #1631 - fix: ensure mutable TIP20Token calls point to initialized addresses by @0xrusowsky in #1790
- docs(alloy): add tip20 example in crate docs by @onbjerg in #1830
- fix: monitor pool creation by listening events + use token WL by @fgimenez in #1820
- fix(dex): round up baseNeeded in exactOut for bids by @danrobinson in #1823
- use a larger runner for docs generation by @brendanjryan in #1840
- feat: add re-dkg trigger methods to validator precompile by @joshieDo in #1680
- feat!(consensus): fast sync by @SuperFluffy in #1822
- feat(consensus): start at the latest finalized height, not at genesis by @SuperFluffy in #1838
- fix: create address calculations + restrictions by @legion2002 in #1792
- chore: remove TODOs, FIXMEs by @SuperFluffy in #1843
- feat: add full dkg mechanism by @joshieDo in #1821
- add missing article to tempo txn docs by @brendanjryan in #1850
- fix(docs): bump viem to 2.43.5 by @struong in #1849
- feat(xtask): add genesis customization options by @Zygimantass in #1836
- fix: validate calls inside handler by @legion2002 in #1845
- fix(revm): don't re-bump nonce on CREATE revert with 2D nonces by @legion2002 in #1851
- fix(precompiles-macros): account for last field
SLOTSby @0xrusowsky in #1847 - feat!: change tip20 deployment scheme by @howydev in #1819
- fix: properly check if an account is cold when loading its info by @0xrusowsky in #1855
- feat(precompiles): impl
IndexandIndexMuttraits by @0xrusowsky in #1488 - perf(precompiles)!: use efficient packing strategy by @0xrusowsky in #1848
- fix: review fixes by @howydev in #1859
- chore(docs): add AGENTS.md by @struong in #1852
- feat(xtask): add get-dkg-outcome command by @kuyziss in #1858
- refactor(consensus): surface the executor actor by @SuperFluffy in #1861
- docs: remove deadlink from nav by @malleshpai in #1863
- fix: update
swap_exact_amount_outto use saturating sub by @0xKitsune in #1867 - fix: remove unnecessary checks on
TIPFeeManager.burn()by @0xKitsune in #1871 - fix: update min/max price in spec by @0xKitsune in #1869
- chore: bump msrv to 1.91 by @SuperFluffy in #1877
- docs: tempo.ts/wagmi -> wagmi/tempo by @tmm in #1873
- feat(specs): remove
FeeSwapevent to align with precompile impl by @0xKitsune in #1880 - chore(test): add
validator_can_fast_sync_after_full_dkgtest by @joshieDo in #1883 - ci: use Rust 1.91 in Docker by @shekhirin in https://github.com/...
v1.0.0-rc.7 - Mainnet candidate
v1.0.0-rc.7 bumps the upstream Reth version for performance improvements and downgrades a few noisy logging messages to trace. This is not an urgent releases for both block producing and RPC nodes.
What's Changed
- chore(consensus): bump spammy log to trace by @Zygimantass in #2060
- fix(specs): remove incorrect TEMPO-AMM30 validator reserve assertion by @grandizzy in #2061
- fix(docs): use checksummed address for Account Keychain precompile by @gakonst in #2062
- fix(docs): use absolute URLs for og:image by @gakonst in #2058
- chore: add unit tests for 2 edge cases by @howydev in #1994
- fix(precompiles): remove outdated order processing comment by @danrobinson in #2020
- test(transaction-pool): add unit tests for access key validation by @fgimenez in #2028
- chore: bump reth to v1.10.0 by @mattsse in #2051
- refactor(transaction-pool): consolidate tests and remove low-value test coverage by @fgimenez in #1971
- chore: update gitignore by @0xrusowsky in #2078
- chore: bump commonware to v0.0.65 by @SuperFluffy in #2080
- docs: add TIPs overview page by @snario in #2070
- feat(txpool): add configurable limit for AA authorization list size by @mattsse in #2009
- feat(tips): TIP-1006: burnAt for TIP-20 tokens by @danrobinson in #2033
- feat: encode full finalization/notarization in consensus namespace by @gakonst in #2079
- ci: move flaky test into separate step by @SuperFluffy in #2082
- chore: bump commonware to f966223 by @SuperFluffy in #2081
- chore(deny): ignore RUSTSEC-2026-0003 cmov timing advisory (ARM32 not targeted) by @fgimenez in #2091
- refactor(revm): move 2D nonce gas calculation to intrinsic gas by @rakita in #2053
- fix(revm): validate TIP20 token before balance lookup to prevent panic by @gakonst in #2069
- txpool: reduce LAST_SEEN_TOKENS_WINDOW from 100 to 10 by @gakonst in #2095
- chore: optimize allocation in get_pooled_transaction_elements by pre‑allocating capacity by @0xKarl98 in #1766
- docs: add TIP-1007 specification for fee token introspection by @gakonst in #2092
- docs: rename sub-blocks to subblocks by @danrobinson in #2101
- chore: rc7 by @Zygimantass in #2099
New Contributors
Full Changelog: v1.0.0-rc.6...v1.0.0-rc.7
v1.0.0-rc.6 - Mainnet candidate
Release v1.0.0-rc.6
v1.0.0-rc.6 fixes a bug in the syncing process for block producing nodes. We recommend that Moderato block producers upgrade to this release whenever convenient.
What's Changed
- test(primitives): ensure webauthn injection is not possible by @0xrusowsky in #2038
- feat: FeeAMM & FeeManager invariant testing by @zerosnacks in #2025
- refactor(revm): replace AccessKeyAuthorizationFailed with concrete error types by @rakita in #2040
- feat(tips): TIP-1000: State Creation Cost Increase by @dankrad in #2034
- feat(tempo-bench): use Secp256k1Signer for better signing performance by @mattsse in #2052
- feat(tips): TIP-1003: client order IDs by @danrobinson in #2023
- feat(tips): TIP-1002: prevent crossed orders by @danrobinson in #2022
- docs: add TIP-1004 for permit() on TIP-20 by @danrobinson in #2024
- docs: tweaks by @tmm in #2019
- feat(tips): TIP-1005: fix ask swap rounding loss by @danrobinson in #2029
- feat(tips): TIP-1001: place-only mode for next quote token by @danrobinson in #2021
- docs: add dynamic SEO metadata to all pages by @juandolealt in #2018
- refactor(executor): remove fill_holes backfill logic by @joshieDo in #2056
- chore: rc6 by @Zygimantass in #2059
- chore: pin GitHub Actions to full-length commit SHAs by @Zygimantass in #2050
Full Changelog: v1.0.0-rc.5...v1.0.0-rc.6
Release v1.0.0-rc.5
This release is the next candidate for the Moderato and Mainnet networks.
Highlights
Fixes
- Payload builder timestamp validation: Aligned timestamp validation logic with the handler to prevent edge-case block rejections (#2017)
- Fixed ulimit unlimited bash-specific behavior in tempo.nu to improve cross-shell support (#2016)
- Fixed webauth signature validation (#2036)
All RPC nodes operators should update their nodes as soon as possible
Improvements
- CI optimization: Separated test building and execution for faster CI feedback (#2015)
- E2E test stability: Configured timeouts and fixed the restart-after-snapshot test (#2013)
- Code cleanup: Simplified size functions (#1965)
What's Changed
- fix(docs): bump viem, wagmi to fix sponsored transaction guide by @struong in #1972
- fix: revert 1950, re-enable snapshot execution tests by @0xKitsune in #1978
- fix(specs): cache order values before calling
_clearTickBitby @onbjerg in #1933 - fix(precompiles): array packing never spans slot boundary by @0xrusowsky in #1964
- fix(tip20): require root tokens quote token to be
address(0)by @0xKitsune in #1980 - feat(rpc): remove dex_, policy_ and amm_ RPC namespaces by @Zygimantass in #1991
- fix(rpc): disable local pending block by @mattsse in #1982
- fix(precompiles):
FromWordimpl forFixedBytesby @0xrusowsky in #1967 - Move and update spec template from outdated docs repo by @dankrad in #1912
- fix(revm): ensure that adjusted gas isn't above the gas limit before by @0xrusowsky in #1987
- feat(genesis): add mainnet gas token support by @Zygimantass in #1988
- fix! : access keys from 7702 delegating accounts by @legion2002 in #1990
- Revert "fix(revm): ensure that adjusted gas isn't above the gas limit before" by @0xKitsune in #2001
- feat(chainspec): add T0 hardfork with security fixes by @legion2002 in #2002
- fix! : apply 1987 fixes with T0 hardfork gating by @legion2002 in #2008
- chore: 1.0.0-rc.4 by @Zygimantass in #1998
- fix(tempo.nu): ulimit unlimited is a bash-ism by @DaniPopes in #2016
- chore(e2e): config to timeout and pass restart-after-snapshot test by @SuperFluffy in #2013
- chore: simplify size functions by @DaniPopes in #1965
- feat(ci): separate test building and running by @SuperFluffy in #2015
- test: stablecoin DEX invariant tests by @grandizzy in #1924
- fix(payload-builder): align timestamp validation with handler by @0xrusowsky in #2017
- feat:
robots.txt+ gsc by @o-az in #1919 - chore(primitives): cleanup by @0xrusowsky in #2036
Full Changelog: v1.0.0-rc.3...v1.0.0-rc.5
v1.0.0-rc.3 - Mainnet release candidate
This is another release candidate for the Moderato and Mainnet networks.
It contains bug fixes for:
- double metrics reporting from the consensus engine
- crash on startup when synced from snapshot
- default download URL for downloading snapshots on Moderato
We recommend that node operators and validators upgrade as soon as possible.
What's Changed
- Fix node guide links by @snario in #1886
- test(precompiles): add coverage for fee AMM and account keychain by @0xKitsune in #1947
- fix(genesis): make the validator address logic simpler by @Zygimantass in #1857
- chore(precompiles): add
fn is_initializedtoStorageContractby @0xrusowsky in #1957 - docs: links to moderato in readme by @snario in #1963
- chore(docs): bump viem to 2.44.0 by @struong in #1951
- fix(consensus): exit epochs after DKGs are concluded by @SuperFluffy in #1960
- fix(consensus): prune state segments only after reading them first by @SuperFluffy in #1966
- chore: bump rc to 3 by @Zygimantass in #1968
- test(transaction-pool): improve test quality and coverage by @fgimenez in #1930
- feat(snapshot): use moderato as default download url by @Zygimantass in #1969
Full Changelog: v1.0.0-rc.2...v1.0.0-rc.3
Release v1.0.0-rc.2
This is the third release candidate for Moderato and Mainnet networks.
This release contains a fix that adds the default --follow URL depending on the chain you pick. We strongly recommend that node operators who are on the Moderato testnet upgrade as soon as possible.
What's Changed
- chore(precompiles): add
FixedBytesstorage test by @zerosnacks in #1943 - fix(specs): update bestBidTick/bestAskTick when cancelling last order at best tick by @onbjerg in #1934
- moderato docs by @jenpaff in #1929
- feat(docs): add node versions by @Zygimantass in #1944
- chore: add
--max-concurrent-requestsflag totempo.nu benchby @shekhirin in #1942 - fix(docs): use tempoModerato instead of tempoTestnet by @struong in #1949
- docs: stablecoin dex refs by @jxom in #1945
- docs: cleaner testnet network upgrade info by @snario in #1946
- chore(test): Testing coverage for revm handler by @rakita in #1889
- test(precompiles): increase coverage for TIP20Factory by @0xrusowsky in #1952
- fix(tip20): prevent cycles in quote token updates for
pathUSDby @0xrusowsky in #1950 - test(primitives + payload): increase unit test coverage by @0xrusowsky in #1920
- fix(txpool): respect size limit in get_pooled_transaction_elements for AA2dPool by @mattsse in #1954
- chore: add fuzz tests & solidity impl for AccountKeychain precompile by @legion2002 in #1307
- docs: update foundry docs by @grandizzy in #1955
- feat(chainspec/node): add follow defaults based on chainspec by @Zygimantass in #1958
Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2
v1.0.0-rc1 - Mainnet candidate
This release launches the Moderato testnet, replacing the original Andantino testnet (will be deprecated March 8th, 2025). Moderato closely mirrors the mainnet release candidate with improved infrastructure and reliability. v1.0.0-rc.1 comes with major improvements on node operator UX, focuses on stabilization and bug fixes.
Migration Required
If you were using the Tempo testnet before January 8th, 2025, see the Network Upgrades documentation for migration steps. Update RPC URL to https://rpc.moderato.tempo.xyz and Chain ID to 42431. See our docs for more detailed information.
Node operators: Please note the --follow flag currently defaults to the old Andantino RPC. Pass the Moderato URL explicitly until the next release:
--follow wss://rpc.moderato.tempo.xyzBreaking Changes
This release removes all previous hardfork logic and updates to the latest commonware version (PR #1928).
-
Consolidated DEX Events: OrderPlaced and FlipOrderPlaced events are now consolidated into a single OrderPlaced event with isFlipOrder and flipTick fields. For regular orders, isFlipOrder is false and flipTick is 0.
-
Consistent Naming: Stablecoin Exchange → Stablecoin DEX: All references to "stablecoin exchange" have been renamed to "stablecoin DEX" for consistency.
-
TIP20 Deployment Scheme: Token addresses now include the deployer in the address calculation, preventing front-running attacks on token deployments (PR #1819).
-
TIPFeeManager API: Removed get_fee_token_balance() to prevent misleading balance queries. Use balanceOf on the TIP20 token directly (PR #1874).
Features
This release brings major improvements for node operators and network security. Nodes can now near-instantly start syncing from the network tip (fast sync), dramatically reducing time-to-sync for new or recovering validators. Additionally, the network can now refresh its cryptographic identity when validators change (re-DKG), eliminating historical key material and strengthening security.
-
Fast Sync: Validators will skip to the network tip without finalizing every block in between if they fell too many epochs behind. Security is maintained by verifying all network identities at epoch boundaries. This works without operator intervention (PR #1822).
-
Snapshot sync: Validators can now join a network from a snapshot. If a trusted snapshot is provided at startup, the node will read the latest available network identity instead of syncing from genesis (PR #1838).
-
Re-DKG: added a trigger to the validator-config precompile to generate a new network identity via the DKG mechanism. This invalidates historic threshold key shares and addresses the toxic waste problem (PR #1821, #1680).
-
Consensus RPC: Added consensus_ RPC namespace for querying finalization status and subscribing to consensus events (PR #1868).
-
TIP20 Pending Rewards: Added getPendingRewards view function to query claimable rewards without state change (PR #1632).
-
Stablecoin DEX: Increased minimum order amount for stablecoin DEX orders (PR #1802).
Bug Fixes
This release includes security hardening (DOS prevention, gas calculation fixes) and correctness improvements for contract deployments and DEX operations.
- PR #1888+ PR #1899: Drop transactions above gas budget to prevent DOS attacks
- PR #1792: Fixed contract address calculations for CREATE operations; addresses now correctly match receipt contractAddress
- PR #1851: Fixed unnecessary protocol nonce bumping on CREATE revert when using 2D nonces
- PR #1941: Fixed multicall gas calculation in revm handler that was over-refunding gas
- PR #1936: Fixed FeeAMM to handle zero amounts gracefully
- PR #1903: Updated DEX reference implementation to round up escrow amounts
- PR #1932: Fixed allocator initialization
Full Changelog
- chore: rename bench.nu to tempo.nu by @shekhirin in #1698
- feat(docs): add validator guide by @Zygimantass in #1559
- chore(llm): add amp tools for tempo.nu by @Zygimantass in #1704
- feat(docs): allegro moderato by @jenpaff in #1653
- Fix the Artemis Tempo link by @akegaviar in #1584
- feat: implement PostHog custom event tracking for docs by @juandolealt in #1687
- chore(deps): run cargo shear by @DaniPopes in #1691
- feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in #1551
- Add
stableDocker tag for tag-triggered builds by @Zygimantass in #1737 - fix: propagate features correctly by @klkvr in #1731
- fix: clean-up 2d nonce pool tracker by @klkvr in #1738
- chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in #1745
- feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in #1671
- Partition
cargo hack checkinto 2 CI matrix jobs by @Zygimantass in #1748 - docs: add dRPC in Developer tools by @joshitzko in #1747
- docs: add theta and path USD to fee token guide by @struong in #1754
- docs: Tempo Transaction guide in nav by @struong in #1756
- chore: bump commonware to 4a5fca0 by @SuperFluffy in #1678
- fix(stablecoin-exchange): use centralized price conversion functions by @fgimenez in #1763
- faucet fix by @malleshpai in #1771
- fix(docs): correct safe deployer repo by @Zygimantass in #1728
- fix: catch slot collisions when using
base_slotattrib by @0xrusowsky in #1777 - fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in #1652
- refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in #1759
- chore!: bump commonware to v0.0.64 by @SuperFluffy in #1778
- feat!: remove hardfork logic by @0xrusowsky in #1707
- feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in #1632
- fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in #1630
- feat(consensus): backfill missing execution layer blocks by @SuperFluffy in #1781
- perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in #1622
- perf: remove redundant balance read in transfer by @legion2002 in #1793
- fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in #1795
- fix(specs): update reference implementation of stablecoin DEX by @danrobinson in #1796
- fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in #1628
- fix: add pause check to transfer_fee_pre_tx by @legion2002 in #1799
- fix: validator fee tracking by token by @legion2002 in #1798
- fix: update auth checks when claiming rewards by @0xKitsune in #1800
- Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in #1804
- feat: increase min order amount for stable dex orders by @0xKitsune in #1802
- fix: add revert if policy doesn't exist by @legion2002 in #1801
- docs: remove outdated pending swaps claim from burn function by @yongkangc in #1810
- feat: add new MintWithValidatorToken event with field by @howydev in #1466
- fix(dex): have flip orders only draw from internal balances by @danrobinson in #1806
- fix(specs): function to cancel stale order by @danrobinson in #1794
- fix(executor): propagate fork choice update errors by @fgimenez in #1774
- docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in #1791
- fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in #1805
- chore: remove compact hack for mainnet by @legion2002 in #1814
- fix: std
get_validator_tokento return the default token when unset by @0xrusowsky in #1651 - fix: intrinsic gas checks in validator by @legion2002 in #1666
- fix: incorrect permit2 bytecode by @howydev in #1789
- chore(audit): misc comments from auditors by @0xrusowsky in #1662
- Add info on supported platforms by @jenpaff in #1837
- fix(dex...
v1.0.0-rc.1 - Mainnet candidate
Important
DO NOT run this binary version on Andantino testnet. This release is meant for the Moderato network, and will corrupt an Andantino node's database.
This is the release for the mainnet candidate and Moderato network. It contains removals of hardforks from the Andantino testnet, includes other security and performance improvements.
What's Changed
- chore: rename bench.nu to tempo.nu by @shekhirin in #1698
- feat(docs): add validator guide by @Zygimantass in #1559
- chore(llm): add amp tools for tempo.nu by @Zygimantass in #1704
- feat(docs): allegro moderato by @jenpaff in #1653
- Fix the Artemis Tempo link by @akegaviar in #1584
- feat: implement PostHog custom event tracking for docs by @juandolealt in #1687
- chore(deps): run cargo shear by @DaniPopes in #1691
- feat(xtask): move generate-signing-key to consensus subcmd by @Zygimantass in #1551
- Add
stableDocker tag for tag-triggered builds by @Zygimantass in #1737 - fix: propagate features correctly by @klkvr in #1731
- fix: clean-up 2d nonce pool tracker by @klkvr in #1738
- chore: add RUSTSEC-2025-0137 to deny.toml by @0xKitsune in #1745
- feat!(consensus): remove all pre-allegretto logic by @SuperFluffy in #1671
- Partition
cargo hack checkinto 2 CI matrix jobs by @Zygimantass in #1748 - docs: add dRPC in Developer tools by @joshitzko in #1747
- docs: add theta and path USD to fee token guide by @struong in #1754
- docs: Tempo Transaction guide in nav by @struong in #1756
- chore: bump commonware to 4a5fca0 by @SuperFluffy in #1678
- fix(stablecoin-exchange): use centralized price conversion functions by @fgimenez in #1763
- faucet fix by @malleshpai in #1771
- fix(docs): correct safe deployer repo by @Zygimantass in #1728
- fix: catch slot collisions when using
base_slotattrib by @0xrusowsky in #1777 - fix: support UP/UV validation sigs to always accept UV=1 by @0xrusowsky in #1652
- refactor!(consensus): standardize dkg with upstream commonware by @SuperFluffy in #1759
- chore!: bump commonware to v0.0.64 by @SuperFluffy in #1778
- feat!: remove hardfork logic by @0xrusowsky in #1707
- feat(tip20): add getPendingRewards view function to query claimable rewards without state change by @fgimenez in #1632
- fix(precompiles): reject zero public key in ValidatorConfig to prevent non-existent validators by @fgimenez in #1630
- feat(consensus): backfill missing execution layer blocks by @SuperFluffy in #1781
- perf(orderbook): optimize tick bitmap traversal using word-level bit manipulation by @fgimenez in #1622
- perf: remove redundant balance read in transfer by @legion2002 in #1793
- fix(stablecoin-exchange): use consistent rounding for bid order cancel refunds by @fgimenez in #1795
- fix(specs): update reference implementation of stablecoin DEX by @danrobinson in #1796
- fix(rpc): mitigate subblock tx DoS via early validator filtering and increased channel capacity by @fgimenez in #1628
- fix: add pause check to transfer_fee_pre_tx by @legion2002 in #1799
- fix: validator fee tracking by token by @legion2002 in #1798
- fix: update auth checks when claiming rewards by @0xKitsune in #1800
- Bump commonware to d16c7481c72cf6f19b77e1435f1e5dd8e32a1aac by @kamsz in #1804
- feat: increase min order amount for stable dex orders by @0xKitsune in #1802
- fix: add revert if policy doesn't exist by @legion2002 in #1801
- docs: remove outdated pending swaps claim from burn function by @yongkangc in #1810
- feat: add new MintWithValidatorToken event with field by @howydev in #1466
- fix(dex): have flip orders only draw from internal balances by @danrobinson in #1806
- fix(specs): function to cancel stale order by @danrobinson in #1794
- fix(executor): propagate fork choice update errors by @fgimenez in #1774
- docs(specs): change DEX pair storage layout to be order-sensitive by @danrobinson in #1791
- fix(specs): check 403 policy on both tokens in stablecoin DEX by @danrobinson in #1805
- chore: remove compact hack for mainnet by @legion2002 in #1814
- fix: std
get_validator_tokento return the default token when unset by @0xrusowsky in #1651 - fix: intrinsic gas checks in validator by @legion2002 in #1666
- fix: incorrect permit2 bytecode by @howydev in #1789
- chore(audit): misc comments from auditors by @0xrusowsky in #1662
- Add info on supported platforms by @jenpaff in #1837
- fix(dex): upcast to U256 before mulDiv in base_to_quote and quote_to_base by @fgimenez in #1835
- fix: prevent index overflow in
VecHandlerby @0xrusowsky in #1631 - fix: ensure mutable TIP20Token calls point to initialized addresses by @0xrusowsky in #1790
- docs(alloy): add tip20 example in crate docs by @onbjerg in #1830
- fix: monitor pool creation by listening events + use token WL by @fgimenez in #1820
- fix(dex): round up baseNeeded in exactOut for bids by @danrobinson in #1823
- use a larger runner for docs generation by @brendanjryan in #1840
- feat: add re-dkg trigger methods to validator precompile by @joshieDo in #1680
- feat!(consensus): fast sync by @SuperFluffy in #1822
- feat(consensus): start at the latest finalized height, not at genesis by @SuperFluffy in #1838
- fix: create address calculations + restrictions by @legion2002 in #1792
- chore: remove TODOs, FIXMEs by @SuperFluffy in #1843
- feat: add full dkg mechanism by @joshieDo in #1821
- add missing article to tempo txn docs by @brendanjryan in #1850
- fix(docs): bump viem to 2.43.5 by @struong in #1849
- feat(xtask): add genesis customization options by @Zygimantass in #1836
- fix: validate calls inside handler by @legion2002 in #1845
- fix(revm): don't re-bump nonce on CREATE revert with 2D nonces by @legion2002 in #1851
- fix(precompiles-macros): account for last field
SLOTSby @0xrusowsky in #1847 - feat!: change tip20 deployment scheme by @howydev in #1819
- fix: properly check if an account is cold when loading its info by @0xrusowsky in #1855
- feat(precompiles): impl
IndexandIndexMuttraits by @0xrusowsky in #1488 - perf(precompiles)!: use efficient packing strategy by @0xrusowsky in #1848
- fix: review fixes by @howydev in #1859
- chore(docs): add AGENTS.md by @struong in #1852
- feat(xtask): add get-dkg-outcome command by @kuyziss in #1858
- refactor(consensus): surface the executor actor by @SuperFluffy in #1861
- docs: remove deadlink from nav by @malleshpai in #1863
- fix: update
swap_exact_amount_outto use saturating sub by @0xKitsune in #1867 - fix: remove unnecessary checks on
TIPFeeManager.burn()by @0xKitsune in #1871 - fix: update min/max price in spec by @0xKitsune in #1869
- chore: bump msrv to 1.91 by @SuperFluffy in #1877
- docs: tempo.ts/wagmi -> wagmi/tempo by @tmm in https:/...