Skip to content

feat: zksync compatibility checks [ZK-004]#23

Open
ljankovic-txfusion wants to merge 79 commits intofeat/zksync-verification-classesfrom
feat/zksync-compatibility-check
Open

feat: zksync compatibility checks [ZK-004]#23
ljankovic-txfusion wants to merge 79 commits intofeat/zksync-verification-classesfrom
feat/zksync-compatibility-check

Conversation

@ljankovic-txfusion
Copy link
Copy Markdown

Description

This PR enhances ISM deployments and transaction estimation with:

  • Technical stack compatibility verification for ISM types
  • Static address support in ISM factory deployments
  • Gas estimation skip for zkSync deployments

Drive-by changes

  • Added isIsmCompatible utility function import
  • Added technical stack validation checks

Related issues

N/A

Backward compatibility

Yes

Testing

Build passing

ljankovic-txfusion pushed a commit that referenced this pull request Feb 20, 2025
…ne-xyz#5468)

### Description

- More frequent retries for the first ~30 mins, meant to accommodate the
upcoming CCIP ISM which is known to take ~25 mins on some origins

After this change:
```
Retry #0: cumulative duration from beginning is 0:0:0, since last attempt is 0:0:0
Retry #1: cumulative duration from beginning is 0:0:0, since last attempt is 0:0:10
Retry #2: cumulative duration from beginning is 0:0:10, since last attempt is 0:0:10
Retry #3: cumulative duration from beginning is 0:0:20, since last attempt is 0:0:10
Retry #4: cumulative duration from beginning is 0:0:30, since last attempt is 0:0:10
Retry #5: cumulative duration from beginning is 0:0:40, since last attempt is 0:0:10
Retry #6: cumulative duration from beginning is 0:0:50, since last attempt is 0:0:10
Retry #7: cumulative duration from beginning is 0:1:0, since last attempt is 0:0:10
Retry #8: cumulative duration from beginning is 0:1:10, since last attempt is 0:0:10
Retry #9: cumulative duration from beginning is 0:1:20, since last attempt is 0:0:10
Retry #10: cumulative duration from beginning is 0:1:30, since last attempt is 0:1:30
Retry #11: cumulative duration from beginning is 0:3:0, since last attempt is 0:1:30
Retry #12: cumulative duration from beginning is 0:4:30, since last attempt is 0:1:30
Retry #13: cumulative duration from beginning is 0:6:0, since last attempt is 0:1:30
Retry #14: cumulative duration from beginning is 0:7:30, since last attempt is 0:1:30
Retry #15: cumulative duration from beginning is 0:9:0, since last attempt is 0:2:0
Retry #16: cumulative duration from beginning is 0:11:0, since last attempt is 0:2:0
Retry #17: cumulative duration from beginning is 0:13:0, since last attempt is 0:2:0
Retry #18: cumulative duration from beginning is 0:15:0, since last attempt is 0:2:0
Retry #19: cumulative duration from beginning is 0:17:0, since last attempt is 0:2:0
Retry #20: cumulative duration from beginning is 0:19:0, since last attempt is 0:2:0
Retry #21: cumulative duration from beginning is 0:21:0, since last attempt is 0:2:0
Retry #22: cumulative duration from beginning is 0:23:0, since last attempt is 0:2:0
Retry #23: cumulative duration from beginning is 0:25:0, since last attempt is 0:2:0
Retry #24: cumulative duration from beginning is 0:27:0, since last attempt is 0:2:0
Retry #25: cumulative duration from beginning is 0:29:0, since last attempt is 0:3:0
Retry #26: cumulative duration from beginning is 0:32:0, since last attempt is 0:4:30
Retry #27: cumulative duration from beginning is 0:36:30, since last attempt is 0:6:0
Retry #28: cumulative duration from beginning is 0:42:30, since last attempt is 0:7:30
Retry #29: cumulative duration from beginning is 0:50:0, since last attempt is 0:9:0
Retry #30: cumulative duration from beginning is 0:59:0, since last attempt is 0:10:30
Retry hyperlane-xyz#31: cumulative duration from beginning is 1:9:30, since last attempt is 0:12:0
Retry hyperlane-xyz#32: cumulative duration from beginning is 1:21:30, since last attempt is 0:13:30
Retry hyperlane-xyz#33: cumulative duration from beginning is 1:35:0, since last attempt is 0:15:0
Retry hyperlane-xyz#34: cumulative duration from beginning is 1:50:0, since last attempt is 0:16:30
Retry hyperlane-xyz#35: cumulative duration from beginning is 2:6:30, since last attempt is 0:18:0
Retry hyperlane-xyz#36: cumulative duration from beginning is 2:24:30, since last attempt is 0:19:30
Retry hyperlane-xyz#37: cumulative duration from beginning is 2:44:0, since last attempt is 0:21:0
Retry hyperlane-xyz#38: cumulative duration from beginning is 3:5:0, since last attempt is 0:22:30
Retry hyperlane-xyz#39: cumulative duration from beginning is 3:27:30, since last attempt is 0:24:0
Retry hyperlane-xyz#40: cumulative duration from beginning is 3:51:30, since last attempt is 0:30:0
Retry hyperlane-xyz#41: cumulative duration from beginning is 4:21:30, since last attempt is 0:30:0
Retry hyperlane-xyz#42: cumulative duration from beginning is 4:51:30, since last attempt is 0:30:0
Retry hyperlane-xyz#43: cumulative duration from beginning is 5:21:30, since last attempt is 0:30:0
Retry hyperlane-xyz#44: cumulative duration from beginning is 5:51:30, since last attempt is 0:30:0
Retry hyperlane-xyz#45: cumulative duration from beginning is 6:21:30, since last attempt is 1:0:0
Retry hyperlane-xyz#46: cumulative duration from beginning is 7:21:30, since last attempt is 1:0:0
Retry hyperlane-xyz#47: cumulative duration from beginning is 8:21:30, since last attempt is 1:0:0
Retry hyperlane-xyz#48: cumulative duration from beginning is 9:21:30, since last attempt is 1:0:0
Retry hyperlane-xyz#49: cumulative duration from beginning is 10:21:30, since last attempt is 1:0:0
Retry hyperlane-xyz#50: cumulative duration from beginning is 11:21:30, since last attempt is 2:38:56
Retry hyperlane-xyz#51: cumulative duration from beginning is 14:0:26, since last attempt is 8:6:55
Retry hyperlane-xyz#52: cumulative duration from beginning is 22:7:21, since last attempt is 8:24:34
Retry hyperlane-xyz#53: cumulative duration from beginning is 30:31:55, since last attempt is 12:32:21
Retry hyperlane-xyz#54: cumulative duration from beginning is 43:4:16, since last attempt is 15:56:31
Retry hyperlane-xyz#55: cumulative duration from beginning is 59:0:47, since last attempt is 15:29:51
Retry hyperlane-xyz#56: cumulative duration from beginning is 74:30:38, since last attempt is 14:13:18
Retry hyperlane-xyz#57: cumulative duration from beginning is 88:43:56, since last attempt is 16:55:33
Retry hyperlane-xyz#58: cumulative duration from beginning is 105:39:29, since last attempt is 22:51:56
Retry hyperlane-xyz#59: cumulative duration from beginning is 128:31:25, since last attempt is 23:20:42
Retry hyperlane-xyz#60: cumulative duration from beginning is 151:52:7, since last attempt is 24:5:0
Retry hyperlane-xyz#61: cumulative duration from beginning is 175:57:7, since last attempt is 26:51:36
Retry hyperlane-xyz#62: cumulative duration from beginning is 202:48:43, since last attempt is 30:55:26
Retry hyperlane-xyz#63: cumulative duration from beginning is 233:44:9, since last attempt is 32:33:46
Retry hyperlane-xyz#64: cumulative duration from beginning is 266:17:55, since last attempt is 33:58:37
Retry hyperlane-xyz#65: cumulative duration from beginning is 300:16:32, since last attempt is 35:31:14
Retry hyperlane-xyz#66: cumulative duration from beginning is 335:47:46, since last attempt is 38:37:22
Retry hyperlane-xyz#67: cumulative duration from beginning is 374:25:8, since last attempt is 36:1:47
Retry hyperlane-xyz#68: cumulative duration from beginning is 410:26:55, since last attempt is 42:42:1
Retry hyperlane-xyz#69: cumulative duration from beginning is 453:8:56, since last attempt is 42:7:4
Retry hyperlane-xyz#70: cumulative duration from beginning is 495:16:0, since last attempt is 47:45:25
Retry hyperlane-xyz#71: cumulative duration from beginning is 543:1:25, since last attempt is 47:20:15
Retry hyperlane-xyz#72: cumulative duration from beginning is 590:21:40, since last attempt is 50:42:29
Retry hyperlane-xyz#73: cumulative duration from beginning is 641:4:9, since last attempt is 50:36:53
Retry hyperlane-xyz#74: cumulative duration from beginning is 691:41:2, since last attempt is 53:25:8
Retry hyperlane-xyz#75: cumulative duration from beginning is 745:6:10, since last attempt is 54:32:25
Retry hyperlane-xyz#76: cumulative duration from beginning is 799:38:35, since last attempt is 55:46:58
Retry hyperlane-xyz#77: cumulative duration from beginning is 855:25:33, since last attempt is 59:21:28
Retry hyperlane-xyz#78: cumulative duration from beginning is 914:47:1, since last attempt is 58:47:29
Retry hyperlane-xyz#79: cumulative duration from beginning is 973:34:30, since last attempt is 63:38:16
Retry hyperlane-xyz#80: cumulative duration from beginning is 1037:12:46, since last attempt is 64:29:15
Retry hyperlane-xyz#81: cumulative duration from beginning is 1101:42:1, since last attempt is 66:44:38
Retry hyperlane-xyz#82: cumulative duration from beginning is 1168:26:39, since last attempt is 67:13:25
Retry hyperlane-xyz#83: cumulative duration from beginning is 1235:40:4, since last attempt is 71:38:16
Retry hyperlane-xyz#84: cumulative duration from beginning is 1307:18:20, since last attempt is 70:59:58
Retry hyperlane-xyz#85: cumulative duration from beginning is 1378:18:18, since last attempt is 73:16:27
Retry hyperlane-xyz#86: cumulative duration from beginning is 1451:34:45, since last attempt is 75:50:17
Retry hyperlane-xyz#87: cumulative duration from beginning is 1527:25:2, since last attempt is 80:23:55
Retry hyperlane-xyz#88: cumulative duration from beginning is 1607:48:57, since last attempt is 81:41:11
Retry hyperlane-xyz#89: cumulative duration from beginning is 1689:30:8, since last attempt is 83:48:29
Retry hyperlane-xyz#90: cumulative duration from beginning is 1773:18:37, since last attempt is 82:24:16
Retry hyperlane-xyz#91: cumulative duration from beginning is 1855:42:53, since last attempt is 88:31:19
Retry hyperlane-xyz#92: cumulative duration from beginning is 1944:14:12, since last attempt is 88:53:21
Retry hyperlane-xyz#93: cumulative duration from beginning is 2033:7:33, since last attempt is 91:55:18
Retry hyperlane-xyz#94: cumulative duration from beginning is 2125:2:51, since last attempt is 90:38:51
Retry hyperlane-xyz#95: cumulative duration from beginning is 2215:41:42, since last attempt is 96:53:4
Retry hyperlane-xyz#96: cumulative duration from beginning is 2312:34:46, since last attempt is 96:9:40
Retry hyperlane-xyz#97: cumulative duration from beginning is 2408:44:26, since last attempt is 99:26:42
Retry hyperlane-xyz#98: cumulative duration from beginning is 2508:11:8, since last attempt is 98:48:58
Retry hyperlane-xyz#99: cumulative duration from beginning is 2607:0:6, since last attempt is 102:43:45
```

