Skip to content

feat: apr 2 ism updates#1449

Merged
paulbalaji merged 2 commits intomainfrom
pb/apr2
Apr 3, 2026
Merged

feat: apr 2 ism updates#1449
paulbalaji merged 2 commits intomainfrom
pb/apr2

Conversation

@paulbalaji
Copy link
Copy Markdown
Collaborator

@paulbalaji paulbalaji commented Apr 2, 2026

Description

feat: apr 2 ism updates

hyperlane-xyz/hyperlane-monorepo#8515

Backward compatibility

Testing


Note

High Risk
Updates interchainSecurityModule contract addresses across many chain registry entries, which directly affects message verification/security and can break cross-chain delivery if any address is incorrect. Large, wide-scope config change with operational risk despite being data-only.

Overview
Updates the registry’s deployed ISM configuration for the Apr 2 multisig batch.

Adds a changeset bumping @hyperlane-xyz/registry as a minor release, and updates the interchainSecurityModule address in a large set of chains/*/addresses.yaml files (no other contract addresses appear to change).

Written by Cursor Bugbot for commit d768f10. This will update automatically on new commits. Configure here.

@paulbalaji paulbalaji marked this pull request as ready for review April 2, 2026 18:01
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 2, 2026

📝 Walkthrough

Walkthrough

This PR adds a changeset entry marking a minor version bump for the registry package and updates the interchainSecurityModule contract addresses across 171 blockchain network configuration files as part of an April 2nd multisig batch.

Changes

Cohort / File(s) Summary
Registry Changeset
.changeset/cyan-books-rest.md
Added minor version bump entry for @hyperlane-xyz/registry with release note "April 2nd multisig batch."
Chain Interchain Security Module Updates
chains/*/addresses.yaml (171 chains)
Updated interchainSecurityModule contract address for all configured chains including adichain, ancient8, apechain, arbitrum, avalanche, base, ethereum, optimism, polygon, and 161 others. Each file receives a single address value update.

Possibly related PRs

  • #1307: Performs the same type of multisig batch update—bulk updates to interchainSecurityModule addresses across chains with a corresponding registry changeset.
  • #1018: Similar code-level changes involving registry changeset addition and widespread chain address configuration updates.
  • #1270: Also modifies interchainSecurityModule addresses across multiple chains and adds a registry changeset update.
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: apr 2 ism updates' clearly and concisely summarizes the main change: updating ISM addresses for the April 2 multisig batch across the registry.
Description check ✅ Passed The description covers the main change with a reference link and includes a detailed summary with risk assessment; however, the template sections for 'Backward compatibility' and 'Testing' are incomplete but not critical since the core information is present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 15

🧹 Nitpick comments (4)
chains/xlayer/addresses.yaml (1)

7-7: Add provenance breadcrumbs for this ISM address swap.

Line 7 is a high-impact verifier change; please include (or link) the multisig tx hash/source mapping for this chain in PR context so operators can audit confidently before merge.

Based on learnings: "When adding or changing contract addresses, note the source (PR, tx hash) for address provenance".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@chains/xlayer/addresses.yaml` at line 7, The interchainSecurityModule address
change is a high-impact verifier update; update the PR and the
interchainSecurityModule entry to include provenance breadcrumbs by adding the
multisig transaction hash (or linked source/PR) that authorized this address
swap and a short note (e.g., multisig tx hash, block explorer URL, or governance
PR link) so operators can audit it; ensure the provenance is adjacent to the
interchainSecurityModule symbol in the same change and mention the exact
multisig tx hash in the PR description for traceability.
chains/optimism/addresses.yaml (1)

11-11: Add provenance for this address rotation in a durable place.

For this kind of high-impact address swap, please include tx hash / multisig execution reference (commit message, PR body, or adjacent metadata) so future audits can trace why this value changed.

Based on learnings: "When adding or changing contract addresses, note the source (PR, tx hash) for address provenance".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@chains/optimism/addresses.yaml` at line 11, The interchainSecurityModule
address was rotated but lacks provenance; update the entry for
interchainSecurityModule in chains/optimism/addresses.yaml to include durable
provenance (e.g., add an adjacent metadata field or comment containing the
multisig execution reference and transaction hash and link to the PR/commit) so
auditors can trace the change—ensure the provenance is stored alongside the
interchainSecurityModule key and includes the tx hash, multisig execution ID (or
link), date, and PR/commit reference.
chains/cyber/addresses.yaml (1)

