-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(cli): merge in cli-2.0 (v4.0.0) #3981
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Description Adds an ICA Module with `create()` to be used in an upcoming CoreModule PR. For now the `read()` and `update()` are not implemented because its unclear if they will be used in CoreModule ### Backward compatibility Yes ### Testing Unit Tests
### 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 --> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Kunal Arora <55632507+aroralanuk@users.noreply.github.com> Co-authored-by: Connor McEwen <connor.mcewen@gmail.com>
### Description This Pull Request introduces the new EVM core module be implementing the `create()` function. Currently, `create()` will call the existing CoreDeployer ### Related issues - Fixes #3575 ### Backward compatibility Yes ### Testing Unit Tests --------- Signed-off-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: Paul Balaji <paul@hyperlane.xyz>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Kunal Arora <55632507+aroralanuk@users.noreply.github.com> Co-authored-by: Connor McEwen <connor.mcewen@gmail.com> Co-authored-by: Trevor Porter <tkporter4@gmail.com> Co-authored-by: byeongsu-hong <hong@byeongsu.dev> Co-authored-by: Avi Atkin <103125634+avious00@users.noreply.github.com> Co-authored-by: Daniel Savu <23065004+daniel-savu@users.noreply.github.com> Co-authored-by: J M Rossy <jm.rossy@gmail.com> Co-authored-by: Ali Alaoui <aalaoui2001@gmail.com> Co-authored-by: Nam Chu Hoai <nambrot@googlemail.com> Co-authored-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
### Description - Fixes CLI e2e ### Drive-by changes - Use `HyperlaneCore` helpers to simplify CLI ### Backward compatibility Yes ### Testing CLI E2E matrix (now required on `cli-2.0` branch)
### Description * adds new `hyperlane core config` command * this combines previous `hl config create ism` & `hl config create hook` control flows * adds default ISM behaviour to aggregate `IsmType.TRUSTED_RELAYER` and the previous default fallback, `IsmType.MESSAGE_ID_MULTISIG` ### Related issues - Fixes #3688 ### Backward compatibility * yes ### Testing * [x] manual * [ ] ci-test
### Description * adds new `hyperlane warp config` command * this replaces previous `hl config create warp` control flow ### Related issues - fixes #3537 ### Backward compatibility * yes ### Testing * [x] manual * [ ] ci-test
### Description * adds new `hyperlane core read` command * this replaces previous `hl ism read` & `hl hook read` control flows ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1185 ### Backward compatibility * yes ### Testing * [x] manual * [ ] ci-test
### Description * adds new `hyperlane warp read` command ### Related issues - fixes https://github.com/hyperlane-xyz/issues/issues/1189 ### Backward compatibility * yes ### Testing * [x] manual * [ ] ci-test
### Description - Adds `hyperlane core deploy` to use EvmCoreModule - Legacy `hyperlane deploy core` is retained to keep cli e2e test working - `hyperlane core deploy` expects to deploy to only a single chain ### Drive-by changes <!-- Are there any minor or drive-by changes also included? --> ### Related issues - Fixes #3539 ### Backward compatibility yes, legacy `hyperlane deploy core` is retained ### Testing - Cli integration - Manual
### Description - Updates `hl core config` to output a single `CoreConfig` file - Makes `CoreConfig` single chain ie. remove ChainMap - Removes `nativeTokenAndDecimals()` for fee calculation - Add description as a prameter for `outputFileCommandOption()` ### Related issues - Fixes #3877 ### Backward compatibility No, Outputs CoreConfig as a single file and no longer expecting 2 individual files ### Testing Manual
### Description - Updates `hl core read` to output a single `CoreConfig` file ### Related issues - Fixes #3880 ### Backward compatibility Yes ### Testing Manual
### Description * adds further zod support to SDK, namely for areas relating to `transactions` ### Drive-by changes * No ### Related issues - Fixes #3740 ### Backward compatibility - Yes ### Testing - None
### Description - adds `hl warp send` command in favor of `hl send transfer` ### Drive-by changes * none ### Related issues - fixes #3691 ### Backward compatibility - yes ### Testing - ci-test: includes call to `hl warp send` - manual: `hl warp send`
### Description - Renames `chain` to `registry - `hl registry *` - Renames `config` to `configure` - `hl core configure` - `hl warp configure` ### Drive-by - Update `hl core configure` to prompt user for `owner` - Update key detection for cli `--key` - bug fix in core mailbox deploy ### Backward compatibility No ### Testing Manual
#### will run `npm publish --tag alpha` once approved and merged from `cli-2.0` branch to `main`
### Description - Adds WarpModule with create logic. - Updates logic to WarpModuleReader ### Drive by - Adds CustomIsmConfig mentioned in #3773 ### Related issues - Fixes #3839 ### Backward compatibility Yes ### Testing Unit Tests --------- Signed-off-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: Yorke Rhodes <yorke@hyperlane.xyz> Co-authored-by: J M Rossy <jm.rossy@gmail.com> Co-authored-by: Noah Bayindirli 🥂 <noah@primeprotocol.xyz> Co-authored-by: Noah Bayindirli 🥂 <noah@hyperlane.xyz>
bringing over #3913
### Description - adds `source` field to detect and confirm prompt so users know where defaults are coming from ### Drive-by changes - none ### Related issues - none ### Backward compatibility - yes ### Testing - manual
### Description - Update `hyperlane warp deploy` command ### Drive-by changes - Move Core deploy to core.ts - Update Module return args to match TokenType ### Related issues - Fixes #[3541](#3541) ### Backward compatibility yes, but old command no longer applies ### Testing Manual --------- Signed-off-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: Paul Balaji <paul@hyperlane.xyz> Co-authored-by: Yorke Rhodes <yorke@hyperlane.xyz> Co-authored-by: J M Rossy <jm.rossy@gmail.com> Co-authored-by: Noah Bayindirli 🥂 <noah@primeprotocol.xyz> Co-authored-by: Noah Bayindirli 🥂 <noah@hyperlane.xyz>
### Description * removes prompt on default hooks in `hyperlane core configure` * required hook now defaults to protocol and default hook defaults to merkle ### Drive-by changes - reshuffling `hyperlane warp configure` to accommodate the change as well (and maintain symmetry) ### Related issues - fixes #3895 ### Backward compatibility - yes ### Testing - manual - ci-test
…4050) ### Description - Displays formatted deployment plan to confirm core deploy ### Drive-by changes - none ### Related issues - Fixes P1 ### Backward compatibility - yes ### Testing - Output: ``` ➜ cli git:(cli-2.0) ✗ hl core deploy --registry $HOME/workplace/Hyperlane/hyperlane-registry Hyperlane CLI Hyperlane permissionless deployment ------------------------------------------------ ? Select chain to connect: alpha Deployment plan =============== Transaction signer and owner of new contracts: 0x16F4898F47c085C41d7Cc6b1dc72B91EA617dcBb Deploying core contracts to network: alpha ┌────────────────────────┬──────────────────────────────────────────────┐ │ (index) │ Values │ ├────────────────────────┼──────────────────────────────────────────────┤ │ Name │ 'alpha' │ │ Display Name │ 'Alpha' │ │ Chain ID │ 75904 │ │ Domain ID │ 75904 │ │ Protocol │ 'ethereum' │ │ JSON RPC URL │ 'https://alpha-tk.rpc.caldera.xyz/http' │ │ Native Token: Symbol │ 'ETH' │ │ Native Token: Name │ 'Ether' │ │ Native Token: Decimals │ 18 │ └────────────────────────┴──────────────────────────────────────────────┘ Note: There are several contracts required for each chain, but contracts in your provided registries will be skipped. ? Is this deployment plan correct? (Y/n) ```
### Description Adds xerc20 mint and burn limit fetching to `warp read --symbol` ### Backward compatibility Yes ### Testing Manual ![Screenshot 2024-06-20 at 3 19 13 PM](https://github.com/hyperlane-xyz/hyperlane-monorepo/assets/3020995/9692e3fd-eecb-4758-af39-04639639b482)
### Description This PR fixes RPC errors when trying to send a test message using the CLI for older chains that don't have tokenType (e.g., `hyperlane send message --relay --origin fuji --destination betaop`) Additional details: https://discord.com/channels/935678348330434570/1254873902480359435/1255215832959811687 ### Backward compatibility Yes ### Testing - tested with `hyperlane warp deploy` and then `hyperlane warp send --relay --warp $HOME/.hyperlane/deployments/warp_routes/ETH/alfajores-betaop-config.yaml` - tested `hyperlane send message --relay --origin fuji --destination betaop` - tested `hyperlane send message --relay --origin alfrajores --destination betaop` - tested `hyperlane send message --relay --origin holesky --destination betaop` - tested `hyperlane core read --mailbox 0xEf9F292fcEBC3848bF4bB92a96a04F9ECBb78E59 --chain alfajores ` --------- Co-authored-by: Noah Bayindirli 🥂 <noah@primeprotocol.xyz>
Forgot to add the new commands to the top-level cli.ts when I added back the commands in #3990 Noticed when trying to test #4055 Tested with: ```sh $ yarn workspace @hyperlane-xyz/cli run hyperlane ism read --chain inevm --address 0x79A7c7Fe443971CBc6baD623Fdf8019C379a7178 Hyperlane CLI {"level":30,"time":1719408936852,"pid":74170,"msg":"Your CLI version: 3.15.0, latest version: 3.16.0"} Hyperlane ISM Read ------------------ ISM Config at 0x79A7c7Fe443971CBc6baD623Fdf8019C379a7178 on inevm: address: "0x79A7c7Fe443971CBc6baD623Fdf8019C379a7178" type: staticAggregationIsm modules: - address: "0x718901b7570c59241304758345aF297Ff47D83A1" type: messageIdMultisigIsm validators: - "0x5450447aeE7B544c462C9352bEF7cAD049B0C2Dc" - "0x570AF9B7B36568C8877eeBBA6c6727aA9DAB7268" - "0x8292B1A53907eCE0f76Af8A50724e9492bcDc8A3" - "0xEAF5cF9100f36A4BaEeA779F8745DDa86159103C" threshold: 2 - address: "0x8dac7Df615Cb7599aCfD4EC2CBd9c67Cd5DF6BF6" type: merkleRootMultisigIsm validators: - "0x5450447aeE7B544c462C9352bEF7cAD049B0C2Dc" - "0x570AF9B7B36568C8877eeBBA6c6727aA9DAB7268" - "0x8292B1A53907eCE0f76Af8A50724e9492bcDc8A3" - "0xEAF5cF9100f36A4BaEeA779F8745DDa86159103C" threshold: 2 threshold: 1 ``` ```sh $ yarn workspace @hyperlane-xyz/cli run hyperlane hook read --chain polygon --address 0x0071740Bf129b05C4684abfbBeD248D80971cce2 Hyperlane CLI {"level":30,"time":1719409044431,"pid":75236,"msg":"Your CLI version: 3.15.0, latest version: 3.16.0"} Hyperlane Hook Read ------------------ Hook Config at 0x0071740Bf129b05C4684abfbBeD248D80971cce2 on polygon: owner: "0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba" address: "0x0071740Bf129b05C4684abfbBeD248D80971cce2" type: interchainGasPaymaster beneficiary: "0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba" oracleKey: "0xa7ECcdb9Be08178f896c26b7BbD8C3D4E844d9Ba" overhead: ancient8: 159736 blast: 159736 ethereum: 166887 bsc: 160545 inevm: 159736 gnosis: 160545 injective: 600000 celo: 160948 avalanche: 159736 fraxtal: 159337 arbitrum: 166887 base: 160948 sei: 159337 osmosis: 600000 scroll: 160545 mode: 159337 mantapacific: 182044 moonbeam: 160545 linea: 159736 neutron: 600000 polygonzkevm: 159736 redstone: 159337 optimism: 160948 zetachain: 159337 viction: 159736 oracleConfig: ancient8: tokenExchangeRate: "89752048061167" gasPrice: "483551859" blast: tokenExchangeRate: "89752048061167" gasPrice: "500000000" ethereum: tokenExchangeRate: "89752048061167" gasPrice: "20000000000" bsc: tokenExchangeRate: "15385035499726" gasPrice: "5000000000" inevm: tokenExchangeRate: "572910977607" gasPrice: "30301230683" gnosis: tokenExchangeRate: "27292763517" gasPrice: "633618644641" injective: tokenExchangeRate: "572910977607" gasPrice: "9777321413" celo: tokenExchangeRate: "15645849262" gasPrice: "1103178625684" avalanche: tokenExchangeRate: "656744948115" gasPrice: "43212830197" fraxtal: tokenExchangeRate: "89790551611140" gasPrice: "484265767" arbitrum: tokenExchangeRate: "89752048061167" gasPrice: "500000000" base: tokenExchangeRate: "89752048061167" gasPrice: "480773616" sei: tokenExchangeRate: "9438558163" gasPrice: "1842759845538" osmosis: tokenExchangeRate: "1448574549300000000" gasPrice: "3866" scroll: tokenExchangeRate: "89752048061167" gasPrice: "1445081549" mode: tokenExchangeRate: "89752048061167" gasPrice: "484473517" mantapacific: tokenExchangeRate: "89752048061167" gasPrice: "437064663" moonbeam: tokenExchangeRate: "5307373020" gasPrice: "3258335859000" linea: tokenExchangeRate: "89752048061167" gasPrice: "483551859" neutron: tokenExchangeRate: "1169238121200000000" gasPrice: "11976" polygonzkevm: tokenExchangeRate: "89752048061167" gasPrice: "3950000000" redstone: tokenExchangeRate: "89752048061167" gasPrice: "193789404" optimism: tokenExchangeRate: "89752048061167" gasPrice: "480773616" zetachain: tokenExchangeRate: "22360158382" gasPrice: "777856564583" viction: tokenExchangeRate: "9926843254" gasPrice: "1748784306278" ``` Signed-off-by: Paul Balaji <10051819+paulbalaji@users.noreply.github.com>
### 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 -->
nbayindirli
changed the title
feat(cli): merge in cli-2.0
feat(cli): merge in cli-2.0 (v4.0.0)
Jun 26, 2024
paulbalaji
reviewed
Jun 26, 2024
paulbalaji
requested review from
tkporter,
jmrossy,
yorhodes,
aroralanuk,
nbayindirli,
Skunkchain and
avious00
as code owners
June 26, 2024 18:57
nbayindirli
approved these changes
Jun 26, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀🚢🛳️🛸⛴️🚚📦
paulbalaji
approved these changes
Jun 26, 2024
Signed-off-by: Paul Balaji <10051819+paulbalaji@users.noreply.github.com>
Signed-off-by: Paul Balaji <10051819+paulbalaji@users.noreply.github.com>
resolves hyperlane-xyz/issues#1291 - remove test4 from kathy test - drive-by tidy-up of `test4` metadata - resets e2e test timeout back to original figure - reuse original e2e rust cache gonna keep the original commits on here as a trail of thought --------- Signed-off-by: Paul Balaji <10051819+paulbalaji@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CLI v4.0.0