Before:
```
0: cumulative duration from beginning is 0:0:0, since last attempt is 0:0:0
1: cumulative duration from beginning is 0:0:0, since last attempt is 0:0:10
2: cumulative duration from beginning is 0:0:10, since last attempt is 0:0:10
3: cumulative duration from beginning is 0:0:20, since last attempt is 0:0:10
4: cumulative duration from beginning is 0:0:30, since last attempt is 0:0:10
5: cumulative duration from beginning is 0:0:40, since last attempt is 0:0:10
6: cumulative duration from beginning is 0:0:50, since last attempt is 0:0:10
7: cumulative duration from beginning is 0:1:0, since last attempt is 0:0:10
8: cumulative duration from beginning is 0:1:10, since last attempt is 0:0:10
9: cumulative duration from beginning is 0:1:20, since last attempt is 0:0:10
10: cumulative duration from beginning is 0:1:30, since last attempt is 0:0:10
11: cumulative duration from beginning is 0:1:40, since last attempt is 0:0:10
12: cumulative duration from beginning is 0:1:50, since last attempt is 0:1:30
13: cumulative duration from beginning is 0:3:20, since last attempt is 0:3:0
14: cumulative duration from beginning is 0:6:20, since last attempt is 0:4:30
15: cumulative duration from beginning is 0:10:50, since last attempt is 0:6:0
16: cumulative duration from beginning is 0:16:50, since last attempt is 0:7:30
17: cumulative duration from beginning is 0:24:20, since last attempt is 0:9:0
18: cumulative duration from beginning is 0:33:20, since last attempt is 0:10:30
19: cumulative duration from beginning is 0:43:50, since last attempt is 0:12:0
20: cumulative duration from beginning is 0:55:50, since last attempt is 0:13:30
21: cumulative duration from beginning is 1:9:20, since last attempt is 0:15:0
22: cumulative duration from beginning is 1:24:20, since last attempt is 0:16:30
23: cumulative duration from beginning is 1:40:50, since last attempt is 0:18:0
24: cumulative duration from beginning is 1:58:50, since last attempt is 0:30:0
25: cumulative duration from beginning is 2:28:50, since last attempt is 0:30:0
26: cumulative duration from beginning is 2:58:50, since last attempt is 0:30:0
27: cumulative duration from beginning is 3:28:50, since last attempt is 0:30:0
28: cumulative duration from beginning is 3:58:50, since last attempt is 0:30:0
29: cumulative duration from beginning is 4:28:50, since last attempt is 0:30:0
```

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
christopherbrumm and others added 28 commits May 21, 2025 13:59
### Description