7-7: Changeset adequately documents batch provenance—consider adding the Safe transaction hash for deeper auditability.

The cyber ISM update is part of the documented "April 2nd multisig batch" per .changeset/cyan-books-rest.md. Since multisig batches are the standard procedure for mass ISM updates across chains, the batch-level documentation provides sufficient provenance. To enhance auditability for fast rollback scenarios, consider adding the Safe transaction hash or governance proposal URL directly to the changeset entry.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@chains/cyber/addresses.yaml` at line 7, Update the changeset metadata to
include the Safe multisig transaction hash or governance proposal URL for this
ISM update: locate the entry that sets interchainSecurityModule =
"0x855857015094C04d2743B3D04FEfC713b6EC7762" and add a field (e.g., safeTxHash
or proposalUrl) with the Safe transaction hash or proposal link so reviewers can
trace the April 2nd multisig batch directly from the changeset.
chains/coti/addresses.yaml (1)

7-7: Add provenance for this ISM address update.

Line 7 looks structurally correct, but this is a high-impact config change; add a provenance note (Apr 2 multisig tx hash / source doc) so auditors can trace it quickly.

Based on learnings: When adding or changing contract addresses, note the source (PR, tx hash) for address provenance.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@chains/coti/addresses.yaml` at line 7, Add a provenance comment for the
interchainSecurityModule address by appending a short provenance note that cites
the Apr 2 multisig transaction hash and a source document or PR link so auditors
can verify the change; specifically, update the entry for
interchainSecurityModule to include a provenance line (e.g., "provenance: Apr 2
multisig tx: <tx-hash>, source: <doc/PR link>") adjacent to the
interchainSecurityModule value to document where the address came from.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.changeset/cyan-books-rest.md:
- Line 5: Update the release note line that currently reads "April 2nd multisig
batch." to include address provenance details: append the multisig transaction
hash(es) or the canonical execution PR URL for the ISM rotation and list any
changed/added contract addresses alongside their source provenance; ensure the
note clearly labels each address with its source (e.g., "multisig tx: <hash>" or
"PR: <link>") so future audit/rollback can trace the change.

In `@chains/adichain/addresses.yaml`:
- Line 7: Add provenance metadata for the interchainSecurityModule entry
(address "0xd24d5Bc3A4FC914b2b8a90FAE4e825Fd4d2D2e14") by appending fields that
record the deployment transaction hash, block number and timestamp, a
block-explorer verification link for the contract, and the multisig transaction
reference or PR that approved this April 2nd multisig batch; update the
addresses YAML entry for interchainSecurityModule to include keys like
deploymentTxHash, deploymentBlock, deploymentTimestamp, explorerUrl, and
multisigTxRef (or prRef) so future auditors can trace the origin.

In `@chains/appchain/addresses.yaml`:
- Line 8: The interchainSecurityModule address was changed without provenance;
update the addresses.yaml entry for interchainSecurityModule to include a source
marker (e.g., a comment line or an adjacent metadata key like
interchainSecurityModule_provenance) that records the authoritative reference
(PR number or multisig tx hash, date, and author/approver) so future triage can
find the origin; locate the interchainSecurityModule entry and add that
provenance information directly alongside it.

In `@chains/berachain/addresses.yaml`:
- Line 7: The interchainSecurityModule address was changed without provenance;
update the chains/berachain/addresses.yaml by adding provenance details for the
interchainSecurityModule key (e.g., the multisig transaction hash and/or
authorizing PR number, author, and date) either as an inline comment next to
interchainSecurityModule: "0xf0683F..." or in a companion metadata block in the
same file (e.g., interchainSecurityModule_provenance) so ops can audit and roll
back reliably.

In `@chains/endurance/addresses.yaml`:
- Line 7: The interchainSecurityModule entry (interchainSecurityModule:
"0x62d335f32fc171B16880AE01d531c7897a831911") was changed without a source
reference; update the PR description to include the multisig proposal ID or
transaction hash that authorized this ISM address change (and, if available, a
block-explorer link and brief note of the multisig or proposer), following the
REVIEW.md pattern for address updates so maintainers can trace the origin of the
update.

In `@chains/kiichain/addresses.yaml`:
- Line 8: The addresses.yaml entry for interchainSecurityModule
("interchainSecurityModule: \"0x94BE8ECfBb7b86984f57601eB409f4f67BbeD428\"")
lacks a provenance reference to the April 2nd multisig execution; update the
provenance metadata for this change to include the specific Safe transaction
hash or full Safe tx URL (e.g., the Safe tx hash or
https://gnosis-safe.io/app/.../transactions/<txHash>) so reviewers can directly
verify the multisig batch that updated the ISM.

In `@chains/linea/addresses.yaml`:
- Line 7: Update the interchainSecurityModule entry to include provenance
metadata for the new address value; specifically annotate the
interchainSecurityModule (the "0xA995...EF92" value) with the transaction hash
or PR/source URL and a short note (e.g., "deployed in tx: <tx-hash>" or "updated
in PR: <PR-link>") so operators can trace the change—add this as a comment or a
provenance field adjacent to the interchainSecurityModule entry in
chains/linea/addresses.yaml.

In `@chains/mitosis/addresses.yaml`:
- Line 7: Add the multisig transaction hash for auditability next to the
interchainSecurityModule entry in addresses.yaml (reference key:
interchainSecurityModule) so future troubleshooting can trace the exact multisig
batch; add a new field like interchainSecurityModuleTxHash (or a single
"multisigTxHash" alongside the module key) containing the tx hash string or a
short link, and ensure the value matches the multisig batch noted in
.changeset/cyan-books-rest.md for easy cross-reference.

In `@chains/ontology/addresses.yaml`:
- Line 7: The interchainSecurityModule address update lacks provenance metadata;
annotate the entry for interchainSecurityModule
("0x39E4155e0Bd2A02f428FA1410993614785Aa6f62") with a provenance field
referencing the authoritative source (e.g., PR number and/or transaction hash)
so reviewers can verify the change; add a short provenance note adjacent to
interchainSecurityModule indicating the source identifier and optional timestamp
or block number.

In `@chains/opbnb/addresses.yaml`:
- Line 7: Add provenance for the interchainSecurityModule address in
chains/opbnb/addresses.yaml by annotating the entry with the source of the
address (e.g., multisig transaction hash, PR number, or block explorer URL);
update the interchainSecurityModule key to include a comment or add a nearby
metadata field (e.g., interchainSecurityModule_provenance or a metadata mapping)
that records the exact tx hash/PR and an optional human-readable note and
timestamp so reviewers can verify the change.

In `@chains/optimism/addresses.yaml`:
- Line 11: Update the aggregate chains/addresses.yaml to match the per-chain ISM
changes so all eight chains use the new interchainSecurityModule values; locate
the entries for interchainSecurityModule in chains/addresses.yaml and replace
the old addresses for optimism, electroneum, moonbeam, b3, astar, ink, lukso,
and tac with the corresponding new values from each per-chain file (e.g., the
interchainSecurityModule value in chains/optimism/addresses.yaml), verify there
are no remaining discrepancies between the aggregate and per-chain files, and
commit the synchronized aggregate file with a clear message indicating it was
updated to match per-chain ISM values.

In `@chains/reactive/addresses.yaml`:
- Line 7: The interchainSecurityModule address entry lacks provenance; update
the addresses YAML by adding a provenance reference for the
interchainSecurityModule key (e.g., a comment or a new provenance field) that
records the source of this address (multisig tx hash, deployment artifact or PR
link), include the date and author/creator, and ensure the provenance is
human-readable and machine-parsable so reviewers can trace and roll back this
high-risk change.

In `@chains/shibarium/addresses.yaml`:
- Line 7: The interchainSecurityModule address was added without provenance;
update the interchainSecurityModule entry to include a provenance field (e.g.,
tx hash and/or PR URL and a short note) adjacent to the address so the source is
recorded; ensure you reference the exact symbol name interchainSecurityModule
and add a provenance key/value (txHash or sourcePR) describing where the address
came from and any verification notes.

In `@chains/soneium/addresses.yaml`:
- Line 7: Add provenance metadata for the updated interchainSecurityModule
address entry by appending a source reference (governing transaction hash or PR
reference) alongside the interchainSecurityModule:
"0xACE659E0eF1eD4E75b2748aa53B8B51055a319B7" value in the addresses.yaml entry;
include the tx hash or PR ID and an ISO8601 date and a brief label (e.g.,
"governing_tx" / "source_pr") so the change is auditable and clearly linked to
its origin.

In `@chains/superseed/addresses.yaml`:
- Line 7: Add provenance metadata for the interchainSecurityModule address
change: update the interchainSecurityModule entry in
chains/superseed/addresses.yaml to include a source reference (e.g., multisig
transaction hash or approved batch pointer and optionally PR number) alongside
the address so operators can verify the change; ensure the entry clearly names
the source (e.g., "source: multisig tx 0x...") and date or PR id to match the
registry's provenance format.

---

Nitpick comments:
In `@chains/coti/addresses.yaml`:
- Line 7: Add a provenance comment for the interchainSecurityModule address by
appending a short provenance note that cites the Apr 2 multisig transaction hash
and a source document or PR link so auditors can verify the change;
specifically, update the entry for interchainSecurityModule to include a
provenance line (e.g., "provenance: Apr 2 multisig tx: <tx-hash>, source:
<doc/PR link>") adjacent to the interchainSecurityModule value to document where
the address came from.

In `@chains/cyber/addresses.yaml`:
- Line 7: Update the changeset metadata to include the Safe multisig transaction
hash or governance proposal URL for this ISM update: locate the entry that sets
interchainSecurityModule = "0x855857015094C04d2743B3D04FEfC713b6EC7762" and add
a field (e.g., safeTxHash or proposalUrl) with the Safe transaction hash or
proposal link so reviewers can trace the April 2nd multisig batch directly from
the changeset.

In `@chains/optimism/addresses.yaml`:
- Line 11: The interchainSecurityModule address was rotated but lacks
provenance; update the entry for interchainSecurityModule in
chains/optimism/addresses.yaml to include durable provenance (e.g., add an
adjacent metadata field or comment containing the multisig execution reference
and transaction hash and link to the PR/commit) so auditors can trace the
change—ensure the provenance is stored alongside the interchainSecurityModule
key and includes the tx hash, multisig execution ID (or link), date, and
PR/commit reference.

In `@chains/xlayer/addresses.yaml`:
- Line 7: The interchainSecurityModule address change is a high-impact verifier
update; update the PR and the interchainSecurityModule entry to include
provenance breadcrumbs by adding the multisig transaction hash (or linked
source/PR) that authorized this address swap and a short note (e.g., multisig tx
hash, block explorer URL, or governance PR link) so operators can audit it;
ensure the provenance is adjacent to the interchainSecurityModule symbol in the
same change and mention the exact multisig tx hash in the PR description for
traceability.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e8e97553-e26b-4c1e-9314-aa52e8abf105

📥 Commits

Reviewing files that changed from the base of the PR and between c1310f0 and d768f10.

📒 Files selected for processing (118)
  • .changeset/cyan-books-rest.md
  • chains/adichain/addresses.yaml
  • chains/ancient8/addresses.yaml
  • chains/apechain/addresses.yaml
  • chains/appchain/addresses.yaml
  • chains/arbitrum/addresses.yaml
  • chains/arbitrumnova/addresses.yaml
  • chains/arcadia/addresses.yaml
  • chains/artela/addresses.yaml
  • chains/astar/addresses.yaml
  • chains/aurora/addresses.yaml
  • chains/avalanche/addresses.yaml
  • chains/b3/addresses.yaml
  • chains/base/addresses.yaml
  • chains/berachain/addresses.yaml
  • chains/bitlayer/addresses.yaml
  • chains/blast/addresses.yaml
  • chains/bob/addresses.yaml
  • chains/boba/addresses.yaml
  • chains/botanix/addresses.yaml
  • chains/bsc/addresses.yaml
  • chains/bsquared/addresses.yaml
  • chains/carrchain/addresses.yaml
  • chains/celo/addresses.yaml
  • chains/chilizmainnet/addresses.yaml
  • chains/citrea/addresses.yaml
  • chains/coredao/addresses.yaml
  • chains/coti/addresses.yaml
  • chains/cyber/addresses.yaml
  • chains/degenchain/addresses.yaml
  • chains/dogechain/addresses.yaml
  • chains/electroneum/addresses.yaml
  • chains/endurance/addresses.yaml
  • chains/eni/addresses.yaml
  • chains/ethereum/addresses.yaml
  • chains/everclear/addresses.yaml
  • chains/fantom/addresses.yaml
  • chains/flare/addresses.yaml
  • chains/flowmainnet/addresses.yaml
  • chains/fluent/addresses.yaml
  • chains/fraxtal/addresses.yaml
  • chains/fusemainnet/addresses.yaml
  • chains/galactica/addresses.yaml
  • chains/gnosis/addresses.yaml
  • chains/gravity/addresses.yaml
  • chains/harmony/addresses.yaml
  • chains/hashkey/addresses.yaml
  • chains/hemi/addresses.yaml
  • chains/hyperevm/addresses.yaml
  • chains/igra/addresses.yaml
  • chains/immutablezkevmmainnet/addresses.yaml
  • chains/incentiv/addresses.yaml
  • chains/ink/addresses.yaml
  • chains/kaia/addresses.yaml
  • chains/katana/addresses.yaml
  • chains/kiichain/addresses.yaml
  • chains/lazai/addresses.yaml
  • chains/linea/addresses.yaml
  • chains/lisk/addresses.yaml
  • chains/litchain/addresses.yaml
  • chains/lukso/addresses.yaml
  • chains/lumiaprism/addresses.yaml
  • chains/mantapacific/addresses.yaml
  • chains/mantle/addresses.yaml
  • chains/mantra/addresses.yaml
  • chains/matchain/addresses.yaml
  • chains/merlin/addresses.yaml
  • chains/metal/addresses.yaml
  • chains/metis/addresses.yaml
  • chains/miraclechain/addresses.yaml
  • chains/mitosis/addresses.yaml
  • chains/mocachain/addresses.yaml
  • chains/mode/addresses.yaml
  • chains/monad/addresses.yaml
  • chains/moonbeam/addresses.yaml
  • chains/morph/addresses.yaml
  • chains/nibiru/addresses.yaml
  • chains/ontology/addresses.yaml
  • chains/oortmainnet/addresses.yaml
  • chains/opbnb/addresses.yaml
  • chains/optimism/addresses.yaml
  • chains/orderly/addresses.yaml
  • chains/peaq/addresses.yaml
  • chains/plasma/addresses.yaml
  • chains/plume/addresses.yaml
  • chains/polygon/addresses.yaml
  • chains/polygonzkevm/addresses.yaml
  • chains/polynomialfi/addresses.yaml
  • chains/prom/addresses.yaml
  • chains/pulsechain/addresses.yaml
  • chains/rarichain/addresses.yaml
  • chains/reactive/addresses.yaml
  • chains/redstone/addresses.yaml
  • chains/ronin/addresses.yaml
  • chains/scroll/addresses.yaml
  • chains/shibarium/addresses.yaml
  • chains/somnia/addresses.yaml
  • chains/soneium/addresses.yaml
  • chains/sonic/addresses.yaml
  • chains/stable/addresses.yaml
  • chains/story/addresses.yaml
  • chains/subtensor/addresses.yaml
  • chains/superpositionmainnet/addresses.yaml
  • chains/superseed/addresses.yaml
  • chains/swell/addresses.yaml
  • chains/tac/addresses.yaml
  • chains/taiko/addresses.yaml
  • chains/torus/addresses.yaml
  • chains/tron/addresses.yaml
  • chains/vana/addresses.yaml
  • chains/worldchain/addresses.yaml
  • chains/xai/addresses.yaml
  • chains/xlayer/addresses.yaml
  • chains/xrplevm/addresses.yaml
  • chains/zerogravity/addresses.yaml
  • chains/zetachain/addresses.yaml
  • chains/zircuit/addresses.yaml
  • chains/zoramainnet/addresses.yaml

@paulbalaji paulbalaji enabled auto-merge April 3, 2026 15:24
@paulbalaji paulbalaji added this pull request to the merge queue Apr 3, 2026
Merged via the queue into main with commit 4b67326 Apr 3, 2026
23 checks passed
@paulbalaji paulbalaji deleted the pb/apr2 branch April 3, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants