What's Changed
agents/relayer
- chore(relayer): lower worker thread count (#6712)
- chore(relayer): rename
Processor->DbLoader,SerialSubmitter->MessageProcessor(#6731) - chore: bump toolchain from 1.81 to 1.86 (#6915)
- chore: deprecate alfajores (#6987)
- chore: update toolchain (#7326)
- feat(lander): Batching for Ethereum transactions (#6601)
- feat: Build dispatcher and its endpoint as part of a destination chain (#6773)
- feat: add /merkle_proofs endpoint to show proof (#6980)
- feat: add app_context to operations_processed_count (#6395)
- feat: add endpoints to insert messages and merkle tree insertions (#6228)
- feat: add igp crud endpoints (#6573)
- feat: add ism build count (#6697)
- feat: add kubedns regex for offchain lookup ISM (#6372)
- feat: add message_id to list messages endpoint (#7002)
- feat: add metrics for detecting if merkle root from validators different from relayer internal root (#6816)
- feat: add regex to matching list (#6654)
- feat: add unit tests to ensure correct ordering of validator signatures (#6527)
- feat: add unittests for relayer startup (#6432)
- feat: build a bunch of structs as part of a origin chain (#6807)
- feat: deny unsafe arithmetic (#6927)
- feat: endpoint for reprocessing messages (#6981)
- feat: fix PendingMessage debug print (#6580)
- feat: fix crashes and set metrics instead when rpcs fail (#6278)
- feat: fix offchain lookup not trying all urls (#6813)
- feat: handle failed finalized transactions on sealevel (#6946)
- feat: include insertion_block_number for listing merkle tree insertions (#6785)
- feat: radix (#6895)
- feat: reduce logs (#6494)
- feat: reduce unwrap() and expect() (#6631)
- feat: reduce unwraps and panics (#6764)
- feat: remove redundant logs (#6569)
- feat: report reorg if checkpoint index decreased but block height stayed the same or increased (#7212)
- feat: separate tx id indexing and cursor indexing into separate threads (#6350)
- fix: Change Settings.chains to use HyperlaneDomain as key instead of String (#6769)
- fix: Improve domain logging (#6391)
- fix: Improve logging of failed to build error on CCIP Read ISM (#6757)
- fix: Measure init time correctly in Relayer (#6718)
- fix: Resend message to Lander when payload made it into tx but tx was dropped (#6894)
- fix: Revert "feat: report reorg if checkpoint index decreased but block height stayed the same or increased" (#7252)
- fix: Stop resubmitting a message if there is a payload in Lander which is not dropped (#6880)
- fix: Use only domain in spans so that it is easier to search (#6469)
- refactor(lander): Rename TransactionId, PayloadId and PendingInclusion (#6468)
- refactor(lander): simplify module and type names (#6384)
- refactor: Add app operation verifier and ccip signers into destination chain init (#6814)
- refactor: Add database and chain conf into destination chain init (#6817)
- refactor: Move unit tests in relayer.rs into separate file (#6690)
- refactor: Refactor building mailboxes as part of destination chains (#6808)
agents/scraper
- chore: deprecate cheesechain (#7307)
- feat: Override the lowest block height with value from settings (#6451)
- feat: radix e2e tests (#7060)
- feat: try to build cursor multiple times before giving up (#7225)
- fix: Add domain into spans in Scraper (#6846)
- fix: Improve logging for cursor creation (#6836)
- fix: Scraper: Do nothing when block with hash is already in database (#7289)
agents/validator
- feat(validator): record reorg logs (#7238)
- feat: add metric for observed block height of checkpoints (#7146)
- feat: added fallback to starknet providers (#6537)
- feat: revert metric (#7196)
- feat: validator overwrite and log any checkpoints that don't match its current in-memory version (#6500)
- fix: validator count fetching upon startup is retried (#6470)
- refactor: Move tests into a separate file to simplify code navigation (#7126)
chains/hyperlane-cosmos
- feat: migrate from tendermint to cometbft (#6834)
- fix: add message id multisig ism to relayer (#7061)
- refactor(agents): CosmWasm <> CosmosNative deduplication (#6012)
chains/hyperlane-ethereum
- feat(lander): Builder stage popping several payloads at a time (#6557)
- feat(lander): more advanced nonce manager (#6504)
- feat: Cap gasPrice escalation (by Claude) (#6862)
- feat: Deprioritize failed providers (#6613)
- feat: add gas limit cap (#6879)
- feat: change span to debug (#6663)
- feat: fallback to single tx submission if batching fails (#7247)
- fix: Add log on value is null (#7325)
- fix: Add provider host to logging for EVM (#7068)
- fix: Lander nonce add logs (#7260)
- fix: Request more fee history percentiles if default one returned zeros (#7047)
- refactor: align radix custom rpc header with evm implementation (#7110)
chains/hyperlane-radix
- feat: add process_calldata and build_transactions for radix (#7087)
- feat: add support for recipient for radix (#6961)
- feat: add support for submit, simulate and estimate for radix lander (#7107)
- feat: figure out sender for radix (#6941)
- feat: integrate radix lander (#7117)
- feat: radix lander, add support for delivered_calldata and reverted_payloads (#7067)
- feat: radix lander, implement get_tx_hash_status (#7058)
- feat: radix provider metrics (#7032)
- feat: stokenet deployment (#6944)
- feat: use core provider to get state_version (#6932)
- fix(radix): only index successful tx (#6939)
- refactor: improve radix state queries (#7017)
chains/hyperlane-sealevel
- chore: add new starknet SOL route to SVM relayer application verifier (#6670)
- feat(lander): refactor SVM components to allow mocking (#6742)
- feat(relayer): add trailing bytes on retrying simulate transaction call for sealevel (#7102)
- feat: Implement validator announcement for
hyperlane-sealevel(#7098) - feat: Lander SealevelAdapter is able to report reverted payloads (#7158)
- feat: Scraper add logs for interchain payment PDA pubkey (#7018)
- fix: change the commitment level for Sealevel check of reverted payloads (#7167)
chains/hyperlane-starknet
- chore: update to latest cainome & starknet versions (#6435)
- feat: add batching support for starknet (#6359)
- feat: add starknet provider metrics (#7009)
- fix(starknet): skip dry_run_verify for now (#6615)
- fix: Render Starknet address as hex instead of string (#7137)
- fix: add sanity range check for starknet indexer (#6464)
- fix: failed_indexes for starknet batch submissions (#7135)
- fix: make starknet signer key optional (#6497)
hyperlane-base
- chore: use lander for radix (#7144)
- feat(relayer): default to Lander for evm tx submission (#6695)
- feat(scraper): Add span to cursor indexer task (#7232)
- feat: Add configurable lowest block height to sequence-aware backward cursor (#6436)
- feat: Make Lander the default transaction submitter for Sealevel (#7171)
- feat: add tests to check relative block or seq works (#7029)
- feat: add timeout to AwsSigner (#6414)
- feat: aleo protocol type (#7323)
- feat: allow for relative configurable lowest block height (#6674)
- feat: report chain metrics for unknown domains as well (#6801)
- fix: Add domain into span on creating signer (#6831)
- fix: Bring back domain span so that we can filter by it in agents (#6740)
hyperlane-core
- chore: deprecate chains from infra (#6850)
- chore: deprecate legacy lumia mailbox (#6985)
- chore: deprecate sovachain, holesky (#7279)
- chore: deprecate trumpchain, real, treasure (#6598)
- chore: sept 2025 testnet pruning (#7011)
- feat: add celestia testnet (#6696)
- feat: add galactica, remove kroma (#6622)
- feat: deploy to giwasepolia (#7081)
- feat: deploy to sovachain, deprecate proofofplay (#7166)
- feat: deprecate infinityvm, game7, alephzero (#7099)
- feat: ensure parity between KnownHyperlaneDomain and json config file (#6793)
- feat: sep 29 chain deploys (#7122)
- fix: Log failed requests (#6462)
hyperlane-metric
- feat: agents release workflow (#7194)
lander
- feat(lander): EVM
tx_ready_for_resubmissionimpl; update block_time configs (#6680) - feat(lander): EVM adapter mocking setup (#6450)
- feat(lander): EVM escalator (#6484)
- feat(lander): More tests covering historical incidents (#6624)
- feat(lander): Nonce manager metrics (#6542)
- feat(lander): Take into account processing time when sleeping in Inclusion Stage (#6666)
- feat(lander): evm gas limit metric (#6572)
- feat(lander): more robust SVM
tx_ready_for_resubmission(#6737) - feat(lander): skip waiting for svm tx confirmation; update relayer image (#6775)
- feat(lander): vm-specific metrics (#6541)
- feat: Introduce minimum time between resubmissions for EVM (#6838)
- feat: Lander EVM, periodically update finalized nonce and detect any messages that need reprocessing (#7197)
- feat: check evm tx actually succeeded before determining its tx status (#7016)
- feat: consider failed transactions as finalized as well (#7255)
- feat: track nonces of transactions in db (#7014)
- feat: update liveness metric on each tx (#6990)
- feat: use safe arithmetic for gas estimation (#6844)
- fix(lander): Don't drop transaction if we got nonce too low error (#6682)
- fix(lander): escalation when error is immediately reported (#6506)
- fix(lander): evm max fee per gas metric (#6563)
- fix(lander): lower sleep periods to improve latency (#6668)
- fix(lander): track status of all tx (#7217)
- fix: Add 100% percentile to fee history request and avoid resubmit if no gas price change (#7218)
- fix: Add domain into log spans in Lander (#6911)
- fix: Add logging to gas price escalation in Lander (#6860)
- fix: Add span for payload and message identifiers for transaction being built by Lander (#7208)
- fix: Drop transaction if we cannot resubmit it (#7240)
- fix: HyperEVM block time set to 1 second (#6700)
- fix: Improve logging when we cannot batch payloads for a chain (#6881)
- fix: Make block gas limit exceeds a non-retriable error (#6877)
- fix: Report no items to process only after a loaded item or every 60 seconds (#6616)
- fix: change min gas fees for Ronin and Ink (#7222)
- fix: lander test timing flakes (#6581)
- fix: only escalate if gas price was set previously (#6545)
- fix: reduce excessive eth_getTransactionReceipt queries in Lander (#6868)
- fix: skip simulation after submisison (#6524)
- test(lander): svm inclusion stage setup; happy path (#6752)
- test(lander): svm inclusion tests (#6765)
- test(lander): tx db state assertions (#6604)
utils/run-locally
- feat(submitter): Naive NonceManager implementation with passing E2E (#6378)
- feat: jun 9 multisig batch (#6482)
- fix: radix docker e2e command (#7118)
other
- chore(infra): Celestia mainnet deploy configuration (#6810)
- chore: Increase Relayer storage to 16Gi (#7138)
- chore: catch switchChainAsync for starknet (#6716)
- chore: deprecate rome testnets (#6587)
- chore: new relayer image with less logging, ignore some neutron dest msgs (#6564)
- chore: remove botanix tx overrides (#6751)
- chore: update agent config (#7044)
- chore: update celo metadata in agent config (#6761)
- chore: update registryrc (#7278)
- chore: update to latest registry version (#6381)
- chore: update to latest registry version (#6522)
- chore: update zircuit reorg period (#6952)
- docs(changeset): update HypERC20Checker to use anvil addy for hyp native assertion (#6798)
- feat(deployment): deploy core contracts and agents for paradex (#6465)
- feat(infra): implemented litkey warp route config getter (#7224)
- feat(infra): mantra usdc (#7177)
- feat(rust,sdk): es solana expansion (#6621)
- feat(starknet): use legacy from secret value (#6379)
- feat: add chunk limit to mitosis (#6928)
- feat: add default signer account for paradex validator (#7239)
- feat: deploy on pulsechain (#6957)
- feat: deploy solaxy core (#6574)
- feat: deploy to 0g, sova, mantra (#7066)
- feat: deploy to TAC (#6594)
- feat: deploy to XRPL EVM (#6650)
- feat: deploy to botanix, katana (#6445)
- feat: deploy to celosepolia, incentivtestnet (#6943)
- feat: deploy to mitosis (#6891)
- feat: extend uBTC warp route (#6501)
- feat: gnet warp route (#7104)
- feat: migrate oUSDT ownership to timelocks (#6771)
- feat: move some config options out of configmap (#7164)
- feat: oct 2 multisig batch (#7142)
- feat: pass starkKey address from GCP secrets (#6367)
- feat: pulsechain usdc extension (#7184)
- feat: radix deployment (#6951)
- feat: redeploy on rome testnet (#6543)
- feat: reduce bsc gas to 0.1 gwei (#7199)
- feat: sept 4 speedrun deploys (#6993)
- feat: solx extension (#6699)
- feat: starknet core deployment (#6413)
- feat: subtensor usdc route extension (#6686)
- feat: update agent config with new zircuit config (#6977)
- fix(infra): update cosmos price data schema to fix price fetching (#7059)
- fix: Align reorg period of Hyperliquid mainnet and testnet (#6489)
- fix: Change min gas fee for Incentiv (#7221)
- fix: Configure proper index chunk for moonbeam to fix issues with their RPC (#6392)
- fix: Define indexing configuration for Solaxy (#7088)
- fix: Increase claimed storage size for Relayers to 32Gi (#7180)
- fix: Reduce chunk size to avoid RPC errors (#6427)
- fix: Reduce index chuck to avoid errors (#6889)
- fix: native denom padding on paradex (#6526)