This PR fixes the token metadata handling by changing the return type of
`deriveTokenMetadata` to TokenMetadataMap`, enabling support for
multiple different token metadata.

### Drive-by changes

- `assertWarpRouteConfig` expects the mailbox address to verify the
correct deployed mailbox.
- remove `./test-configs/anvil/deployments` before running e2e-tests


### Backward compatibility

Yes

### Testing

Added E2E test to verify that for `collateralFiat` and `collateral` with
two different metadata, token is deployed with two different metadata.

---------

Co-authored-by: Morteza Shojaei <[email protected]>
…erlane-xyz#6298)

### Description

Scraper is failing to index some message dispatches due to obsolete
Solana SDK we are using. We pinned the dependency version to 1.14.13.
Since then enum `TransactionError` added a few enum invariants. New tag
of the Solana SDK dependencies brings these invariants from upstream.

### Backward compatibility

Yes

### Testing

Tested with experimental image

Co-authored-by: Danil Nemirovsky <[email protected]>
### Description

<!--
What's included in this PR?
-->

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

chore: reduce release-e2e-matrix frequency
- previously we would run the release cli test matrix if there were no
changesets
- no changesets _implied_ that a release is to be done, but in cases
where packages are published but no new publishable changes have landed
yet - we're still churning through these tests for no good reason
- this PR changes the behaviour such that we always try and do
prepare-release so that the Changesets PR is updated, but we also in
parallel check if the _current_ package versions are published and only
run the tests if we detect that there are packages that need to be
published

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

tested here
https://github.com/hyperlane-xyz/hyperlane-monorepo/actions/runs/15161126534

![image](https://github.com/user-attachments/assets/984e16d7-ae0e-4cb6-ad0f-2a5adbfc5fd9)

![image](https://github.com/user-attachments/assets/61f960fe-3ee1-4250-b737-0c515c23bb73)
### Description

Required fields on EVM transaction are overwritten when we estimate gas
price in EVM adapter for Lander. It means that these fields are not set
when transaction is submitted into a chain.

This change ensures that all the required fields are copied from old
transaction to the new one during gas price estimations.

E2E tests do not pass with fields set, so, we use classical submitter
for the time being.

### Backward compatibility

Yes

### Testing

E2E test

Co-authored-by: Danil Nemirovsky <[email protected]>
### Description

Upgrade Scraper to 197fd87-20250521-144619.

### Backward compatibility

Yes

### Testing

Tested in hyperlane

Co-authored-by: Danil Nemirovsky <[email protected]>
### Description

Add `sol`, `ufd`, `fartcoin` & `pengu` between Solana and Apechain.

### Backward compatibility

Yes

### Testing

N/A

---------

Co-authored-by: xeno097 <[email protected]>
### Description

This PR adds a new ESLint rule `sort-yaml-arrays` to the utils package,
which allows for sorting arrays in YAML files based on specified keys.
This helps maintain consistent and predictable ordering in YAML
configuration files.

Key features:
- New utility function for array sorting by key
- YAML transformation with complete comment preservation 
- Support for sorting nested arrays at specific paths
- Comprehensive test coverage for all sorting scenarios and comment
handling

### Drive-by changes

- Enhanced the comment preservation logic in YAML transformation
- Improved unit test coverage for YAML transformation utilities

### Related issues
Required to resolve
hyperlane-xyz#5547

### Backward compatibility

Yes - This change is fully backward compatible. It adds a new ESLint
rule that can be optionally enabled.

### Testing

Unit Tests - Comprehensive test suite covers:
- Basic array sorting functionality
- Nested array sorting
- Comment preservation
- Various edge cases
### Description

This PR only inits Ethereum signers and temporary reverts the changes
made in hyperlane-xyz#6124.
This is necessary, since Cosmos Signers are being initialized with an
Eth private key in some circumstances which throw an error. The cosmos
signers should therefore be disabled until a solution has been found to
manage multi-vm signer intializations.

### Drive-by changes

-

### Related issues

-

### Backward compatibility

Yes

### Testing

Manual Tests

---------

Co-authored-by: Paul Balaji <[email protected]>
### Description

This PR add the Cosmos Native Routing ISM to the CosmosNativeIsmModule.

### Drive-by changes

-

### Related issues

-

### Backward compatibility

Yes

### Testing

Manual Tests

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
…z#6310)

### Description

chore: reduce logging of extractPrivateKey

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

This PR migrates all internal monorepo package dependencies from
explicit version numbers (e.g., `"@hyperlane-xyz/sdk": "10.0.0"`) to the
recommended `workspace:^` syntax (e.g., `"@hyperlane-xyz/sdk":
"workspace:^"`).

Details:

- When working locally, Yarn will always symlink to the latest version
of the dependency within the monorepo, regardless of its declared
version. This eliminates the need for manual version bumps in
package.json files during active development (although we managed these
version bumps with `changeset version`).
- When packages are published, Yarn automatically transforms
`workspace:^` into a standard semver range (e.g., `^1.2.3`).

### Related issues

Fixes ENG-1666

### Backward compatibility

- `yarn changeset version` continues to work as before.

### Testing

- Manually tested code navigation in VSCode
- Manually tested `yarn changeset version`
### Description

chore: disable arthera

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

This PR moves the shared TypeScript configuration into a NPM private
package inside the monorepo, as recommended by Turborepo. The package
isn't going to be published, just reused internally. This removes the
need to reference parent paths in all our TypeScript config files.

### Related issues

Part of: ENG-1668

### Backward compatibility

Yes, as the TypeScript configuration stays unchanged.

### Testing

All TypeScript builds continue to work.
### Description

Make Solana testnet chunk same as for mainnet

### Backward compatibility

Yes

### Testing

Manual

Co-authored-by: Danil Nemirovsky <[email protected]>
### Description

feat: may 18 multisig batch
- migrate nibiru ownership
- enroll new chains hashkey, infinityvmmainnet, game7, fluence, peaq,
ontology, miraclechain, kyve, svmbnb

### Drive-by changes

- improved retry+logging when fetching txs in infra safe utils
- required because safe apis are so useless that the parsing script
would repeatedly and instantly fail without adding this additional retry
logic
- retry logic originally used when reviewing the ousdt extension txs,
and is part of a broader set of updates found here
hyperlane-xyz#6020

### Related issues

hyperlane-xyz/hyperlane-registry#863

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

We recently discovered that validators use fallback provider as the
default consensus type, which leaves them susceptible to reorgs
regardless of how big their RPC set is.

This PR adds agent-specific rpc consensus defaults: fallback for the
relayer and scraper, quorum for the validator. This default can still be
overriden via the regular config.

I expect this will increase checkpoint-posting latency for validators
that have some bad RPCs in their set.

### Drive-by changes

The `defaultRpcConsensusType` is removed from the agent config schema,
since it applied to all chains and agents, which is much too generic at
this point. It was always set to `fallback` in our infra TS code. It now
still defaults to `fallback` in all cases but when the validator is run.

### Backward compatibility

The agent schema no longer contains `defaultRpcConsensusType`. See
above. This won't break any builds with new agents that use old configs.

### Testing

Manual, by running a local validator and printing the
`origin_chain_conf` to make sure it's using `HttpQuorum`
### Description

feat: may 21 testnet batch
- add rometestnet, neuratestnet
- remove suavetoliman

### Drive-by changes

- rometestnet is only connected to 5 chains so required manually
tweaking of testnet igp/core config generation for rometestnet
- enable scraping of solana testnet

### Related issues

hyperlane-xyz/hyperlane-registry#874

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

feat: SVM ism/igp updates
- add subtensor to solana igp
- update solana ism
- update soon ism
- update svmbnb ism

### Drive-by changes

- when deploying isms, get local_domain from chain-config-file instead
of KnownHyperlaneDomains

### Related issues

hyperlane-xyz/hyperlane-registry#871

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
### Description

chore: trigger release PR testing automatically

Currently due to the nature of the changesets bot, it requires
closing/reopening the release PR to trigger the tests for CI to run.
Hoping that enabling this will cause CI to automatically run on the
release PR branch

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and publish to npm
yourself or [setup this action to publish
automatically](https://github.com/changesets/action#with-publishing). If
you're not ready to do a release yet, that's fine, whenever you add more
changesets to main, this PR will be updated.


# Releases
## @hyperlane-xyz/[email protected]

### Minor Changes

-   ac13dde: add cosmos native core cli commands

### Patch Changes

- 754f7ba: disable cosmos native signers and only allow evm signers for
now again
- 86a8502: Change info logs to debug logs in
MultiProtocolSignerManager.extractPrivateKey().

## @hyperlane-xyz/[email protected]

### Minor Changes

- 6e86efa: Remove `defaultRpcConsensusType` from the agent config schema
-   c42ea09: Deploy to new chains: neuratestnet, rometestnet.

### Patch Changes

-   Updated dependencies [f41f766]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]

### Minor Changes

-   f41f766: Add sort-yaml-arrays eslint rule

## @hyperlane-xyz/[email protected]

### Patch Changes

-   Updated dependencies [f41f766]
    -   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]

### Patch Changes

-   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]

### Patch Changes

-   Updated dependencies [6e86efa]
-   Updated dependencies [c42ea09]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]

### Patch Changes

-   Updated dependencies [6e86efa]
-   Updated dependencies [c42ea09]
-   Updated dependencies [f41f766]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]



## @hyperlane-xyz/[email protected]



## @hyperlane-xyz/[email protected]

### Minor Changes

- 7d5c6b4: Share TypeScript configuration has moved into a private
package

## @hyperlane-xyz/[email protected]

### Patch Changes

-   Updated dependencies [6e86efa]
-   Updated dependencies [c42ea09]
-   Updated dependencies [f41f766]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]
    -   @hyperlane-xyz/[email protected]

## @hyperlane-xyz/[email protected]



## @hyperlane-xyz/[email protected]

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pbio <[email protected]>
…erlane-xyz#6230)

### Description
This PR enables `warp init` to check that a warpRouteId is valid by
proposing a short or long ID and allow user to create a custom ID. The
main logic is inside of `getWarpRouteIdFromWarpDeployConfig()`.

Relies on: hyperlane-xyz/hyperlane-registry#853

### Backward compatibility
Yes - Falls back to current warp route id generation strategy

### Testing
Manual

---------

Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
…6308)" (hyperlane-xyz#6326)

This reverts commit 72db0fc.

### Description

<!--
What's included in this PR?
-->

### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

<!--
- Fixes #[issue number here]
-->

### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->
github-merge-queue bot pushed a commit to hyperlane-xyz/hyperlane-monorepo that referenced this pull request May 26, 2025
### Description
This PR enhances ISM deployments and transaction estimation with:

Technical stack compatibility verification for ISM types
Static address support in ISM factory deployments
Gas estimation skip for zkSync deployments
txfusion#23

### Drive-by changes
Added isIsmCompatible utility function import
Added technical stack validation checks
Related issues
https://linear.app/hyperlane-xyz/issue/ENG-1153

Previously was here:
#5213

### Backward compatibility
Yes

### Testing
Build passing

---------

Co-authored-by: Le Yu <[email protected]>
Co-authored-by: ljankovic-txfusion <[email protected]>
Co-authored-by: ljankovic-txfusion <[email protected]>
Co-authored-by: Morteza Shojaei <[email protected]>
Co-authored-by: Paul Balaji <[email protected]>
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
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.