From 0d7639895c2dd623476b08366f2195e30fa5b22b Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Tue, 20 Sep 2022 13:46:19 -0400 Subject: [PATCH] Hyperlane packages and typescript rebrand (#1077) - Rename Typescript packages hyperlane-xyz org - Rename Abacus references in SDK export names - Bump packages versions to 0.5.0-beta0 Breaking change due to SDK export name changes --- .dockerignore | 2 +- .github/workflows/monorepo-docker.yml | 2 +- .github/workflows/node.yml | 10 +- .gitignore | 2 +- .prettierrc | 2 +- CODE_OF_CONDUCT.md | 12 +- CONTRIBUTING.md | 21 +- DISCLAIMER.md | 2 +- Dockerfile | 2 +- README.md | 10 +- package.json | 4 +- rust/README.md | 8 +- rust/helm/abacus-agent/README.md | 64 +-- .../app/contracts/AbacusConnectionClient.sol | 6 +- solidity/app/contracts/Router.sol | 8 +- .../test/TestAbacusConnectionClient.sol | 2 +- solidity/app/package.json | 16 +- .../app/test/abacusConnectionClient.test.ts | 2 +- solidity/app/test/router.test.ts | 4 +- solidity/core/README.md | 4 +- solidity/core/package.json | 14 +- solidity/core/test/inbox.test.ts | 2 +- solidity/core/test/lib/mailboxes.ts | 2 +- solidity/core/test/message.test.ts | 2 +- solidity/core/test/mockMailbox.test.ts | 2 +- solidity/core/test/outbox.test.ts | 2 +- solidity/core/test/testSendReceiver.test.ts | 2 +- .../inboxValidatorManager.test.ts | 2 +- .../multisigValidatorManager.test.ts | 2 +- .../outboxValidatorManager.test.ts | 2 +- solidity/core/test/validator-manager/utils.ts | 2 +- typescript/helloworld/README.md | 6 +- .../helloworld/contracts/HelloWorld.sol | 2 +- typescript/helloworld/package.json | 16 +- .../scripts/sync-with-template-repo.ts | 2 +- typescript/helloworld/src/app/app.ts | 14 +- typescript/helloworld/src/app/contracts.ts | 2 +- typescript/helloworld/src/deploy/check.ts | 4 +- typescript/helloworld/src/deploy/config.ts | 2 +- typescript/helloworld/src/deploy/deploy.ts | 12 +- typescript/helloworld/src/scripts/check.ts | 6 +- typescript/helloworld/src/scripts/deploy.ts | 6 +- typescript/helloworld/src/test/deploy.test.ts | 2 +- .../helloworld/src/test/helloworld.test.ts | 4 +- typescript/ica/README.md | 7 +- .../ica/contracts/InterchainAccountRouter.sol | 4 +- typescript/ica/package.json | 19 +- typescript/ica/src/contracts.ts | 2 +- typescript/ica/src/deploy.ts | 12 +- typescript/ica/test/accounts.test.ts | 2 +- typescript/infra/config/contexts.ts | 2 +- .../config/environments/mainnet/chains.ts | 2 +- .../infra/config/environments/mainnet/core.ts | 2 +- .../core/verification/verification.json | 14 +- .../config/environments/mainnet/funding.ts | 2 +- .../config/environments/mainnet/helloworld.ts | 4 +- .../config/environments/mainnet/validators.ts | 2 +- .../infra/config/environments/test/chains.ts | 2 +- .../infra/config/environments/test/core.ts | 2 +- .../infra/config/environments/test/index.ts | 2 +- .../config/environments/test/validators.ts | 2 +- .../config/environments/testnet2/chains.ts | 2 +- .../config/environments/testnet2/core.ts | 2 +- .../core/verification/verification.json | 14 +- .../environments/testnet2/validators.ts | 2 +- typescript/infra/config/utils.ts | 2 +- typescript/infra/hardhat.config.ts | 12 +- .../infra/helm/helloworld-kathy/values.yaml | 2 +- typescript/infra/helm/key-funder/values.yaml | 2 +- typescript/infra/package.json | 22 +- typescript/infra/scripts/check-deploy.ts | 6 +- typescript/infra/scripts/core.ts | 6 +- typescript/infra/scripts/debug-message.ts | 12 +- .../funding/fund-keys-from-deployer.ts | 4 +- .../infra/scripts/funding/reclaim-from-igp.ts | 4 +- typescript/infra/scripts/govern.ts | 14 +- typescript/infra/scripts/helloworld/check.ts | 4 +- typescript/infra/scripts/helloworld/deploy.ts | 10 +- typescript/infra/scripts/helloworld/kathy.ts | 11 +- typescript/infra/scripts/helloworld/utils.ts | 14 +- typescript/infra/scripts/safe-delegate.ts | 2 +- typescript/infra/scripts/utils.ts | 2 +- typescript/infra/scripts/verify-core.ts | 2 +- typescript/infra/scripts/verify-validator.ts | 4 +- typescript/infra/src/agents/agent.ts | 2 +- typescript/infra/src/agents/aws/key.ts | 2 +- typescript/infra/src/agents/aws/s3.ts | 2 +- typescript/infra/src/agents/aws/user.ts | 2 +- .../infra/src/agents/aws/validator-user.ts | 2 +- typescript/infra/src/agents/aws/validator.ts | 2 +- typescript/infra/src/agents/gcp.ts | 2 +- typescript/infra/src/agents/index.ts | 4 +- typescript/infra/src/agents/key-utils.ts | 2 +- typescript/infra/src/agents/keys.ts | 6 +- typescript/infra/src/config/agent.ts | 4 +- typescript/infra/src/config/chain.ts | 4 +- typescript/infra/src/config/environment.ts | 2 +- typescript/infra/src/config/helloworld.ts | 2 +- typescript/infra/src/core/deploy.ts | 8 +- typescript/infra/src/core/govern.ts | 42 +- typescript/infra/src/core/multisend.ts | 4 +- .../infra/src/funding/deploy-key-funder.ts | 2 +- typescript/infra/src/helloworld/kathy.ts | 2 +- typescript/infra/src/utils/safe.ts | 2 +- typescript/infra/src/utils/utils.ts | 2 +- typescript/infra/test/core.test.ts | 24 +- typescript/interchain/scripts/deploy.ts | 48 -- typescript/sdk/CHANGELOG.md | 21 - typescript/sdk/README.md | 6 +- typescript/sdk/package.json | 20 +- .../sdk/src/{AbacusApp.ts => HyperlaneApp.ts} | 10 +- .../sdk/src/consts/chainConnectionConfigs.ts | 2 +- typescript/sdk/src/consts/chains.ts | 2 +- .../sdk/src/consts/environments/mainnet.json | 14 +- .../sdk/src/consts/environments/test.json | 6 +- .../sdk/src/consts/environments/testnet2.json | 18 +- typescript/sdk/src/contracts.ts | 30 +- .../core/{AbacusCore.ts => HyperlaneCore.ts} | 22 +- typescript/sdk/src/core/TestCoreApp.ts | 8 +- typescript/sdk/src/core/TestCoreDeployer.ts | 6 +- typescript/sdk/src/core/contracts.ts | 6 +- typescript/sdk/src/core/events.ts | 6 +- typescript/sdk/src/core/message.ts | 62 +-- ...ts => testHyperlaneDeploy.hardhat-test.ts} | 30 +- ...usAppChecker.ts => HyperlaneAppChecker.ts} | 12 +- ...AbacusDeployer.ts => HyperlaneDeployer.ts} | 16 +- ...CoreChecker.ts => HyperlaneCoreChecker.ts} | 34 +- ...reDeployer.ts => HyperlaneCoreDeployer.ts} | 38 +- typescript/sdk/src/deploy/core/types.ts | 17 +- typescript/sdk/src/deploy/proxy.ts | 2 +- ...erChecker.ts => HyperlaneRouterChecker.ts} | 14 +- ...Deployer.ts => HyperlaneRouterDeployer.ts} | 15 +- typescript/sdk/src/deploy/router/types.ts | 2 +- typescript/sdk/src/deploy/types.ts | 2 +- typescript/sdk/src/deploy/utils.ts | 2 +- .../sdk/src/deploy/verify/ContractVerifier.ts | 4 +- typescript/sdk/src/events.ts | 2 +- typescript/sdk/src/gas/calculator.test.ts | 4 +- typescript/sdk/src/gas/calculator.ts | 12 +- typescript/sdk/src/index.ts | 34 +- .../sdk/src/providers/ChainConnection.ts | 2 +- typescript/sdk/src/providers/RetryProvider.ts | 2 +- typescript/sdk/src/proxy.ts | 2 +- typescript/sdk/src/router.ts | 14 +- .../sdk/src/test/envSubsetDeployer/app.ts | 26 +- .../envSubsetDeployer/check-single-chain.ts | 4 +- .../envSubsetDeployer/deploy-single-chain.ts | 4 +- .../sdk/src/test/envSubsetDeployer/utils.ts | 4 +- typescript/sdk/src/utils/ids.ts | 2 +- typescript/utils/package.json | 12 +- typescript/utils/src/utils.ts | 2 +- typescript/utils/src/validator.ts | 2 +- yarn.lock | 460 +++++++++--------- 153 files changed, 830 insertions(+), 889 deletions(-) delete mode 100644 typescript/interchain/scripts/deploy.ts delete mode 100644 typescript/sdk/CHANGELOG.md rename typescript/sdk/src/{AbacusApp.ts => HyperlaneApp.ts} (86%) rename typescript/sdk/src/core/{AbacusCore.ts => HyperlaneCore.ts} (90%) rename typescript/sdk/src/core/{testAbacusDeploy.hardhat-test.ts => testHyperlaneDeploy.hardhat-test.ts} (72%) rename typescript/sdk/src/deploy/{AbacusAppChecker.ts => HyperlaneAppChecker.ts} (91%) rename typescript/sdk/src/deploy/{AbacusDeployer.ts => HyperlaneDeployer.ts} (96%) rename typescript/sdk/src/deploy/core/{AbacusCoreChecker.ts => HyperlaneCoreChecker.ts} (89%) rename typescript/sdk/src/deploy/core/{AbacusCoreDeployer.ts => HyperlaneCoreDeployer.ts} (86%) rename typescript/sdk/src/deploy/router/{AbacusRouterChecker.ts => HyperlaneRouterChecker.ts} (78%) rename typescript/sdk/src/deploy/router/{AbacusRouterDeployer.ts => HyperlaneRouterDeployer.ts} (90%) diff --git a/.dockerignore b/.dockerignore index 29b2d85c8..b57cc807a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,7 +1,7 @@ node_modules test_deploy.env -typescript/abacus-deploy/.env +typescript/hyperlane-deploy/.env **/.env **/tsconfig.tsbuildinfo **/tmp.* diff --git a/.github/workflows/monorepo-docker.yml b/.github/workflows/monorepo-docker.yml index 4501e5359..d78fc7119 100644 --- a/.github/workflows/monorepo-docker.yml +++ b/.github/workflows/monorepo-docker.yml @@ -43,7 +43,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/abacus-labs-dev/abacus-monorepo + gcr.io/abacus-labs-dev/hyperlane-monorepo # generate Docker tags based on the following events/attributes tags: | type=ref,event=branch diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index e21c30da3..820ae243a 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -87,11 +87,11 @@ jobs: key: ${{ github.sha }} - name: sdk - run: yarn workspace @abacus-network/sdk run test + run: yarn workspace @hyperlane-xyz/sdk run test - name: infra - run: yarn workspace @abacus-network/infra run test + run: yarn workspace @hyperlane-xyz/infra run test - name: helloworld - run: yarn workspace @abacus-network/helloworld run test + run: yarn workspace @hyperlane-xyz/helloworld run test test-sol: env: @@ -108,6 +108,6 @@ jobs: key: ${{ github.sha }} - name: core - run: yarn workspace @abacus-network/core run test + run: yarn workspace @hyperlane-xyz/core run test - name: app - run: yarn workspace @abacus-network/app run test + run: yarn workspace @hyperlane-xyz/app run test diff --git a/.gitignore b/.gitignore index 7021322ef..d5c148673 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules test_deploy.env -typescript/abacus-deploy/.env +typescript/hyperlane-deploy/.env **/.env **/tsconfig.tsbuildinfo **/tmp.* diff --git a/.prettierrc b/.prettierrc index 8b4ac47ca..7abcd19c9 100644 --- a/.prettierrc +++ b/.prettierrc @@ -15,7 +15,7 @@ } } ], - "importOrder": ["^@abacus-network/(.*)$", "^../(.*)$", "^./(.*)$"], + "importOrder": ["^@hyperlane-xyz/(.*)$", "^../(.*)$", "^./(.*)$"], "importOrderSeparation": true, "importOrderSortSpecifiers": true } diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 01616b155..270af8975 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,19 +1,19 @@ -Abacus is a decentralized project to enable developers to create shared state blockchain applications. +Hyperlane is a decentralized project to enable developers to create shared state blockchain applications. Our goal is to create an environment where a diverse array of participants come to work together bringing forth their unique experience. In that process it is inevitable that contributors and supporters alike will experience differences in location, language, nationality, professional and overall life experience. It is only natural that in such an environment of open and diverse participation disagreements and misunderstandings will happen. More often than not these can be easily resolved informally, however there will be edge cases where behavior can cross the line. -Our goal is to create an environment that is welcoming to all contributors, and fosters a robust community built on collaboration and experimentation. +Our goal is to create an environment that is welcoming to all contributors, and fosters a robust community built on collaboration and experimentation. Thus we believe it is necessary to ensure those rare cases that devolve into harassing, intimidating, or otherwise disruptive behavior are mitigated and understood to be unacceptable by the community. - -This CoC applies to all members of the Abacus Network's community including, but not limited to - developers, participants in meetings both electronically and in person, conferences, or any other project functions. It is important to note that this code is a complement, not a replacement, to legal rights and obligations pertaining to any particular situation. +This CoC applies to all members of the Hyperlane Network's community including, but not limited to - developers, participants in meetings both electronically and in person, conferences, or any other project functions. It is important to note that this code is a complement, not a replacement, to legal rights and obligations pertaining to any particular situation. **Code** + 1. Never harass or bully anyone. Not verbally, not physically, not sexually. Harassment will not be tolerated. 2. Never discrimnate on the basis of personal characteristics or group membership. 3. Treat your fellow contributors with respect, fairness, and professionalism, especially in situations of high pressure. 4. Seek, offer, and accept objective critism of yours and others work, strive to acknowledge the contributions of others. -5. Be transparent and honest about your qualifications and any potential conflicts of interest. Transparency is a key tenant of the Abacus project and we expect it from all contributors. -6. Bring an open and curious mind, the Abacus project is designed to enable developers to express their curiousity, experiment, and build things we couldn't have imagined ourselves. +5. Be transparent and honest about your qualifications and any potential conflicts of interest. Transparency is a key tenant of the Hyperlane project and we expect it from all contributors. +6. Bring an open and curious mind, the Hyperlane project is designed to enable developers to express their curiousity, experiment, and build things we couldn't have imagined ourselves. 7. Stay on track - Do your best to avoid off-topic discussion and make sure you are posting to the correct channel and repositories. Distractions are costly and it is far too easy for work to go off track. 8. Step down properly - Think of your fellow contributors when you step down from the project. Contributors of open-source projects come and go. It is crucial that when you leave the project or reduce your contribution significantly you do so in a way that minimizes disruption and keeps continuity in mind. Concretely this means telling your fellow contributors you are leaving and taking the proper steps to enable a smooth transition for other contributors to pick up where you left off. 9. Respect the privacy of others, and take extreme care to protect confidential data when you are exposed to it. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 37a683582..e838ba957 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,15 @@ -# Contributing to Abacus +# Contributing to Hyperlane -We'd love for you to contribue to Abacus! Here are the guidelines to follow when contributing: +We'd love for you to contribue to Hyperlane! Here are the guidelines to follow when contributing: -* [Code of Conduct](#coc) -* [Questions and Problems](#question) -* [Issue Submission Guidelines](#submit) -* [Pull Request Submission Guidelines](#submit-pr) +- [Code of Conduct](#coc) +- [Questions and Problems](#question) +- [Issue Submission Guidelines](#submit) +- [Pull Request Submission Guidelines](#submit-pr) ## Code of Conduct -Help us keep Abacus open and inclusive. Please read and follow our [Code of Conduct][coc]. +Help us keep Hyperlane open and inclusive. Please read and follow our [Code of Conduct][coc]. ## Got a Question or Problem? @@ -24,16 +24,17 @@ Please submit a [new issue][github-new-issue] if you have a bug report or featur Help us to maximize the effort we can spend fixing issues and adding new features by not reporting duplicate issues. ## Pull Request Submission Guidelines + Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes! -If you'd like to contribute to Abacus, please fork, fix, commit and send a pull request +If you'd like to contribute to Hyperlane, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes, please check up with the core devs first on [our Discord Server][discord] to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple. -[coc]: https://github.com/abacus-network/abacus-monorepo/blob/main/CODE_OF_CONDUCT.md -[github-new-issue]: https://github.com/abacus-network/abacus-monorepo/issues/new +[coc]: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/CODE_OF_CONDUCT.md +[github-new-issue]: https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/new [discord]: https://discord.com/invite/KBD3aD78Bb diff --git a/DISCLAIMER.md b/DISCLAIMER.md index df55300d9..6651ed623 100644 --- a/DISCLAIMER.md +++ b/DISCLAIMER.md @@ -1,4 +1,4 @@ -The Abacus Protocol is an open generalized interchain messaging protocol that is designed to enable developers to send arbitrary data from one blockchain to another (“Protocol”). Your use of the Protocol is entirely at your own risk. +The Hyperlane Protocol is an open generalized interchain messaging protocol that is designed to enable developers to send arbitrary data from one blockchain to another (“Protocol”). Your use of the Protocol is entirely at your own risk. The Protocol is available on an “as is” basis without warranties of any kind, either express or implied, including, but not limited to, warranties of merchantability, title, fitness for a particular purpose and non-infringement. You assume all risks associated with using the Protocol, and digital assets and decentralized systems generally, including but not limited to, that: (a) digital assets are highly volatile; (b) using digital assets is inherently risky due to both features of such assets and the potential unauthorized acts of third parties; (c) you may not have ready access to assets; diff --git a/Dockerfile b/Dockerfile index ea3831e43..0181ce596 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM node:16-alpine -WORKDIR /abacus-monorepo +WORKDIR /hyperlane-monorepo RUN apk add --update --no-cache git g++ make py3-pip diff --git a/README.md b/README.md index 7e2800748..32e1d0043 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# Abacus +# Hyperlane ## Overview -Abacus is an interchain messaging protocol that allows applications to communicate between blockchains. +Hyperlane is an interchain messaging protocol that allows applications to communicate between blockchains. -Developers can use Abacus to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains. +Developers can use Hyperlane to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains. -To read more about interchain applications, how the protocol works, and how to integrate with Abacus, please see the [documentation](https://docs.useabacus.network/). +To read more about interchain applications, how the protocol works, and how to integrate with Hyperlane, please see the [documentation](https://docs.hyperlane.xyz/). -## Working on Abacus +## Working on Hyperlane ### Workspaces diff --git a/package.json b/package.json index 65e2e022f..ea6d16672 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "@abacus-network/monorepo", - "description": "A yarn workspace of many core Abacus packages", + "name": "@hyperlane-xyz/monorepo", + "description": "A yarn workspace of core Hyperlane packages", "version": "0.0.0", "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^3.2.0", diff --git a/rust/README.md b/rust/README.md index 1864fd945..ec7cf2dd0 100644 --- a/rust/README.md +++ b/rust/README.md @@ -1,4 +1,4 @@ -## Abacus Rust implementations +## Hyperlane Rust implementations ### Setup @@ -43,11 +43,11 @@ info: The currently active `rustc` version is `rustc 1.63.0 (4b91a6ea7 2022-08-0 ### Architecture -The on-chain portions of Abacus are written in Solidity. The rust portions are +The on-chain portions of Hyperlane are written in Solidity. The rust portions are exclusively off-chain. Later, there may be on-chain rust for Near/Solana/ Polkadot. -Abacus will be managed by a number of small off-chain programs ("agents"). Each +Hyperlane will be managed by a number of small off-chain programs ("agents"). Each of these will have a specific role. We want these roles to be simple, and easily described. Each of these agents will connect to a home chain and any number of replicas. They need to be configured with chain connection details @@ -84,7 +84,7 @@ We use the tokio async runtime environment. Please see the docs ### Running Locally -From within the `abacus-monorepo/rust` directory, run +From within the `hyperlane-monorepo/rust` directory, run ```bash cargo run -r -p run-locally diff --git a/rust/helm/abacus-agent/README.md b/rust/helm/abacus-agent/README.md index f416fca6f..32990d31c 100644 --- a/rust/helm/abacus-agent/README.md +++ b/rust/helm/abacus-agent/README.md @@ -1,43 +1,43 @@ -# Abacus-Agent Helm Chart +# Hyperlane-Agent Helm Chart ![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.1.0](https://img.shields.io/badge/AppVersion-0.1.0-informational?style=flat-square) -A Helm Chart that encapsulates the deployment of the Abacus Rust Agent(s). It is currently designed to be deployed against a Google Kubernetes Engine cluster, but specification of another PVC Storage Class should be sufficient to make it compatible with other cloud providers. +A Helm Chart that encapsulates the deployment of the Hyperlane Rust Agent(s). It is currently designed to be deployed against a Google Kubernetes Engine cluster, but specification of another PVC Storage Class should be sufficient to make it compatible with other cloud providers. Additional documentation is present in comments in `yalues.yaml`. ## Values -| Key | Type | Default | Description | -| ----------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| affinity | object | `{}` | | -| fullnameOverride | string | `""` | | -| image.pullPolicy | string | `"Always"` | | -| image.repository | string | `"gcr.io/clabs-optics/optics-agent"` | Main repository for Abacus Agent binaries, provided by cLabs | -| image.tag | string | `"latest"` | Overrides the image tag whose default is the chart appVersion. | -| imagePullSecrets | list | `[]` | | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | | -| abacus | object | `{"baseConfig":"base.json","outboxChain":{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"goerli","rpcStyle":null},enabled":false,"messageInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"processor":{"enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"relayer":{"enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"inboxChains":[{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"alfajores","rpcStyle":null}],"runEnv":"default","validator":{"signer":"","enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}],"updatePause":null}}` | Abacus Overrides By Default, Abacus Agents load the config baked into the Docker Image Pass values here in order to override the values in the config Note: For successful operation, one _must_ pass signer keys as they are not baked into the image for security reasons. | -| abacus.outboxChain.address | string | `nil` | The contract address for the home contract | -| abacus.outboxChain.connectionUrl | string | `nil` | Connection string pointing to an RPC endpoint for the home chain | -| abacus.outboxChain.domain | string | `nil` | The hard-coded domain corresponding to this blockchain | -| abacus.outboxChain.rpcStyle | string | `nil` | RPC Style | -| abacus.relayer.enabled | bool | `false` | Enables or disables the relayer | -| abacus.inboxChains | list | `[{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"alfajores","rpcStyle":null}]` | Replica chain overrides, a sequence | -| abacus.inboxChains[0].address | string | `nil` | The contract address for the replica contract | -| abacus.inboxChains[0].connectionUrl | string | `nil` | Connection string pointing to an RPC endpoint for the replica chain | -| abacus.validator.signer | string | `""` | Specialized key used by validator and watcher used to sign attestations, separate from validator.keys | -| abacus.validator.enabled | bool | `false` | Enables or disables the validator | -| abacus.validator.pollingInterval | string | `nil` | How long to wait between checking for updates | -| abacus.validator.signers | list | `[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]` | Trnsaction Signing keys for home and replica(s) | -| podAnnotations | object | `{}` | | -| podSecurityContext | object | `{}` | | -| replicaCount | int | `1` | | -| resources | object | `{}` | | -| securityContext | object | `{}` | | -| tolerations | list | `[]` | | -| volumeStorageClass | string | `"standard"` | Default to standard storageclass provided by GKE | +| Key | Type | Default | Description | +| ----------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| affinity | object | `{}` | | +| fullnameOverride | string | `""` | | +| image.pullPolicy | string | `"Always"` | | +| image.repository | string | `"gcr.io/clabs-optics/optics-agent"` | Main repository for Hyperlane Agent binaries, provided by cLabs | +| image.tag | string | `"latest"` | Overrides the image tag whose default is the chart appVersion. | +| imagePullSecrets | list | `[]` | | +| nameOverride | string | `""` | | +| nodeSelector | object | `{}` | | +| abacus | object | `{"baseConfig":"base.json","outboxChain":{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"goerli","rpcStyle":null},enabled":false,"messageInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"processor":{"enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"relayer":{"enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]},"inboxChains":[{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"alfajores","rpcStyle":null}],"runEnv":"default","validator":{"signer":"","enabled":false,"pollingInterval":null,"signers":[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}],"updatePause":null}}` | Hyperlane Overrides By Default, Hyperlane Agents load the config baked into the Docker Image Pass values here in order to override the values in the config Note: For successful operation, one _must_ pass signer keys as they are not baked into the image for security reasons. | +| abacus.outboxChain.address | string | `nil` | The contract address for the home contract | +| abacus.outboxChain.connectionUrl | string | `nil` | Connection string pointing to an RPC endpoint for the home chain | +| abacus.outboxChain.domain | string | `nil` | The hard-coded domain corresponding to this blockchain | +| abacus.outboxChain.rpcStyle | string | `nil` | RPC Style | +| abacus.relayer.enabled | bool | `false` | Enables or disables the relayer | +| abacus.inboxChains | list | `[{"address":null,"connectionType":null,"connectionUrl":null,"domain":null,"name":"alfajores","rpcStyle":null}]` | Replica chain overrides, a sequence | +| abacus.inboxChains[0].address | string | `nil` | The contract address for the replica contract | +| abacus.inboxChains[0].connectionUrl | string | `nil` | Connection string pointing to an RPC endpoint for the replica chain | +| abacus.validator.signer | string | `""` | Specialized key used by validator and watcher used to sign attestations, separate from validator.keys | +| abacus.validator.enabled | bool | `false` | Enables or disables the validator | +| abacus.validator.pollingInterval | string | `nil` | How long to wait between checking for updates | +| abacus.validator.signers | list | `[{"key":"","name":"goerli"},{"key":"","name":"alfajores"}]` | Trnsaction Signing keys for home and replica(s) | +| podAnnotations | object | `{}` | | +| podSecurityContext | object | `{}` | | +| replicaCount | int | `1` | | +| resources | object | `{}` | | +| securityContext | object | `{}` | | +| tolerations | list | `[]` | | +| volumeStorageClass | string | `"standard"` | Default to standard storageclass provided by GKE | --- diff --git a/solidity/app/contracts/AbacusConnectionClient.sol b/solidity/app/contracts/AbacusConnectionClient.sol index ad3ccebf6..cf96f8a34 100644 --- a/solidity/app/contracts/AbacusConnectionClient.sol +++ b/solidity/app/contracts/AbacusConnectionClient.sol @@ -2,9 +2,9 @@ pragma solidity >=0.6.11; // ============ Internal Imports ============ -import {IInterchainGasPaymaster} from "@abacus-network/core/interfaces/IInterchainGasPaymaster.sol"; -import {IOutbox} from "@abacus-network/core/interfaces/IOutbox.sol"; -import {IAbacusConnectionManager} from "@abacus-network/core/interfaces/IAbacusConnectionManager.sol"; +import {IInterchainGasPaymaster} from "@hyperlane-xyz/core/interfaces/IInterchainGasPaymaster.sol"; +import {IOutbox} from "@hyperlane-xyz/core/interfaces/IOutbox.sol"; +import {IAbacusConnectionManager} from "@hyperlane-xyz/core/interfaces/IAbacusConnectionManager.sol"; // ============ External Imports ============ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; diff --git a/solidity/app/contracts/Router.sol b/solidity/app/contracts/Router.sol index 5479c8cc9..c80939ca7 100644 --- a/solidity/app/contracts/Router.sol +++ b/solidity/app/contracts/Router.sol @@ -3,10 +3,10 @@ pragma solidity >=0.6.11; // ============ Internal Imports ============ import {AbacusConnectionClient} from "./AbacusConnectionClient.sol"; -import {IAbacusConnectionManager} from "@abacus-network/core/interfaces/IAbacusConnectionManager.sol"; -import {IInterchainGasPaymaster} from "@abacus-network/core/interfaces/IInterchainGasPaymaster.sol"; -import {IMessageRecipient} from "@abacus-network/core/interfaces/IMessageRecipient.sol"; -import {IOutbox} from "@abacus-network/core/interfaces/IOutbox.sol"; +import {IAbacusConnectionManager} from "@hyperlane-xyz/core/interfaces/IAbacusConnectionManager.sol"; +import {IInterchainGasPaymaster} from "@hyperlane-xyz/core/interfaces/IInterchainGasPaymaster.sol"; +import {IMessageRecipient} from "@hyperlane-xyz/core/interfaces/IMessageRecipient.sol"; +import {IOutbox} from "@hyperlane-xyz/core/interfaces/IOutbox.sol"; abstract contract Router is AbacusConnectionClient, IMessageRecipient { // ============ Mutable Storage ============ diff --git a/solidity/app/contracts/test/TestAbacusConnectionClient.sol b/solidity/app/contracts/test/TestAbacusConnectionClient.sol index b7e1f5c3e..071cea25e 100644 --- a/solidity/app/contracts/test/TestAbacusConnectionClient.sol +++ b/solidity/app/contracts/test/TestAbacusConnectionClient.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT OR Apache-2.0 pragma solidity >=0.6.11; -import {IOutbox} from "@abacus-network/core/interfaces/IOutbox.sol"; +import {IOutbox} from "@hyperlane-xyz/core/interfaces/IOutbox.sol"; import "../AbacusConnectionClient.sol"; diff --git a/solidity/app/package.json b/solidity/app/package.json index 0f7c7809d..7b60b0b61 100644 --- a/solidity/app/package.json +++ b/solidity/app/package.json @@ -1,10 +1,10 @@ { - "name": "@abacus-network/app", - "description": "Solidity contracts for Abacus apps", - "version": "0.4.1", + "name": "@hyperlane-xyz/app", + "description": "Solidity contracts for Hyperlane apps", + "version": "0.5.0-beta0", "dependencies": { - "@abacus-network/core": "0.4.1", - "@abacus-network/utils": "0.4.1", + "@hyperlane-xyz/core": "0.5.0-beta0", + "@hyperlane-xyz/utils": "0.5.0-beta0", "@openzeppelin/contracts-upgradeable": "^4.5.0" }, "devDependencies": { @@ -35,14 +35,14 @@ "/contracts", "/interfaces" ], - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "Solidity" ], "license": "Apache-2.0", "main": "dist/index.js", - "repository": "https://github.com/abacus-network/abacus-monorepo", + "repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo", "scripts": { "build": "hardhat compile && tsc", "clean": "hardhat clean && rm -rf ./dist ./cache", diff --git a/solidity/app/test/abacusConnectionClient.test.ts b/solidity/app/test/abacusConnectionClient.test.ts index 2a2296627..48dc14552 100644 --- a/solidity/app/test/abacusConnectionClient.test.ts +++ b/solidity/app/test/abacusConnectionClient.test.ts @@ -10,7 +10,7 @@ import { Outbox__factory, TestInbox__factory, TestMultisigValidatorManager__factory, -} from '@abacus-network/core'; +} from '@hyperlane-xyz/core'; import { TestAbacusConnectionClient, diff --git a/solidity/app/test/router.test.ts b/solidity/app/test/router.test.ts index e97982c58..4fe20b961 100644 --- a/solidity/app/test/router.test.ts +++ b/solidity/app/test/router.test.ts @@ -14,8 +14,8 @@ import { TestInbox, TestInbox__factory, TestMultisigValidatorManager__factory, -} from '@abacus-network/core'; -import { utils } from '@abacus-network/utils'; +} from '@hyperlane-xyz/core'; +import { utils } from '@hyperlane-xyz/utils'; import { TestRouter, TestRouter__factory } from '../types'; diff --git a/solidity/core/README.md b/solidity/core/README.md index 21be2042f..f5428eb5f 100644 --- a/solidity/core/README.md +++ b/solidity/core/README.md @@ -1,6 +1,6 @@ -## Abacus Solidity +## Hyperlane Solidity -On-chain implementations of Abacus in Solidity. +On-chain implementations of Hyperlane in Solidity. ### Setup diff --git a/solidity/core/package.json b/solidity/core/package.json index 9e42f03d4..a348b1d5d 100644 --- a/solidity/core/package.json +++ b/solidity/core/package.json @@ -1,9 +1,9 @@ { - "name": "@abacus-network/core", - "description": "Core solidity contracts for Abacus", - "version": "0.4.1", + "name": "@hyperlane-xyz/core", + "description": "Core solidity contracts for Hyperlane", + "version": "0.5.0-beta0", "dependencies": { - "@abacus-network/utils": "0.4.1", + "@hyperlane-xyz/utils": "0.5.0-beta0", "@openzeppelin/contracts": "^4.6.0", "@openzeppelin/contracts-upgradeable": "^4.6.0", "@summa-tx/memview-sol": "^2.0.0" @@ -35,14 +35,14 @@ "/contracts", "/interfaces" ], - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "Solidity" ], "license": "Apache-2.0", "main": "dist/index.js", - "repository": "https://github.com/abacus-network/abacus-monorepo", + "repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo", "scripts": { "build": "hardhat compile && tsc", "clean": "hardhat clean && rm -rf ./dist ./cache", diff --git a/solidity/core/test/inbox.test.ts b/solidity/core/test/inbox.test.ts index 1dc76a242..56cc9b78f 100644 --- a/solidity/core/test/inbox.test.ts +++ b/solidity/core/test/inbox.test.ts @@ -3,7 +3,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { types, utils } from '@abacus-network/utils'; +import { types, utils } from '@hyperlane-xyz/utils'; import { BadRecipient1__factory, diff --git a/solidity/core/test/lib/mailboxes.ts b/solidity/core/test/lib/mailboxes.ts index 52d02b282..13873df96 100644 --- a/solidity/core/test/lib/mailboxes.ts +++ b/solidity/core/test/lib/mailboxes.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { ethers } from 'ethers'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { TestOutbox } from '../../types'; import { DispatchEvent } from '../../types/contracts/Outbox'; diff --git a/solidity/core/test/message.test.ts b/solidity/core/test/message.test.ts index 05bdc6b41..582ffc015 100644 --- a/solidity/core/test/message.test.ts +++ b/solidity/core/test/message.test.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { TestMessage, TestMessage__factory } from '../types'; diff --git a/solidity/core/test/mockMailbox.test.ts b/solidity/core/test/mockMailbox.test.ts index a0015f1f2..1a1ad16cc 100644 --- a/solidity/core/test/mockMailbox.test.ts +++ b/solidity/core/test/mockMailbox.test.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { TestRecipient__factory } from '../dist'; import { MockInbox__factory, MockOutbox__factory } from '../types'; diff --git a/solidity/core/test/outbox.test.ts b/solidity/core/test/outbox.test.ts index 9a1cbeec4..ffe1d9c69 100644 --- a/solidity/core/test/outbox.test.ts +++ b/solidity/core/test/outbox.test.ts @@ -2,7 +2,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { types, utils } from '@abacus-network/utils'; +import { types, utils } from '@hyperlane-xyz/utils'; import { TestOutbox, TestOutbox__factory } from '../types'; diff --git a/solidity/core/test/testSendReceiver.test.ts b/solidity/core/test/testSendReceiver.test.ts index 499154ce4..2b62788fc 100644 --- a/solidity/core/test/testSendReceiver.test.ts +++ b/solidity/core/test/testSendReceiver.test.ts @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { TestSendReceiver__factory } from '../types'; diff --git a/solidity/core/test/validator-manager/inboxValidatorManager.test.ts b/solidity/core/test/validator-manager/inboxValidatorManager.test.ts index e0127a63b..35dafe76c 100644 --- a/solidity/core/test/validator-manager/inboxValidatorManager.test.ts +++ b/solidity/core/test/validator-manager/inboxValidatorManager.test.ts @@ -2,7 +2,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { Validator, types, utils } from '@abacus-network/utils'; +import { Validator, types, utils } from '@hyperlane-xyz/utils'; import { Inbox, diff --git a/solidity/core/test/validator-manager/multisigValidatorManager.test.ts b/solidity/core/test/validator-manager/multisigValidatorManager.test.ts index 19f417fbd..cf1ebb567 100644 --- a/solidity/core/test/validator-manager/multisigValidatorManager.test.ts +++ b/solidity/core/test/validator-manager/multisigValidatorManager.test.ts @@ -3,7 +3,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { Validator } from '@abacus-network/utils'; +import { Validator } from '@hyperlane-xyz/utils'; import { TestMultisigValidatorManager, diff --git a/solidity/core/test/validator-manager/outboxValidatorManager.test.ts b/solidity/core/test/validator-manager/outboxValidatorManager.test.ts index 77c7409a7..63993075b 100644 --- a/solidity/core/test/validator-manager/outboxValidatorManager.test.ts +++ b/solidity/core/test/validator-manager/outboxValidatorManager.test.ts @@ -2,7 +2,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { ethers } from 'hardhat'; -import { Validator, types, utils } from '@abacus-network/utils'; +import { Validator, types, utils } from '@hyperlane-xyz/utils'; import { OutboxValidatorManager, diff --git a/solidity/core/test/validator-manager/utils.ts b/solidity/core/test/validator-manager/utils.ts index 072974b63..de4760aab 100644 --- a/solidity/core/test/validator-manager/utils.ts +++ b/solidity/core/test/validator-manager/utils.ts @@ -1,4 +1,4 @@ -import { Validator, types } from '@abacus-network/utils'; +import { Validator, types } from '@hyperlane-xyz/utils'; // Signs a checkpoint with the provided validators and returns // the signatures sorted by validator addresses in ascending order diff --git a/typescript/helloworld/README.md b/typescript/helloworld/README.md index 26a4d2a6a..05f943dd9 100644 --- a/typescript/helloworld/README.md +++ b/typescript/helloworld/README.md @@ -1,6 +1,6 @@ -# Abacus 'Hello World' App Template +# Hyperlane 'Hello World' App Template -A basic Abacus application with a router contract that can dispatch messages. +A basic Hyperlane application with a router contract that can dispatch messages. ## Setup @@ -24,4 +24,4 @@ yarn lint ## Learn more -For more information, see the [Abacus documentation](https://docs.useabacus.network/abacus-docs/developers/getting-started). +For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/hyperlane-docs/developers/getting-started). diff --git a/typescript/helloworld/contracts/HelloWorld.sol b/typescript/helloworld/contracts/HelloWorld.sol index fa43f81ec..6467a9173 100644 --- a/typescript/helloworld/contracts/HelloWorld.sol +++ b/typescript/helloworld/contracts/HelloWorld.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.13; // ============ External Imports ============ -import {Router} from "@abacus-network/app/contracts/Router.sol"; +import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; /* * @title The Hello World App diff --git a/typescript/helloworld/package.json b/typescript/helloworld/package.json index 258adfe24..75a47323a 100644 --- a/typescript/helloworld/package.json +++ b/typescript/helloworld/package.json @@ -1,10 +1,10 @@ { - "name": "@abacus-network/helloworld", - "description": "A basic skeleton of an Abacus app", - "version": "0.5.0", + "name": "@hyperlane-xyz/helloworld", + "description": "A basic skeleton of an Hyperlane app", + "version": "0.5.0-beta0", "dependencies": { - "@abacus-network/sdk": "^0.4.1", - "@abacus-network/utils": "^0.4.1", + "@hyperlane-xyz/sdk": "^0.5.0-beta0", + "@hyperlane-xyz/utils": "^0.5.0-beta0", "@openzeppelin/contracts-upgradeable": "^4.6.0", "ethers": "^5.6.8" }, @@ -36,9 +36,9 @@ "/dist", "/contracts" ], - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "HelloWorld", "Solidity", "Typescript" @@ -48,7 +48,7 @@ "packageManager": "yarn@3.2.0", "repository": { "type": "git", - "url": "https://github.com/abacus-network/abacus-app-template" + "url": "https://github.com/hyperlane-xyz/hyperlane-app-template" }, "scripts": { "build": "hardhat compile && tsc", diff --git a/typescript/helloworld/scripts/sync-with-template-repo.ts b/typescript/helloworld/scripts/sync-with-template-repo.ts index f86133ba2..f9cefe89a 100644 --- a/typescript/helloworld/scripts/sync-with-template-repo.ts +++ b/typescript/helloworld/scripts/sync-with-template-repo.ts @@ -17,7 +17,7 @@ import { existsSync } from 'fs'; const SKIP_GIT_FLAG = '--no-commit'; -const PATH_TO_TEMPLATE_REPO = '../../../abacus-app-template'; +const PATH_TO_TEMPLATE_REPO = '../../../hyperlane-app-template'; const SYNC_WHITELIST = [ 'contracts', diff --git a/typescript/helloworld/src/app/app.ts b/typescript/helloworld/src/app/app.ts index 44cc7e1d3..028b1ea19 100644 --- a/typescript/helloworld/src/app/app.ts +++ b/typescript/helloworld/src/app/app.ts @@ -1,15 +1,15 @@ import { BigNumber, ethers } from 'ethers'; import { - AbacusApp, - AbacusCore, ChainMap, ChainName, ChainNameToDomainId, + HyperlaneApp, + HyperlaneCore, MultiProvider, Remotes, -} from '@abacus-network/sdk'; -import { debug } from '@abacus-network/utils'; +} from '@hyperlane-xyz/sdk'; +import { debug } from '@hyperlane-xyz/utils'; import { HelloWorldContracts } from './contracts'; @@ -20,9 +20,9 @@ type Counts = { export class HelloWorldApp< Chain extends ChainName = ChainName, -> extends AbacusApp { +> extends HyperlaneApp { constructor( - public readonly core: AbacusCore, + public readonly core: HyperlaneCore, contractsMap: ChainMap, multiProvider: MultiProvider, ) { @@ -39,7 +39,7 @@ export class HelloWorldApp< const toDomain = ChainNameToDomainId[to]; const chainConnection = this.multiProvider.getChainConnection(from); - // apply gas buffer due to https://github.com/abacus-network/abacus-monorepo/issues/634 + // apply gas buffer due to https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/634 const estimated = await sender.estimateGas.sendHelloWorld( toDomain, message, diff --git a/typescript/helloworld/src/app/contracts.ts b/typescript/helloworld/src/app/contracts.ts index 363b51a02..82ca845d5 100644 --- a/typescript/helloworld/src/app/contracts.ts +++ b/typescript/helloworld/src/app/contracts.ts @@ -1,4 +1,4 @@ -import { RouterContracts, RouterFactories } from '@abacus-network/sdk'; +import { RouterContracts, RouterFactories } from '@hyperlane-xyz/sdk'; import { HelloWorld, HelloWorld__factory } from '../types'; diff --git a/typescript/helloworld/src/deploy/check.ts b/typescript/helloworld/src/deploy/check.ts index fb87a9818..ad0c0eb60 100644 --- a/typescript/helloworld/src/deploy/check.ts +++ b/typescript/helloworld/src/deploy/check.ts @@ -1,4 +1,4 @@ -import { AbacusRouterChecker, ChainName } from '@abacus-network/sdk'; +import { ChainName, HyperlaneRouterChecker } from '@hyperlane-xyz/sdk'; import { HelloWorldApp } from '../app/app'; import { HelloWorldContracts } from '../app/contracts'; @@ -7,7 +7,7 @@ import { HelloWorldConfig } from './config'; export class HelloWorldChecker< Chain extends ChainName, -> extends AbacusRouterChecker< +> extends HyperlaneRouterChecker< Chain, HelloWorldApp, HelloWorldConfig, diff --git a/typescript/helloworld/src/deploy/config.ts b/typescript/helloworld/src/deploy/config.ts index c2c84432f..d52df55bb 100644 --- a/typescript/helloworld/src/deploy/config.ts +++ b/typescript/helloworld/src/deploy/config.ts @@ -1,4 +1,4 @@ -import { RouterConfig, chainConnectionConfigs } from '@abacus-network/sdk'; +import { RouterConfig, chainConnectionConfigs } from '@hyperlane-xyz/sdk'; export type HelloWorldConfig = RouterConfig; diff --git a/typescript/helloworld/src/deploy/deploy.ts b/typescript/helloworld/src/deploy/deploy.ts index 6245aeb6c..b69c57930 100644 --- a/typescript/helloworld/src/deploy/deploy.ts +++ b/typescript/helloworld/src/deploy/deploy.ts @@ -1,10 +1,10 @@ import { - AbacusCore, - AbacusRouterDeployer, ChainMap, ChainName, + HyperlaneCore, + HyperlaneRouterDeployer, MultiProvider, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { HelloWorldContracts, @@ -16,7 +16,7 @@ import { HelloWorldConfig } from './config'; export class HelloWorldDeployer< Chain extends ChainName, -> extends AbacusRouterDeployer< +> extends HyperlaneRouterDeployer< Chain, HelloWorldConfig, HelloWorldContracts, @@ -25,7 +25,7 @@ export class HelloWorldDeployer< constructor( multiProvider: MultiProvider, configMap: ChainMap, - protected core: AbacusCore, + protected core: HyperlaneCore, ) { super(multiProvider, configMap, helloWorldFactories, {}); } @@ -34,7 +34,7 @@ export class HelloWorldDeployer< // If no custom logic is needed, call deployContract for the router async deployContracts(chain: Chain, config: HelloWorldConfig) { const router = await this.deployContract(chain, 'router', [ - config.abacusConnectionManager, + config.connectionManager, config.interchainGasPaymaster, ]); return { diff --git a/typescript/helloworld/src/scripts/check.ts b/typescript/helloworld/src/scripts/check.ts index 8cd259f68..de7798eab 100644 --- a/typescript/helloworld/src/scripts/check.ts +++ b/typescript/helloworld/src/scripts/check.ts @@ -1,12 +1,12 @@ import { - AbacusCore, ChainMap, ChainName, + HyperlaneCore, MultiProvider, buildContracts, getChainToOwnerMap, objMap, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { HelloWorldApp } from '../app/app'; import { HelloWorldContracts, helloWorldFactories } from '../app/contracts'; @@ -33,7 +33,7 @@ async function check() { helloWorldFactories, ) as ChainMap; - const core = AbacusCore.fromEnvironment('testnet2', multiProvider); + const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); const app = new HelloWorldApp(core, contractsMap, multiProvider); const config = core.extendWithConnectionClientConfig( getChainToOwnerMap(prodConfigs, ownerAddress), diff --git a/typescript/helloworld/src/scripts/deploy.ts b/typescript/helloworld/src/scripts/deploy.ts index 5348a9942..587cec82a 100644 --- a/typescript/helloworld/src/scripts/deploy.ts +++ b/typescript/helloworld/src/scripts/deploy.ts @@ -1,12 +1,12 @@ import { Wallet } from 'ethers'; import { - AbacusCore, + HyperlaneCore, MultiProvider, getChainToOwnerMap, objMap, serializeContracts, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { prodConfigs } from '../deploy/config'; import { HelloWorldDeployer } from '../deploy/deploy'; @@ -23,7 +23,7 @@ async function main() { })); const multiProvider = new MultiProvider(chainProviders); - const core = AbacusCore.fromEnvironment('testnet2', multiProvider); + const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); const config = core.extendWithConnectionClientConfig( getChainToOwnerMap(prodConfigs, signer.address), ); diff --git a/typescript/helloworld/src/test/deploy.test.ts b/typescript/helloworld/src/test/deploy.test.ts index bfd3d81ca..77c503606 100644 --- a/typescript/helloworld/src/test/deploy.test.ts +++ b/typescript/helloworld/src/test/deploy.test.ts @@ -10,7 +10,7 @@ import { getChainToOwnerMap, getTestMultiProvider, testChainConnectionConfigs, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { HelloWorldApp } from '../app/app'; import { HelloWorldContracts } from '../app/contracts'; diff --git a/typescript/helloworld/src/test/helloworld.test.ts b/typescript/helloworld/src/test/helloworld.test.ts index c3b9246f5..6b8bec271 100644 --- a/typescript/helloworld/src/test/helloworld.test.ts +++ b/typescript/helloworld/src/test/helloworld.test.ts @@ -12,7 +12,7 @@ import { getChainToOwnerMap, getTestMultiProvider, testChainConnectionConfigs, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { HelloWorldConfig } from '../deploy/config'; import { HelloWorldDeployer } from '../deploy/deploy'; @@ -72,7 +72,7 @@ describe('HelloWorld', async () => { it('handles a message', async () => { await local.sendHelloWorld(remoteDomain, 'World'); - // Mock processing of the message by Abacus + // Mock processing of the message by Hyperlane await coreApp.processOutboundMessages(localChain); // The initial message has been dispatched. expect(await local.sent()).to.equal(1); diff --git a/typescript/ica/README.md b/typescript/ica/README.md index b51749cfa..2b1e3b2e3 100644 --- a/typescript/ica/README.md +++ b/typescript/ica/README.md @@ -1,6 +1,9 @@ -This package provides smart contracts with "sovereignty" on remote Abacus chains via operating interchain accounts. +# Interchain Accounts + +This package provides smart contracts with "sovereignty" on remote Hyperlane chains via operating interchain accounts. + An interchain account is a smart contract that is deployed on a remote chain and is controlled exclusively by the deploying local account. Interchain accounts provide developers with a [transparent multicall API](./contracts/OwnableMulticall.sol) to remote smart contracts. -This avoids the need to deploy application specific smart contracts on remote chains while simultaneously enabling crosschain composability. +This avoids the need to deploy application specific smart contracts on remote chains while simultaneously enabling cross-chain composability. See [IBC Interchain Accounts](https://github.com/cosmos/ibc/blob/main/spec/app/ics-027-interchain-accounts/README.md) for the Cosmos ecosystem equivalent. diff --git a/typescript/ica/contracts/InterchainAccountRouter.sol b/typescript/ica/contracts/InterchainAccountRouter.sol index 1839aab3a..1136085a2 100644 --- a/typescript/ica/contracts/InterchainAccountRouter.sol +++ b/typescript/ica/contracts/InterchainAccountRouter.sol @@ -4,8 +4,8 @@ pragma solidity ^0.8.13; import {OwnableMulticall, Call} from "./OwnableMulticall.sol"; // ============ External Imports ============ -import {Router} from "@abacus-network/app/contracts/Router.sol"; -import {TypeCasts} from "@abacus-network/core/contracts/libs/TypeCasts.sol"; +import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; +import {TypeCasts} from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol"; import {Create2} from "@openzeppelin/contracts/utils/Create2.sol"; import {Address} from "@openzeppelin/contracts/utils/Address.sol"; diff --git a/typescript/ica/package.json b/typescript/ica/package.json index 642ecfe4f..cbb71010d 100644 --- a/typescript/ica/package.json +++ b/typescript/ica/package.json @@ -1,11 +1,11 @@ { - "name": "@abacus-network/interchain-accounts", + "name": "@hyperlane-xyz/interchain-accounts", "description": "A router middleware for interchain accounts", - "version": "0.1.0", + "version": "0.5.0-beta0", "dependencies": { - "@abacus-network/app": "^0.4.1", - "@abacus-network/sdk": "^0.4.1", - "@abacus-network/utils": "^0.4.1", + "@hyperlane-xyz/app": "0.5.0-beta0", + "@hyperlane-xyz/sdk": "0.5.0-beta0", + "@hyperlane-xyz/utils": "0.5.0-beta0", "@openzeppelin/contracts-upgradeable": "^4.6.0", "ethers": "^5.6.8" }, @@ -39,9 +39,9 @@ "/dist", "/contracts" ], - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane-xyz", "keywords": [ - "Abacus", + "Hyperlane", "Interchain Accounts", "Solidity", "Typescript" @@ -51,7 +51,7 @@ "packageManager": "yarn@3.2.0", "repository": { "type": "git", - "url": "https://github.com/abacus-network/abacus-app-template" + "url": "https://github.com/hyperlane-xyz/hyperlane-monorepo" }, "scripts": { "build": "hardhat compile && tsc", @@ -59,8 +59,7 @@ "coverage": "hardhat coverage", "lint": "eslint . --ext .ts", "prettier": "prettier --write ./contracts ./src", - "test": "hardhat test ./test/*.test.ts", - "sync": "ts-node scripts/sync-with-template-repo.ts" + "test": "hardhat test ./test/*.test.ts" }, "types": "dist/src/index.d.ts" } diff --git a/typescript/ica/src/contracts.ts b/typescript/ica/src/contracts.ts index 75040124f..495e21e1c 100644 --- a/typescript/ica/src/contracts.ts +++ b/typescript/ica/src/contracts.ts @@ -1,4 +1,4 @@ -import { RouterContracts, RouterFactories } from '@abacus-network/sdk'; +import { RouterContracts, RouterFactories } from '@hyperlane-xyz/sdk'; import { InterchainAccountRouter, diff --git a/typescript/ica/src/deploy.ts b/typescript/ica/src/deploy.ts index 471cc7efe..3a66f6d37 100644 --- a/typescript/ica/src/deploy.ts +++ b/typescript/ica/src/deploy.ts @@ -1,11 +1,11 @@ import { - AbacusCore, - AbacusRouterDeployer, ChainMap, ChainName, + HyperlaneCore, + HyperlaneRouterDeployer, MultiProvider, RouterConfig, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { InterchainAccountContracts, @@ -16,7 +16,7 @@ export type InterchainAccountConfig = RouterConfig; export class InterchainAccountDeployer< Chain extends ChainName, -> extends AbacusRouterDeployer< +> extends HyperlaneRouterDeployer< Chain, InterchainAccountConfig, InterchainAccountContracts, @@ -25,7 +25,7 @@ export class InterchainAccountDeployer< constructor( multiProvider: MultiProvider, configMap: ChainMap, - protected core: AbacusCore, + protected core: HyperlaneCore, ) { super(multiProvider, configMap, InterchainAccountFactories, {}); } @@ -34,7 +34,7 @@ export class InterchainAccountDeployer< // If no custom logic is needed, call deployContract for the router async deployContracts(chain: Chain, config: InterchainAccountConfig) { const router = await this.deployContract(chain, 'router', [ - config.abacusConnectionManager, + config.connectionManager, config.interchainGasPaymaster, ]); return { diff --git a/typescript/ica/test/accounts.test.ts b/typescript/ica/test/accounts.test.ts index d499b5256..a0147627b 100644 --- a/typescript/ica/test/accounts.test.ts +++ b/typescript/ica/test/accounts.test.ts @@ -13,7 +13,7 @@ import { getChainToOwnerMap, getTestMultiProvider, testChainConnectionConfigs, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { InterchainAccountDeployer } from '../src/deploy'; import { InterchainAccountRouter, TestRecipient__factory } from '../types'; diff --git a/typescript/infra/config/contexts.ts b/typescript/infra/config/contexts.ts index d4e0485ec..0b6a232fe 100644 --- a/typescript/infra/config/contexts.ts +++ b/typescript/infra/config/contexts.ts @@ -1,6 +1,6 @@ // All valid deployment contexts. Environments may use just a subset of these contexts. export enum Contexts { - Abacus = 'abacus', + Abacus = 'abacus', // TODO rename when infra changes Flowcarbon = 'flowcarbon', ReleaseCandidate = 'rc', } diff --git a/typescript/infra/config/environments/mainnet/chains.ts b/typescript/infra/config/environments/mainnet/chains.ts index bb32277b6..69905b55e 100644 --- a/typescript/infra/config/environments/mainnet/chains.ts +++ b/typescript/infra/config/environments/mainnet/chains.ts @@ -2,7 +2,7 @@ import { ChainMap, IChainConnection, chainConnectionConfigs, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; export const mainnetConfigs: ChainMap = { bsc: { diff --git a/typescript/infra/config/environments/mainnet/core.ts b/typescript/infra/config/environments/mainnet/core.ts index 523e4aaf7..8914cb1a1 100644 --- a/typescript/infra/config/environments/mainnet/core.ts +++ b/typescript/infra/config/environments/mainnet/core.ts @@ -1,4 +1,4 @@ -import { ChainMap, CoreConfig } from '@abacus-network/sdk'; +import { ChainMap, CoreConfig } from '@hyperlane-xyz/sdk'; import { MainnetChains } from './chains'; diff --git a/typescript/infra/config/environments/mainnet/core/verification/verification.json b/typescript/infra/config/environments/mainnet/core/verification/verification.json index aeeb29b68..0606327ab 100644 --- a/typescript/infra/config/environments/mainnet/core/verification/verification.json +++ b/typescript/infra/config/environments/mainnet/core/verification/verification.json @@ -23,7 +23,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0x12582c7B0f43c6A667CBaA7fA8b112F7fb1E69F0", "isProxy": false }, @@ -178,7 +178,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "isProxy": false }, @@ -333,7 +333,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "isProxy": false }, @@ -488,7 +488,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0x1Ab68dC4f7b6cfcd00218D4b761b7F3b5a724555", "isProxy": false }, @@ -643,7 +643,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0x19dc38aeae620380430C200a6E990D5Af5480117", "isProxy": false }, @@ -798,7 +798,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "isProxy": false }, @@ -953,7 +953,7 @@ "isProxy": true }, { - "name": "AbacusConnectionManager", + "name": "connectionManager", "address": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "isProxy": false }, diff --git a/typescript/infra/config/environments/mainnet/funding.ts b/typescript/infra/config/environments/mainnet/funding.ts index 6598662b2..824680694 100644 --- a/typescript/infra/config/environments/mainnet/funding.ts +++ b/typescript/infra/config/environments/mainnet/funding.ts @@ -6,7 +6,7 @@ import { environment } from './chains'; export const keyFunderConfig: KeyFunderConfig = { docker: { - repo: 'gcr.io/abacus-labs-dev/abacus-monorepo', + repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', tag: 'sha-f3509ac', }, cronSchedule: '45 * * * *', // Every hour at the 45 minute mark diff --git a/typescript/infra/config/environments/mainnet/helloworld.ts b/typescript/infra/config/environments/mainnet/helloworld.ts index 69d088f68..d1c116062 100644 --- a/typescript/infra/config/environments/mainnet/helloworld.ts +++ b/typescript/infra/config/environments/mainnet/helloworld.ts @@ -10,7 +10,7 @@ export const abacus: HelloWorldConfig = { addresses: abacusAddresses, kathy: { docker: { - repo: 'gcr.io/abacus-labs-dev/abacus-monorepo', + repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', tag: 'sha-8b8fdde', }, chainsToSkip: [], @@ -29,7 +29,7 @@ export const releaseCandidate: HelloWorldConfig = { addresses: rcAddresses, kathy: { docker: { - repo: 'gcr.io/abacus-labs-dev/abacus-monorepo', + repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', tag: 'sha-8b8fdde', }, chainsToSkip: [], diff --git a/typescript/infra/config/environments/mainnet/validators.ts b/typescript/infra/config/environments/mainnet/validators.ts index 3eb74b2ed..8fc675c72 100644 --- a/typescript/infra/config/environments/mainnet/validators.ts +++ b/typescript/infra/config/environments/mainnet/validators.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { ChainValidatorSets, diff --git a/typescript/infra/config/environments/test/chains.ts b/typescript/infra/config/environments/test/chains.ts index eded2448f..ca235955e 100644 --- a/typescript/infra/config/environments/test/chains.ts +++ b/typescript/infra/config/environments/test/chains.ts @@ -1,4 +1,4 @@ -import { chainConnectionConfigs } from '@abacus-network/sdk'; +import { chainConnectionConfigs } from '@hyperlane-xyz/sdk'; export const testConfigs = { test1: chainConnectionConfigs.test1, diff --git a/typescript/infra/config/environments/test/core.ts b/typescript/infra/config/environments/test/core.ts index 931cd4749..ae2985266 100644 --- a/typescript/infra/config/environments/test/core.ts +++ b/typescript/infra/config/environments/test/core.ts @@ -1,4 +1,4 @@ -import { ChainMap, CoreConfig } from '@abacus-network/sdk'; +import { ChainMap, CoreConfig } from '@hyperlane-xyz/sdk'; import { TestChains } from './chains'; diff --git a/typescript/infra/config/environments/test/index.ts b/typescript/infra/config/environments/test/index.ts index 2d2cf5eea..e8e1d747a 100644 --- a/typescript/infra/config/environments/test/index.ts +++ b/typescript/infra/config/environments/test/index.ts @@ -1,6 +1,6 @@ import { JsonRpcProvider } from '@ethersproject/providers'; -import { getTestMultiProvider } from '@abacus-network/sdk'; +import { getTestMultiProvider } from '@hyperlane-xyz/sdk'; import { CoreEnvironmentConfig } from '../../../src/config'; diff --git a/typescript/infra/config/environments/test/validators.ts b/typescript/infra/config/environments/test/validators.ts index 7a95fac1a..b954b5e52 100644 --- a/typescript/infra/config/environments/test/validators.ts +++ b/typescript/infra/config/environments/test/validators.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { ChainValidatorSets, diff --git a/typescript/infra/config/environments/testnet2/chains.ts b/typescript/infra/config/environments/testnet2/chains.ts index f08c5154b..756bd1496 100644 --- a/typescript/infra/config/environments/testnet2/chains.ts +++ b/typescript/infra/config/environments/testnet2/chains.ts @@ -1,4 +1,4 @@ -import { chainConnectionConfigs } from '@abacus-network/sdk'; +import { chainConnectionConfigs } from '@hyperlane-xyz/sdk'; export const testnetConfigs = { alfajores: chainConnectionConfigs.alfajores, diff --git a/typescript/infra/config/environments/testnet2/core.ts b/typescript/infra/config/environments/testnet2/core.ts index 419a459de..554376465 100644 --- a/typescript/infra/config/environments/testnet2/core.ts +++ b/typescript/infra/config/environments/testnet2/core.ts @@ -1,4 +1,4 @@ -import { ChainMap, CoreConfig } from '@abacus-network/sdk'; +import { ChainMap, CoreConfig } from '@hyperlane-xyz/sdk'; import { TestnetChains } from './chains'; diff --git a/typescript/infra/config/environments/testnet2/core/verification/verification.json b/typescript/infra/config/environments/testnet2/core/verification/verification.json index 0f02f334c..98ac76942 100644 --- a/typescript/infra/config/environments/testnet2/core/verification/verification.json +++ b/typescript/infra/config/environments/testnet2/core/verification/verification.json @@ -7,7 +7,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0xc41169650335Ad274157Ea5116Cdf227430A68a3", "constructorArguments": [], "isProxy": false @@ -179,7 +179,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0xfA1fBF362144ae1bEf2E33409948dA1FB812bb41", "constructorArguments": [], "isProxy": false @@ -351,7 +351,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0x33AbaF6708be03Bdf0595DA0745A7111b01dB8c7", "constructorArguments": [], "isProxy": false @@ -523,7 +523,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0xb636B2c65A75d41F0dBe98fB33eb563d245a241a", "constructorArguments": [], "isProxy": false @@ -695,7 +695,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0xe403E16db1f5997bC62Dc611A8d42836364A7f01", "constructorArguments": [], "isProxy": false @@ -867,7 +867,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0xFb55597F07417b08195Ba674f4dd58aeC9B89FBB", "constructorArguments": [], "isProxy": false @@ -1039,7 +1039,7 @@ "isProxy": false }, { - "name": "abacusConnectionManager", + "name": "connectionManager", "address": "0x740bEd6E4eEc7c57a2818177Fba3f9E896D5DE1c", "constructorArguments": [], "isProxy": false diff --git a/typescript/infra/config/environments/testnet2/validators.ts b/typescript/infra/config/environments/testnet2/validators.ts index 60ea924a9..8bd739351 100644 --- a/typescript/infra/config/environments/testnet2/validators.ts +++ b/typescript/infra/config/environments/testnet2/validators.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { ChainValidatorSets, diff --git a/typescript/infra/config/utils.ts b/typescript/infra/config/utils.ts index cfe273846..bae60a078 100644 --- a/typescript/infra/config/utils.ts +++ b/typescript/infra/config/utils.ts @@ -1,4 +1,4 @@ -import { ChainMap, ChainName, chainMetadata } from '@abacus-network/sdk'; +import { ChainMap, ChainName, chainMetadata } from '@hyperlane-xyz/sdk'; import { HelloWorldConfig } from '../src/config'; import { MatchingList } from '../src/config/agent'; diff --git a/typescript/infra/hardhat.config.ts b/typescript/infra/hardhat.config.ts index cc1eca547..1b98e0248 100644 --- a/typescript/infra/hardhat.config.ts +++ b/typescript/infra/hardhat.config.ts @@ -3,19 +3,19 @@ import '@nomiclabs/hardhat-waffle'; import { task } from 'hardhat/config'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; -import { TestSendReceiver__factory } from '@abacus-network/core'; +import { TestSendReceiver__factory } from '@hyperlane-xyz/core'; import { - AbacusCore, ChainName, ChainNameToDomainId, + HyperlaneCore, getTestMultiProvider, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { getCoreEnvironmentConfig } from './scripts/utils'; import { sleep } from './src/utils/utils'; const chainSummary = async ( - core: AbacusCore, + core: HyperlaneCore, chain: Chain, ) => { const coreContracts = core.getContracts(chain); @@ -46,7 +46,7 @@ const chainSummary = async ( return summary; }; -task('kathy', 'Dispatches random abacus messages') +task('kathy', 'Dispatches random hyperlane messages') .addParam( 'rounds', 'Number of message sending rounds to perform; defaults to having no limit', @@ -67,7 +67,7 @@ task('kathy', 'Dispatches random abacus messages') signer, config.transactionConfigs, ); - const core = AbacusCore.fromEnvironment(environment, multiProvider); + const core = HyperlaneCore.fromEnvironment(environment, multiProvider); const randomElement = (list: T[]) => list[Math.floor(Math.random() * list.length)]; diff --git a/typescript/infra/helm/helloworld-kathy/values.yaml b/typescript/infra/helm/helloworld-kathy/values.yaml index d4671b974..38aed5db1 100644 --- a/typescript/infra/helm/helloworld-kathy/values.yaml +++ b/typescript/infra/helm/helloworld-kathy/values.yaml @@ -1,5 +1,5 @@ image: - repository: gcr.io/abacus-labs-dev/abacus-monorepo + repository: gcr.io/abacus-labs-dev/hyperlane-monorepo tag: abacus: runEnv: testnet2 diff --git a/typescript/infra/helm/key-funder/values.yaml b/typescript/infra/helm/key-funder/values.yaml index 49e099ae3..a6c0a3a51 100644 --- a/typescript/infra/helm/key-funder/values.yaml +++ b/typescript/infra/helm/key-funder/values.yaml @@ -1,5 +1,5 @@ image: - repository: gcr.io/abacus-labs-dev/abacus-monorepo + repository: gcr.io/abacus-labs-dev/hyperlane-monorepo tag: abacus: runEnv: testnet2 diff --git a/typescript/infra/package.json b/typescript/infra/package.json index f0e417220..1f9576175 100644 --- a/typescript/infra/package.json +++ b/typescript/infra/package.json @@ -1,12 +1,8 @@ { - "name": "@abacus-network/infra", - "description": "Infrastructure utilities for the Abacus Network", - "version": "0.4.1", + "name": "@hyperlane-xyz/infra", + "description": "Infrastructure utilities for the Hyperlane Network", + "version": "0.5.0", "dependencies": { - "@abacus-network/celo-ethers-provider": "^0.1.0", - "@abacus-network/helloworld": "0.5.0", - "@abacus-network/sdk": "0.4.1", - "@abacus-network/utils": "0.4.1", "@aws-sdk/client-iam": "^3.74.0", "@aws-sdk/client-kms": "3.48.0", "@aws-sdk/client-s3": "^3.74.0", @@ -15,6 +11,10 @@ "@gnosis.pm/safe-core-sdk": "^2.3.2", "@gnosis.pm/safe-ethers-lib": "^1.4.0", "@gnosis.pm/safe-service-client": "^1.2.0", + "@hyperlane-xyz/celo-ethers-provider": "^0.1.1", + "@hyperlane-xyz/helloworld": "0.5.0-beta0", + "@hyperlane-xyz/sdk": "0.5.0-beta0", + "@hyperlane-xyz/utils": "0.5.0-beta0", "@nomiclabs/hardhat-etherscan": "^3.0.3", "asn1.js": "5.4.1", "aws-kms-ethers-signer": "^0.1.3", @@ -39,18 +39,20 @@ "ts-node": "^10.8.0", "typescript": "^4.7.2" }, - "homepage": "https://www.useabacus.network", + "private": true, + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "Typescript", "Infrastructure" ], "license": "Apache-2.0", "main": "dist/index.js", "prepublish": "yarn build", - "repository": "https://github.com/abacus-network/abacus-monorepo", + "repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo", "scripts": { "abacus": "ts-node scripts/core.ts -e test", + "hyperlane": "ts-node scripts/core.ts -e test", "build": "tsc", "clean": "rm -rf ./dist ./cache", "check": "tsc --noEmit", diff --git a/typescript/infra/scripts/check-deploy.ts b/typescript/infra/scripts/check-deploy.ts index 8c276f663..b83132e51 100644 --- a/typescript/infra/scripts/check-deploy.ts +++ b/typescript/infra/scripts/check-deploy.ts @@ -1,4 +1,4 @@ -import { AbacusCore, AbacusCoreChecker } from '@abacus-network/sdk'; +import { HyperlaneCore, HyperlaneCoreChecker } from '@hyperlane-xyz/sdk'; import { getCoreEnvironmentConfig, getEnvironment } from './utils'; @@ -8,8 +8,8 @@ async function check() { const multiProvider = await config.getMultiProvider(); // environments union doesn't work well with typescript - const core = AbacusCore.fromEnvironment(environment, multiProvider as any); - const coreChecker = new AbacusCoreChecker( + const core = HyperlaneCore.fromEnvironment(environment, multiProvider as any); + const coreChecker = new HyperlaneCoreChecker( multiProvider, core, config.core, diff --git a/typescript/infra/scripts/core.ts b/typescript/infra/scripts/core.ts index 410a29956..a1fe5cc43 100644 --- a/typescript/infra/scripts/core.ts +++ b/typescript/infra/scripts/core.ts @@ -2,9 +2,9 @@ import { buildContracts, coreFactories, serializeContracts, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; -import { AbacusCoreInfraDeployer } from '../src/core/deploy'; +import { HyperlaneCoreInfraDeployer } from '../src/core/deploy'; import { readJSON, writeJSON } from '../src/utils/utils'; import { @@ -19,7 +19,7 @@ async function main() { const environment = await getEnvironment(); const config = getCoreEnvironmentConfig(environment) as any; const multiProvider = await config.getMultiProvider(); - const deployer = new AbacusCoreInfraDeployer(multiProvider, config.core); + const deployer = new HyperlaneCoreInfraDeployer(multiProvider, config.core); let previousContracts = {}; previousAddressParsing: try { diff --git a/typescript/infra/scripts/debug-message.ts b/typescript/infra/scripts/debug-message.ts index 61855b3e3..103dbc6f4 100644 --- a/typescript/infra/scripts/debug-message.ts +++ b/typescript/infra/scripts/debug-message.ts @@ -1,13 +1,13 @@ -import { IMessageRecipient__factory } from '@abacus-network/helloworld/dist/src/types'; +import { IMessageRecipient__factory } from '@hyperlane-xyz/helloworld/dist/src/types'; import { - AbacusCore, ChainName, DispatchedMessage, DomainIdToChainName, + HyperlaneCore, MultiProvider, chainConnectionConfigs, -} from '@abacus-network/sdk'; -import { utils } from '@abacus-network/utils'; +} from '@hyperlane-xyz/sdk'; +import { utils } from '@hyperlane-xyz/utils'; import { assertChain } from '../src/utils/utils'; @@ -42,7 +42,7 @@ async function main() { // to run this script const multiProvider = new MultiProvider(chainConnectionConfigs); - const core = AbacusCore.fromEnvironment(environment, multiProvider); + const core = HyperlaneCore.fromEnvironment(environment, multiProvider); const originProvider = multiProvider.getChainProvider(argv.originChain); const dispatchReceipt = await originProvider.getTransactionReceipt( @@ -62,7 +62,7 @@ async function main() { } async function checkMessage( - core: AbacusCore, + core: HyperlaneCore, multiProvider: MultiProvider, message: DispatchedMessage, ) { diff --git a/typescript/infra/scripts/funding/fund-keys-from-deployer.ts b/typescript/infra/scripts/funding/fund-keys-from-deployer.ts index 3a88c90dd..a6eb6eded 100644 --- a/typescript/infra/scripts/funding/fund-keys-from-deployer.ts +++ b/typescript/infra/scripts/funding/fund-keys-from-deployer.ts @@ -8,8 +8,8 @@ import { ChainName, CompleteChainMap, MultiProvider, -} from '@abacus-network/sdk'; -import { error, log } from '@abacus-network/utils'; +} from '@hyperlane-xyz/sdk'; +import { error, log } from '@hyperlane-xyz/utils'; import { Contexts } from '../../config/contexts'; import { parseKeyIdentifier } from '../../src/agents/agent'; diff --git a/typescript/infra/scripts/funding/reclaim-from-igp.ts b/typescript/infra/scripts/funding/reclaim-from-igp.ts index 8460a2ab5..8678e3238 100644 --- a/typescript/infra/scripts/funding/reclaim-from-igp.ts +++ b/typescript/infra/scripts/funding/reclaim-from-igp.ts @@ -1,6 +1,6 @@ import { BigNumber } from 'ethers'; -import { AbacusCore, objMap, promiseObjAll } from '@abacus-network/sdk'; +import { HyperlaneCore, objMap, promiseObjAll } from '@hyperlane-xyz/sdk'; import { getEnvironment, getEnvironmentConfig } from '../utils'; @@ -11,7 +11,7 @@ async function main() { const environment = await getEnvironment(); const coreConfig = await getEnvironmentConfig(); const multiProvider = await coreConfig.getMultiProvider(); - const core: AbacusCore = AbacusCore.fromEnvironment( + const core: HyperlaneCore = HyperlaneCore.fromEnvironment( environment, multiProvider, ); diff --git a/typescript/infra/scripts/govern.ts b/typescript/infra/scripts/govern.ts index 551bfdc23..7702593ec 100644 --- a/typescript/infra/scripts/govern.ts +++ b/typescript/infra/scripts/govern.ts @@ -1,10 +1,10 @@ import { - AbacusCore, - AbacusCoreChecker, CoreViolationType, -} from '@abacus-network/sdk'; + HyperlaneCore, + HyperlaneCoreChecker, +} from '@hyperlane-xyz/sdk'; -import { AbacusCoreGovernor } from '../src/core/govern'; +import { HyperlaneCoreGovernor } from '../src/core/govern'; import { getCoreEnvironmentConfig, getEnvironment } from './utils'; @@ -15,9 +15,9 @@ async function check() { const multiProvider = await config.getMultiProvider(); // environments union doesn't work well with typescript - const core = AbacusCore.fromEnvironment(environment, multiProvider as any); + const core = HyperlaneCore.fromEnvironment(environment, multiProvider as any); - const coreChecker = new AbacusCoreChecker( + const coreChecker = new HyperlaneCoreChecker( multiProvider, core, config.core, @@ -26,7 +26,7 @@ async function check() { // One validator violation per chain (test add validator) coreChecker.expectViolations([CoreViolationType.ValidatorManager], [1 * 7]); - const governor = new AbacusCoreGovernor(coreChecker); + const governor = new HyperlaneCoreGovernor(coreChecker); await governor.govern(); } diff --git a/typescript/infra/scripts/helloworld/check.ts b/typescript/infra/scripts/helloworld/check.ts index 8d9efd0e1..1c4180f61 100644 --- a/typescript/infra/scripts/helloworld/check.ts +++ b/typescript/infra/scripts/helloworld/check.ts @@ -1,4 +1,4 @@ -import { HelloWorldChecker } from '@abacus-network/helloworld'; +import { HelloWorldChecker } from '@hyperlane-xyz/helloworld'; import { Contexts } from '../../config/contexts'; import { KEY_ROLE_ENUM } from '../../src/agents/roles'; @@ -15,7 +15,7 @@ async function main() { coreConfig, context, KEY_ROLE_ENUM.Deployer, - Contexts.Abacus, // Owner should always be from the abacus context + Contexts.Abacus, // Owner should always be from the hyperlane context ); const configMap = await getConfiguration(environment, multiProvider); const checker = new HelloWorldChecker(multiProvider, app, configMap); diff --git a/typescript/infra/scripts/helloworld/deploy.ts b/typescript/infra/scripts/helloworld/deploy.ts index 74fcb520f..0d2f658a2 100644 --- a/typescript/infra/scripts/helloworld/deploy.ts +++ b/typescript/infra/scripts/helloworld/deploy.ts @@ -4,13 +4,13 @@ import { HelloWorldContracts, HelloWorldDeployer, helloWorldFactories, -} from '@abacus-network/helloworld'; +} from '@hyperlane-xyz/helloworld'; import { - AbacusCore, ChainMap, + HyperlaneCore, buildContracts, serializeContracts, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { KEY_ROLE_ENUM } from '../../src/agents/roles'; @@ -28,13 +28,13 @@ async function main() { const environment = await getEnvironment(); const context = await getContext(); const coreConfig = getCoreEnvironmentConfig(environment); - // Always deploy from the abacus deployer + // Always deploy from the hyperlane deployer const multiProvider = await coreConfig.getMultiProvider( Contexts.Abacus, KEY_ROLE_ENUM.Deployer, ); const configMap = await getConfiguration(environment, multiProvider); - const core = AbacusCore.fromEnvironment(environment, multiProvider as any); + const core = HyperlaneCore.fromEnvironment(environment, multiProvider as any); const deployer = new HelloWorldDeployer(multiProvider, configMap, core); const dir = path.join( getEnvironmentDirectory(environment), diff --git a/typescript/infra/scripts/helloworld/kathy.ts b/typescript/infra/scripts/helloworld/kathy.ts index 1e43b2d4f..d894465cb 100644 --- a/typescript/infra/scripts/helloworld/kathy.ts +++ b/typescript/infra/scripts/helloworld/kathy.ts @@ -2,14 +2,14 @@ import { BigNumber, ethers } from 'ethers'; import { Counter, Gauge, Registry } from 'prom-client'; import { format } from 'util'; -import { HelloWorldApp } from '@abacus-network/helloworld'; +import { HelloWorldApp } from '@hyperlane-xyz/helloworld'; import { - AbacusCore, ChainName, DispatchedMessage, + HyperlaneCore, InterchainGasCalculator, -} from '@abacus-network/sdk'; -import { debug, error, log, utils, warn } from '@abacus-network/utils'; +} from '@hyperlane-xyz/sdk'; +import { debug, error, log, utils, warn } from '@hyperlane-xyz/utils'; import { KEY_ROLE_ENUM } from '../../src/agents/roles'; import { startMetricsServer } from '../../src/utils/metrics'; @@ -24,6 +24,7 @@ import { assertEnvironment, getArgs, getCoreEnvironmentConfig } from '../utils'; import { getApp } from './utils'; const metricsRegister = new Registry(); +// TODO rename counter names const messagesSendCount = new Counter({ name: 'abacus_kathy_messages', help: 'Count of messages sent; records successes and failures by status label', @@ -390,7 +391,7 @@ async function sendMessage( } async function messageIsProcessed( - core: AbacusCore, + core: HyperlaneCore, origin: ChainName, destination: ChainName, message: DispatchedMessage, diff --git a/typescript/infra/scripts/helloworld/utils.ts b/typescript/infra/scripts/helloworld/utils.ts index 36c2442b3..01c03ac02 100644 --- a/typescript/infra/scripts/helloworld/utils.ts +++ b/typescript/infra/scripts/helloworld/utils.ts @@ -2,17 +2,17 @@ import { HelloWorldApp, HelloWorldContracts, helloWorldFactories, -} from '@abacus-network/helloworld'; +} from '@hyperlane-xyz/helloworld'; import { - AbacusCore, ChainMap, ChainName, + HyperlaneCore, MultiProvider, RouterConfig, buildContracts, objMap, promiseObjAll, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { KEY_ROLE_ENUM } from '../../src/agents/roles'; @@ -34,9 +34,9 @@ export async function getConfiguration( }), ); - // Currently can't be typed as per https://github.com/abacus-network/abacus-monorepo/pull/594/files#diff-40a12589668de942078f498e0ab0fda512e1eb7397189d6d286b590ae87c45d1R31 + // Currently can't be typed as per https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/594/files#diff-40a12589668de942078f498e0ab0fda512e1eb7397189d6d286b590ae87c45d1R31 // @ts-ignore - const core: AbacusCore = AbacusCore.fromEnvironment( + const core: HyperlaneCore = HyperlaneCore.fromEnvironment( environment, multiProvider as any, ); @@ -59,10 +59,10 @@ export async function getApp( keyContext, keyRole, ); - const core = AbacusCore.fromEnvironment( + const core = HyperlaneCore.fromEnvironment( coreConfig.environment, multiProvider as any, - ) as AbacusCore; + ) as HyperlaneCore; return new HelloWorldApp(core, contracts, multiProvider); } diff --git a/typescript/infra/scripts/safe-delegate.ts b/typescript/infra/scripts/safe-delegate.ts index 17d460971..9c33fd646 100644 --- a/typescript/infra/scripts/safe-delegate.ts +++ b/typescript/infra/scripts/safe-delegate.ts @@ -5,7 +5,7 @@ import '@ethersproject/hardware-wallets/thirdparty'; import { SafeDelegateConfig } from '@gnosis.pm/safe-service-client'; import yargs from 'yargs'; -import { AllChains } from '@abacus-network/sdk'; +import { AllChains } from '@hyperlane-xyz/sdk'; import { getSafeDelegates, getSafeService } from '../src/utils/safe'; diff --git a/typescript/infra/scripts/utils.ts b/typescript/infra/scripts/utils.ts index 12bc92153..07417eb53 100644 --- a/typescript/infra/scripts/utils.ts +++ b/typescript/infra/scripts/utils.ts @@ -9,7 +9,7 @@ import { MultiProvider, objMap, promiseObjAll, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { Contexts } from '../config/contexts'; import { environments } from '../config/environments'; diff --git a/typescript/infra/scripts/verify-core.ts b/typescript/infra/scripts/verify-core.ts index 9a10071f7..505bba80b 100644 --- a/typescript/infra/scripts/verify-core.ts +++ b/typescript/infra/scripts/verify-core.ts @@ -5,7 +5,7 @@ import { CompilerOptions, CompleteChainMap, ContractVerifier, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { fetchGCPSecret } from '../src/utils/gcloud'; import { execCmd, readJSON } from '../src/utils/utils'; diff --git a/typescript/infra/scripts/verify-validator.ts b/typescript/infra/scripts/verify-validator.ts index fb48a562b..0880409e9 100644 --- a/typescript/infra/scripts/verify-validator.ts +++ b/typescript/infra/scripts/verify-validator.ts @@ -1,9 +1,9 @@ import { ethers } from 'ethers'; import yargs from 'yargs'; -import { AllChains, ChainNameToDomainId } from '@abacus-network/sdk'; +import { AllChains, ChainNameToDomainId } from '@hyperlane-xyz/sdk'; -// import { utils } from '@abacus-network/utils'; +// import { utils } from '@hyperlane-xyz/utils'; import { S3Validator } from '../src/agents/aws/validator'; function getArgs() { diff --git a/typescript/infra/src/agents/agent.ts b/typescript/infra/src/agents/agent.ts index 9308921d0..48b0d99a2 100644 --- a/typescript/infra/src/agents/agent.ts +++ b/typescript/infra/src/agents/agent.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; diff --git a/typescript/infra/src/agents/aws/key.ts b/typescript/infra/src/agents/aws/key.ts index 39d00355c..1a7e7e504 100644 --- a/typescript/infra/src/agents/aws/key.ts +++ b/typescript/infra/src/agents/aws/key.ts @@ -18,7 +18,7 @@ import { import { KmsEthersSigner } from 'aws-kms-ethers-signer'; import { ethers } from 'ethers'; -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { AgentConfig, AwsKeyConfig, KeyType } from '../../config/agent'; import { getEthereumAddress, sleep } from '../../utils/utils'; diff --git a/typescript/infra/src/agents/aws/s3.ts b/typescript/infra/src/agents/aws/s3.ts index 42d0ed229..f4c5756da 100644 --- a/typescript/infra/src/agents/aws/s3.ts +++ b/typescript/infra/src/agents/aws/s3.ts @@ -1,7 +1,7 @@ import { GetObjectCommand, S3Client } from '@aws-sdk/client-s3'; import { Readable } from 'stream'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; export const S3_BUCKET_REGEX = /^(?:https?:\/\/)?(.*)\.s3\.(.*)\.amazonaws.com\/?$/; diff --git a/typescript/infra/src/agents/aws/user.ts b/typescript/infra/src/agents/aws/user.ts index 3ed9e3d20..479b5038f 100644 --- a/typescript/infra/src/agents/aws/user.ts +++ b/typescript/infra/src/agents/aws/user.ts @@ -7,7 +7,7 @@ import { User, } from '@aws-sdk/client-iam'; -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../../config/contexts'; import { AgentConfig } from '../../config'; diff --git a/typescript/infra/src/agents/aws/validator-user.ts b/typescript/infra/src/agents/aws/validator-user.ts index 27a885c1f..3b3d9fb76 100644 --- a/typescript/infra/src/agents/aws/validator-user.ts +++ b/typescript/infra/src/agents/aws/validator-user.ts @@ -5,7 +5,7 @@ import { S3Client, } from '@aws-sdk/client-s3'; -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../../config/contexts'; import { AgentConfig } from '../../config'; diff --git a/typescript/infra/src/agents/aws/validator.ts b/typescript/infra/src/agents/aws/validator.ts index cb6690753..4497757e5 100644 --- a/typescript/infra/src/agents/aws/validator.ts +++ b/typescript/infra/src/agents/aws/validator.ts @@ -1,4 +1,4 @@ -import { BaseValidator, types, utils } from '@abacus-network/utils'; +import { BaseValidator, types, utils } from '@hyperlane-xyz/utils'; import { S3Receipt, S3Wrapper } from './s3'; diff --git a/typescript/infra/src/agents/gcp.ts b/typescript/infra/src/agents/gcp.ts index 23b8486fe..c5774960e 100644 --- a/typescript/infra/src/agents/gcp.ts +++ b/typescript/infra/src/agents/gcp.ts @@ -1,6 +1,6 @@ import { Wallet, ethers } from 'ethers'; -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { fetchGCPSecret, setGCPSecret } from '../utils/gcloud'; diff --git a/typescript/infra/src/agents/index.ts b/typescript/infra/src/agents/index.ts index 4ef0bfc53..fadf0d783 100644 --- a/typescript/infra/src/agents/index.ts +++ b/typescript/infra/src/agents/index.ts @@ -1,5 +1,5 @@ -import { ChainName } from '@abacus-network/sdk'; -import { utils } from '@abacus-network/utils'; +import { ChainName } from '@hyperlane-xyz/sdk'; +import { utils } from '@hyperlane-xyz/utils'; import { Contexts } from '../../config/contexts'; import { AgentConfig, DeployEnvironment } from '../config'; diff --git a/typescript/infra/src/agents/key-utils.ts b/typescript/infra/src/agents/key-utils.ts index fb99d056f..6144b1e4a 100644 --- a/typescript/infra/src/agents/key-utils.ts +++ b/typescript/infra/src/agents/key-utils.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { AgentConfig } from '../config'; diff --git a/typescript/infra/src/agents/keys.ts b/typescript/infra/src/agents/keys.ts index 5e3f0046d..c8ee59e0f 100644 --- a/typescript/infra/src/agents/keys.ts +++ b/typescript/infra/src/agents/keys.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { assertChain, assertContext, assertRole } from '../utils/utils'; @@ -8,7 +8,7 @@ import { assertChain, assertContext, assertRole } from '../utils/utils'; import { parseKeyIdentifier } from './agent'; import { KEY_ROLE_ENUM } from './roles'; -// Base class to represent keys used to run Abacus agents. +// Base class to represent keys used to run Hyperlane agents. export abstract class BaseAgentKey { constructor( public readonly environment: string, @@ -32,7 +32,7 @@ export class ReadOnlyAgentKey extends BaseAgentKey { } } -// Base class to represent cloud-hosted keys used to run Abacus agents. +// Base class to represent cloud-hosted keys used to run Hyperlane agents. export abstract class BaseCloudAgentKey extends BaseAgentKey { abstract get context(): Contexts; abstract get identifier(): string; diff --git a/typescript/infra/src/config/agent.ts b/typescript/infra/src/config/agent.ts index cec811959..e16783eb1 100644 --- a/typescript/infra/src/config/agent.ts +++ b/typescript/infra/src/config/agent.ts @@ -1,5 +1,5 @@ -import { ChainMap, ChainName, RemoteChainMap } from '@abacus-network/sdk'; -import { types } from '@abacus-network/utils'; +import { ChainMap, ChainName, RemoteChainMap } from '@hyperlane-xyz/sdk'; +import { types } from '@hyperlane-xyz/utils'; import { Contexts } from '../../config/contexts'; import { diff --git a/typescript/infra/src/config/chain.ts b/typescript/infra/src/config/chain.ts index 3d08465dc..9341f4bc9 100644 --- a/typescript/infra/src/config/chain.ts +++ b/typescript/infra/src/config/chain.ts @@ -1,7 +1,7 @@ import { ethers } from 'ethers'; -import { StaticCeloJsonRpcProvider } from '@abacus-network/celo-ethers-provider'; -import { ChainName, RetryJsonRpcProvider } from '@abacus-network/sdk'; +import { StaticCeloJsonRpcProvider } from '@hyperlane-xyz/celo-ethers-provider'; +import { ChainName, RetryJsonRpcProvider } from '@hyperlane-xyz/sdk'; import { getSecretRpcEndpoint } from '../agents'; diff --git a/typescript/infra/src/config/environment.ts b/typescript/infra/src/config/environment.ts index 0fb666d0d..a829ef11e 100644 --- a/typescript/infra/src/config/environment.ts +++ b/typescript/infra/src/config/environment.ts @@ -4,7 +4,7 @@ import { CoreConfig, EnvironmentConfig, MultiProvider, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { environments } from '../../config/environments'; diff --git a/typescript/infra/src/config/helloworld.ts b/typescript/infra/src/config/helloworld.ts index 404c1a0af..8c742aebb 100644 --- a/typescript/infra/src/config/helloworld.ts +++ b/typescript/infra/src/config/helloworld.ts @@ -1,4 +1,4 @@ -import { ChainMap, ChainName } from '@abacus-network/sdk'; +import { ChainMap, ChainName } from '@hyperlane-xyz/sdk'; import { DockerConfig } from './agent'; diff --git a/typescript/infra/src/core/deploy.ts b/typescript/infra/src/core/deploy.ts index 1d8ceda82..940dc5306 100644 --- a/typescript/infra/src/core/deploy.ts +++ b/typescript/infra/src/core/deploy.ts @@ -1,17 +1,17 @@ import { - AbacusCoreDeployer, ChainName, + HyperlaneCoreDeployer, chainMetadata, objMap, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { DeployEnvironment, RustConfig } from '../config'; import { ConnectionType } from '../config/agent'; import { writeJSON } from '../utils/utils'; -export class AbacusCoreInfraDeployer< +export class HyperlaneCoreInfraDeployer< Chain extends ChainName, -> extends AbacusCoreDeployer { +> extends HyperlaneCoreDeployer { writeRustConfigs(environment: DeployEnvironment, directory: string) { const configChains = Object.keys(this.configMap); objMap(this.configMap, (chain) => { diff --git a/typescript/infra/src/core/govern.ts b/typescript/infra/src/core/govern.ts index 1974152b9..5b74fdf08 100644 --- a/typescript/infra/src/core/govern.ts +++ b/typescript/infra/src/core/govern.ts @@ -1,22 +1,22 @@ import { prompts } from 'prompts'; import { - AbacusConnectionManagerViolation, - AbacusConnectionManagerViolationType, - AbacusCoreChecker, ChainMap, ChainName, ChainNameToDomainId, + ConnectionManagerViolation, + ConnectionManagerViolationType, CoreViolationType, EnrolledInboxesViolation, EnrolledValidatorsViolation, + HyperlaneCoreChecker, OwnerViolation, ValidatorManagerViolation, ValidatorManagerViolationType, ViolationType, objMap, -} from '@abacus-network/sdk'; -import { types, utils } from '@abacus-network/utils'; +} from '@hyperlane-xyz/sdk'; +import { types, utils } from '@hyperlane-xyz/utils'; import { canProposeSafeTransactions } from '../utils/safe'; @@ -38,11 +38,11 @@ type AnnotatedCallData = types.CallData & { description: string; }; -export class AbacusCoreGovernor { - readonly checker: AbacusCoreChecker; +export class HyperlaneCoreGovernor { + readonly checker: HyperlaneCoreChecker; private calls: ChainMap; - constructor(checker: AbacusCoreChecker) { + constructor(checker: HyperlaneCoreChecker) { this.checker = checker; this.calls = objMap(this.checker.app.contractsMap, () => []); } @@ -137,9 +137,9 @@ export class AbacusCoreGovernor { this.handleOwnerViolation(violation as OwnerViolation); break; } - case CoreViolationType.AbacusConnectionManager: { - this.handleAbacusConnectionManagerViolation( - violation as AbacusConnectionManagerViolation, + case CoreViolationType.ConnectionManager: { + this.handleHyperlaneConnectionManagerViolation( + violation as ConnectionManagerViolation, ); break; } @@ -222,28 +222,28 @@ export class AbacusCoreGovernor { ); } - handleAbacusConnectionManagerViolation( - violation: AbacusConnectionManagerViolation, + handleHyperlaneConnectionManagerViolation( + violation: ConnectionManagerViolation, ) { - const abacusConnectionManager = violation.contract; - switch (violation.abacusConnectionManagerType) { - case AbacusConnectionManagerViolationType.EnrolledInboxes: { + const connectionManager = violation.contract; + switch (violation.connectionManagerType) { + case ConnectionManagerViolationType.EnrolledInboxes: { const typedViolation = violation as EnrolledInboxesViolation; const remoteId = ChainNameToDomainId[typedViolation.remote]; const baseDescription = `as ${typedViolation.remote} Inbox on ${typedViolation.chain}`; this.pushSetReconcilationCalls({ ...typedViolation, add: (inbox) => ({ - to: abacusConnectionManager.address, - data: abacusConnectionManager.interface.encodeFunctionData( + to: connectionManager.address, + data: connectionManager.interface.encodeFunctionData( 'enrollInbox', [remoteId, inbox], ), description: `Enroll ${inbox} ${baseDescription}`, }), remove: (inbox) => ({ - to: abacusConnectionManager.address, - data: abacusConnectionManager.interface.encodeFunctionData( + to: connectionManager.address, + data: connectionManager.interface.encodeFunctionData( 'unenrollInbox', [inbox], ), @@ -254,7 +254,7 @@ export class AbacusCoreGovernor { } default: throw new Error( - `Unsupported abacus connection manager violation type ${violation.abacusConnectionManagerType}`, + `Unsupported connection manager violation type ${violation.connectionManagerType}`, ); } } diff --git a/typescript/infra/src/core/multisend.ts b/typescript/infra/src/core/multisend.ts index fae540aa3..439146d5c 100644 --- a/typescript/infra/src/core/multisend.ts +++ b/typescript/infra/src/core/multisend.ts @@ -1,5 +1,5 @@ -import { ChainConnection, ChainName } from '@abacus-network/sdk'; -import { types } from '@abacus-network/utils'; +import { ChainConnection, ChainName } from '@hyperlane-xyz/sdk'; +import { types } from '@hyperlane-xyz/utils'; import { getSafe, getSafeService } from '../utils/safe'; diff --git a/typescript/infra/src/funding/deploy-key-funder.ts b/typescript/infra/src/funding/deploy-key-funder.ts index 513efcbf2..ffa04b46d 100644 --- a/typescript/infra/src/funding/deploy-key-funder.ts +++ b/typescript/infra/src/funding/deploy-key-funder.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { AgentConfig, CoreEnvironmentConfig } from '../config'; import { KeyFunderConfig } from '../config/funding'; diff --git a/typescript/infra/src/helloworld/kathy.ts b/typescript/infra/src/helloworld/kathy.ts index 18b30ffd3..52e5ac13e 100644 --- a/typescript/infra/src/helloworld/kathy.ts +++ b/typescript/infra/src/helloworld/kathy.ts @@ -1,4 +1,4 @@ -import { ChainName } from '@abacus-network/sdk'; +import { ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { AgentAwsUser } from '../agents/aws'; diff --git a/typescript/infra/src/utils/safe.ts b/typescript/infra/src/utils/safe.ts index 52e56923e..3eca1c2a4 100644 --- a/typescript/infra/src/utils/safe.ts +++ b/typescript/infra/src/utils/safe.ts @@ -3,7 +3,7 @@ import EthersAdapter from '@gnosis.pm/safe-ethers-lib'; import SafeServiceClient from '@gnosis.pm/safe-service-client'; import { ethers } from 'ethers'; -import { ChainConnection, ChainName, chainMetadata } from '@abacus-network/sdk'; +import { ChainConnection, ChainName, chainMetadata } from '@hyperlane-xyz/sdk'; export function getSafeService( chain: ChainName, diff --git a/typescript/infra/src/utils/utils.ts b/typescript/infra/src/utils/utils.ts index e9d6af8f4..9b195f26d 100644 --- a/typescript/infra/src/utils/utils.ts +++ b/typescript/infra/src/utils/utils.ts @@ -5,7 +5,7 @@ import { ethers } from 'ethers'; import fs from 'fs'; import path from 'path'; -import { AllChains, ChainName } from '@abacus-network/sdk'; +import { AllChains, ChainName } from '@hyperlane-xyz/sdk'; import { Contexts } from '../../config/contexts'; import { ALL_KEY_ROLES, KEY_ROLE_ENUM } from '../agents/roles'; diff --git a/typescript/infra/test/core.test.ts b/typescript/infra/test/core.test.ts index 15ff3d2eb..c89d6a1ba 100644 --- a/typescript/infra/test/core.test.ts +++ b/typescript/infra/test/core.test.ts @@ -5,29 +5,29 @@ import path from 'path'; import sinon from 'sinon'; import { - AbacusCore, - AbacusCoreChecker, - AbacusCoreDeployer, ChainMap, CoreConfig, CoreContractsMap, + HyperlaneCore, + HyperlaneCoreChecker, + HyperlaneCoreDeployer, MultiProvider, getTestMultiProvider, objMap, serializeContracts, -} from '@abacus-network/sdk'; +} from '@hyperlane-xyz/sdk'; import { environment as testConfig } from '../config/environments/test'; import { TestChains } from '../config/environments/test/chains'; -import { AbacusCoreInfraDeployer } from '../src/core/deploy'; +import { HyperlaneCoreInfraDeployer } from '../src/core/deploy'; import { writeJSON } from '../src/utils/utils'; describe('core', async () => { const environment = 'test'; let multiProvider: MultiProvider; - let deployer: AbacusCoreInfraDeployer; - let core: AbacusCore; + let deployer: HyperlaneCoreInfraDeployer; + let core: HyperlaneCore; let contracts: CoreContractsMap; let coreConfig: ChainMap; @@ -37,7 +37,7 @@ describe('core', async () => { // This is kind of awkward and really these tests shouldn't live here multiProvider = getTestMultiProvider(signer, testConfig.transactionConfigs); coreConfig = testConfig.core; - deployer = new AbacusCoreInfraDeployer(multiProvider, coreConfig); + deployer = new HyperlaneCoreInfraDeployer(multiProvider, coreConfig); owners = objMap(testConfig.transactionConfigs, () => owner.address); }); @@ -53,8 +53,8 @@ describe('core', async () => { }); it('transfers ownership', async () => { - core = new AbacusCore(contracts, multiProvider); - await AbacusCoreDeployer.transferOwnership(core, owners, multiProvider); + core = new HyperlaneCore(contracts, multiProvider); + await HyperlaneCoreDeployer.transferOwnership(core, owners, multiProvider); }); describe('failure modes', async () => { @@ -88,7 +88,7 @@ describe('core', async () => { it('can be resumed from partial contracts', async () => { sinon.restore(); // restore normal deployer behavior - delete deployer.deployedContracts.test2!.abacusConnectionManager; + delete deployer.deployedContracts.test2!.connectionManager; delete deployer.deployedContracts.test2!.outbox; const result = await deployer.deploy(); @@ -102,7 +102,7 @@ describe('core', async () => { ...config, owner: owners[chain], })); - const checker = new AbacusCoreChecker(multiProvider, core, joinedConfig); + const checker = new HyperlaneCoreChecker(multiProvider, core, joinedConfig); await checker.check(); }); }); diff --git a/typescript/interchain/scripts/deploy.ts b/typescript/interchain/scripts/deploy.ts deleted file mode 100644 index f861a4e31..000000000 --- a/typescript/interchain/scripts/deploy.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Wallet } from 'ethers'; - -import { - AbacusCore, - MultiProvider, - chainConnectionConfigs, - getChainToOwnerMap, - objMap, - serializeContracts, -} from '@abacus-network/sdk'; - -import { InterchainAccountDeployer } from '../src/deploy'; - -export const prodConfigs = { - alfajores: chainConnectionConfigs.alfajores, - fuji: chainConnectionConfigs.fuji, - bsctestnet: chainConnectionConfigs.bsctestnet, -}; - -/* eslint-disable no-console */ -async function main() { - console.info('Getting signer'); - const signer = new Wallet('pkey'); - - console.info('Preparing utilities'); - const chainProviders = objMap(prodConfigs, (_, config) => ({ - provider: config.provider, - confirmations: config.confirmations, - overrides: config.overrides, - signer: new Wallet('pkey', config.provider), - })); - const multiProvider = new MultiProvider(chainProviders); - - const core = AbacusCore.fromEnvironment('testnet2', multiProvider); - const config = core.extendWithConnectionClientConfig( - getChainToOwnerMap(prodConfigs, signer.address), - ); - - const deployer = new InterchainAccountDeployer(multiProvider, config, core); - const chainToContracts = await deployer.deploy(); - const addresses = serializeContracts(chainToContracts); - console.info('===Contract Addresses==='); - console.info(JSON.stringify(addresses)); -} - -main() - .then(() => console.info('Deploy complete')) - .catch(console.error); diff --git a/typescript/sdk/CHANGELOG.md b/typescript/sdk/CHANGELOG.md deleted file mode 100644 index 4a0d03a14..000000000 --- a/typescript/sdk/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -# Changelog - -## 0.2.0 - -- Unify deploy and app abstractions by @yorhodes in https://github.com/abacus-network/abacus-monorepo/pull/507 -- Remove AbacusCore as an argument to RouterDeployer https://github.com/abacus-network/abacus-monorepo/pull/469 -- Dedupe hardhat and core deploy https://github.com/abacus-network/abacus-monorepo/pull/449 -- Remove Controller from SDK package https://github.com/abacus-network/abacus-monorepo/pull/497 -- Add `debug` logging library https://github.com/abacus-network/abacus-monorepo/pull/457 -- Consistent naming of chain and domain https://github.com/abacus-network/abacus-monorepo/pull/446 -- Strongly type GasCalculator https://github.com/abacus-network/abacus-monorepo/pull/433 -- Add default ChainConnection configs https://github.com/abacus-network/abacus-monorepo/pull/434 - -Minor - -- Bump typechain version to fix bug by @yorhodes in https://github.com/abacus-network/abacus-monorepo/pull/517 -- Remove `TransactionConfig` https://github.com/abacus-network/abacus-monorepo/pull/465/files - -## 0.1.1 - -- Initial Alpha Release of the SDK diff --git a/typescript/sdk/README.md b/typescript/sdk/README.md index d4c4284f6..d68e7756f 100644 --- a/typescript/sdk/README.md +++ b/typescript/sdk/README.md @@ -1,5 +1,5 @@ -# Abacus Application SDK +# Hyperlane Application SDK -The Abacus Application SDK help developers manage multichain Abacus applications. This requires a higher level API than dApp developers are familiar with which is namespaced by target chain. +The Hyperlane Application SDK help developers manage multichain Hyperlane applications. This requires a higher level API than dApp developers are familiar with which is namespaced by target chain. -You can find the docs at https://docs.useabacus.network/abacus-docs/developers/application-sdk \ No newline at end of file +You can find the docs at https://docs.hyperlane.xyz/hyperlane-docs/developers/application-sdk diff --git a/typescript/sdk/package.json b/typescript/sdk/package.json index 8d056ec17..6b7a8b6dc 100644 --- a/typescript/sdk/package.json +++ b/typescript/sdk/package.json @@ -1,12 +1,12 @@ { - "name": "@abacus-network/sdk", - "description": "The official SDK for the Abacus Network", - "version": "0.4.1", + "name": "@hyperlane-xyz/sdk", + "description": "The official SDK for the Hyperlane Network", + "version": "0.5.0-beta0", "dependencies": { - "@abacus-network/app": "0.4.1", - "@abacus-network/celo-ethers-provider": "^0.1.0", - "@abacus-network/core": "0.4.1", - "@abacus-network/utils": "0.4.1", + "@hyperlane-xyz/app": "0.5.0-beta0", + "@hyperlane-xyz/celo-ethers-provider": "^0.1.1", + "@hyperlane-xyz/core": "0.5.0-beta0", + "@hyperlane-xyz/utils": "0.5.0-beta0", "@types/debug": "^4.1.7", "coingecko-api": "^1.0.10", "cross-fetch": "^3.1.5", @@ -32,15 +32,15 @@ "files": [ "/dist" ], - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "SDK", "Typescript" ], "license": "Apache-2.0", "main": "dist/index.js", - "repository": "https://github.com/abacus-network/abacus-monorepo", + "repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo", "scripts": { "build": "tsc", "check": "tsc --noEmit", diff --git a/typescript/sdk/src/AbacusApp.ts b/typescript/sdk/src/HyperlaneApp.ts similarity index 86% rename from typescript/sdk/src/AbacusApp.ts rename to typescript/sdk/src/HyperlaneApp.ts index e6dd84acf..e97aef591 100644 --- a/typescript/sdk/src/AbacusApp.ts +++ b/typescript/sdk/src/HyperlaneApp.ts @@ -1,6 +1,6 @@ import { - AbacusAddresses, - AbacusContracts, + HyperlaneAddresses, + HyperlaneContracts, connectContracts, serializeContracts, } from './contracts'; @@ -9,8 +9,8 @@ import { ChainMap, ChainName, Connection } from './types'; import { MultiGeneric } from './utils/MultiGeneric'; import { objMap } from './utils/objects'; -export class AbacusApp< - Contracts extends AbacusContracts, +export class HyperlaneApp< + Contracts extends HyperlaneContracts, Chain extends ChainName = ChainName, > extends MultiGeneric { constructor( @@ -30,7 +30,7 @@ export class AbacusApp< return this.get(chain); } - getAddresses(chain: Chain): AbacusAddresses { + getAddresses(chain: Chain): HyperlaneAddresses { return serializeContracts(this.get(chain)); } diff --git a/typescript/sdk/src/consts/chainConnectionConfigs.ts b/typescript/sdk/src/consts/chainConnectionConfigs.ts index 445168e3d..71b3fdf6c 100644 --- a/typescript/sdk/src/consts/chainConnectionConfigs.ts +++ b/typescript/sdk/src/consts/chainConnectionConfigs.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import { StaticCeloJsonRpcProvider } from '@abacus-network/celo-ethers-provider'; +import { StaticCeloJsonRpcProvider } from '@hyperlane-xyz/celo-ethers-provider'; import { ChainMap, ChainName, IChainConnection } from '../types'; diff --git a/typescript/sdk/src/consts/chains.ts b/typescript/sdk/src/consts/chains.ts index a655d7c02..bf5ee62a0 100644 --- a/typescript/sdk/src/consts/chains.ts +++ b/typescript/sdk/src/consts/chains.ts @@ -1,7 +1,7 @@ import { ChainName } from '../types'; /** - * Enumeration of Abacus supported chains + * Enumeration of Hyperlane supported chains */ export enum Chains { // must be string type to be used with Object.keys arbitrum = 'arbitrum', diff --git a/typescript/sdk/src/consts/environments/mainnet.json b/typescript/sdk/src/consts/environments/mainnet.json index 5bf8fa30f..e9019f2f6 100644 --- a/typescript/sdk/src/consts/environments/mainnet.json +++ b/typescript/sdk/src/consts/environments/mainnet.json @@ -1,7 +1,7 @@ { "avalanche": { "upgradeBeaconController": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", - "abacusConnectionManager": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "connectionManager": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xed9a722c543883FB7e07E78F3879762DE09eA7D5", @@ -74,7 +74,7 @@ }, "bsc": { "upgradeBeaconController": "0x149db7afD694722747035d5AEC7007ccb6F8f112", - "abacusConnectionManager": "0x19dc38aeae620380430C200a6E990D5Af5480117", + "connectionManager": "0x19dc38aeae620380430C200a6E990D5Af5480117", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x47bf94790241B1764fC41A35a8329A15569E121C", @@ -147,7 +147,7 @@ }, "polygon": { "upgradeBeaconController": "0x12582c7B0f43c6A667CBaA7fA8b112F7fb1E69F0", - "abacusConnectionManager": "0x1Ab68dC4f7b6cfcd00218D4b761b7F3b5a724555", + "connectionManager": "0x1Ab68dC4f7b6cfcd00218D4b761b7F3b5a724555", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x60B8d195f1b2EcaC26d54b95C69E6399cFD64b53", @@ -220,7 +220,7 @@ }, "celo": { "upgradeBeaconController": "0x48083C69f5a42c6B69ABbAd48AE195BD36770ee2", - "abacusConnectionManager": "0x12582c7B0f43c6A667CBaA7fA8b112F7fb1E69F0", + "connectionManager": "0x12582c7B0f43c6A667CBaA7fA8b112F7fb1E69F0", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xCDeb368Db32ecCefaf7018e152DA9120565cb572", @@ -293,7 +293,7 @@ }, "arbitrum": { "upgradeBeaconController": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", - "abacusConnectionManager": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "connectionManager": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x376aD181E8cd45eAd5403F78d5A871D08c3c4D77", @@ -366,7 +366,7 @@ }, "optimism": { "upgradeBeaconController": "0x15ab173bDB6832f9b64276bA128659b0eD77730B", - "abacusConnectionManager": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", + "connectionManager": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xc5D6aCaafBCcEC6D7fD7d92F4509befce641c563", @@ -439,7 +439,7 @@ }, "ethereum": { "upgradeBeaconController": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", - "abacusConnectionManager": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", + "connectionManager": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x17E216fBb22dF4ef8A6640ae9Cb147C92710ac84", diff --git a/typescript/sdk/src/consts/environments/test.json b/typescript/sdk/src/consts/environments/test.json index c7104bc65..db1bfcb98 100644 --- a/typescript/sdk/src/consts/environments/test.json +++ b/typescript/sdk/src/consts/environments/test.json @@ -1,7 +1,7 @@ { "test1": { "upgradeBeaconController": "0x5FbDB2315678afecb367f032d93F642f64180aa3", - "abacusConnectionManager": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", + "connectionManager": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", @@ -38,7 +38,7 @@ }, "test2": { "upgradeBeaconController": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", - "abacusConnectionManager": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", + "connectionManager": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x59b670e9fA9D0A427751Af201D676719a970857b", @@ -75,7 +75,7 @@ }, "test3": { "upgradeBeaconController": "0x851356ae760d987E095750cCeb3bC6014560891C", - "abacusConnectionManager": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", + "connectionManager": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x998abeb3E57409262aE5b751f60747921B33613E", diff --git a/typescript/sdk/src/consts/environments/testnet2.json b/typescript/sdk/src/consts/environments/testnet2.json index a7d110b6c..b639bf86b 100644 --- a/typescript/sdk/src/consts/environments/testnet2.json +++ b/typescript/sdk/src/consts/environments/testnet2.json @@ -1,7 +1,7 @@ { "alfajores": { "upgradeBeaconController": "0x15e07BD101dfB4e8C2D0B368AbFeE3524e541277", - "abacusConnectionManager": "0xc41169650335Ad274157Ea5116Cdf227430A68a3", + "connectionManager": "0xc41169650335Ad274157Ea5116Cdf227430A68a3", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x1Fb165396FB26AC4178ca4240b3724039F75EED7", @@ -92,7 +92,7 @@ }, "kovan": { "upgradeBeaconController": "0x38030040C09B213ec47F121c9B8a396D7FC2636b", - "abacusConnectionManager": "0xfA1fBF362144ae1bEf2E33409948dA1FB812bb41", + "connectionManager": "0xfA1fBF362144ae1bEf2E33409948dA1FB812bb41", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x74234D5EEb6229fD75fF5370fab7D9819295F0D5", @@ -183,7 +183,7 @@ }, "fuji": { "upgradeBeaconController": "0x97Bbc6bBaFa5Ce3b2FA966c121Af63bD09e940f8", - "abacusConnectionManager": "0x33AbaF6708be03Bdf0595DA0745A7111b01dB8c7", + "connectionManager": "0x33AbaF6708be03Bdf0595DA0745A7111b01dB8c7", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x4834a491f78BBF48e983F9Ce0E20D1E4DbE013D8", @@ -274,7 +274,7 @@ }, "mumbai": { "upgradeBeaconController": "0xC81e6D1070aFA48DA4e4f35E744CC1aE43532a10", - "abacusConnectionManager": "0xb636B2c65A75d41F0dBe98fB33eb563d245a241a", + "connectionManager": "0xb636B2c65A75d41F0dBe98fB33eb563d245a241a", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x9A27744C249A11f68B3B56f09D280599585DFBb8", @@ -365,7 +365,7 @@ }, "bsctestnet": { "upgradeBeaconController": "0x638A831b4d11Be6a72AcB97d1aE79DA05Ae9B1D3", - "abacusConnectionManager": "0xe403E16db1f5997bC62Dc611A8d42836364A7f01", + "connectionManager": "0xe403E16db1f5997bC62Dc611A8d42836364A7f01", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x155b1F1801030Ea4dF038107d3cc1b4bA496916e", @@ -456,7 +456,7 @@ }, "arbitrumrinkeby": { "upgradeBeaconController": "0xA6cb9B457d1670bb5cDa4AAADA56a2d010E49bb9", - "abacusConnectionManager": "0xFb55597F07417b08195Ba674f4dd58aeC9B89FBB", + "connectionManager": "0xFb55597F07417b08195Ba674f4dd58aeC9B89FBB", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x76D20943b68985dF999C5bb13d6E7AdF3CFc276F", @@ -547,7 +547,7 @@ }, "optimismkovan": { "upgradeBeaconController": "0xc0Ce04851bF6Ea149fA06bf7a4808c9db81af189", - "abacusConnectionManager": "0x740bEd6E4eEc7c57a2818177Fba3f9E896D5DE1c", + "connectionManager": "0x740bEd6E4eEc7c57a2818177Fba3f9E896D5DE1c", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xD7D2B0f61B834D98772e938Fa64425587C0f3481", @@ -638,7 +638,7 @@ }, "goerli": { "upgradeBeaconController": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", - "abacusConnectionManager": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "connectionManager": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0x44b764045BfDC68517e10e783E69B376cef196B2", @@ -729,7 +729,7 @@ }, "moonbasealpha": { "upgradeBeaconController": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", - "abacusConnectionManager": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "connectionManager": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", "interchainGasPaymaster": { "kind": "UpgradeBeacon", "proxy": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", diff --git a/typescript/sdk/src/contracts.ts b/typescript/sdk/src/contracts.ts index 7871002b4..a1fcf9a66 100644 --- a/typescript/sdk/src/contracts.ts +++ b/typescript/sdk/src/contracts.ts @@ -1,36 +1,36 @@ import { ethers } from 'ethers'; -import type { types } from '@abacus-network/utils'; +import type { types } from '@hyperlane-xyz/utils'; import { ProxiedContract, ProxyAddresses, isProxyAddresses } from './proxy'; import { Connection } from './types'; import { objMap } from './utils/objects'; -export type AbacusFactories = { +export type HyperlaneFactories = { [key: string]: ethers.ContractFactory; }; -export type AbacusContracts = { +export type HyperlaneContracts = { [key: Exclude]: | ethers.Contract | ProxiedContract - | AbacusContracts; + | HyperlaneContracts; }; -export type AbacusAddresses = { - [key: string]: types.Address | ProxyAddresses | AbacusAddresses; +export type HyperlaneAddresses = { + [key: string]: types.Address | ProxyAddresses | HyperlaneAddresses; }; export function serializeContracts( - contractOrObject: AbacusContracts, + contractOrObject: HyperlaneContracts, max_depth = 5, -): AbacusAddresses { +): HyperlaneAddresses { if (max_depth === 0) { throw new Error('serializeContracts tried to go too deep'); } return objMap( contractOrObject, - (_, contract: any): string | ProxyAddresses | AbacusAddresses => { + (_, contract: any): string | ProxyAddresses | HyperlaneAddresses => { if (contract instanceof ProxiedContract) { return contract.addresses; } else if (contract.address) { @@ -44,7 +44,7 @@ export function serializeContracts( function getFactory( key: string, - factories: AbacusFactories, + factories: HyperlaneFactories, ): ethers.ContractFactory { if (!(key in factories)) { throw new Error(`Factories entry missing for ${key}`); @@ -53,10 +53,10 @@ function getFactory( } export function buildContracts( - addressOrObject: AbacusAddresses, - factories: AbacusFactories, + addressOrObject: HyperlaneAddresses, + factories: HyperlaneFactories, max_depth = 5, -): AbacusContracts { +): HyperlaneContracts { if (max_depth === 0) { throw new Error('buildContracts tried to go too deep'); } @@ -68,7 +68,7 @@ export function buildContracts( return getFactory(key, factories).attach(address); } else { return buildContracts( - address as AbacusAddresses, + address as HyperlaneAddresses, factories, max_depth - 1, ); @@ -76,7 +76,7 @@ export function buildContracts( }); } -export function connectContracts( +export function connectContracts( contractOrObject: Contracts, connection: Connection, max_depth = 5, diff --git a/typescript/sdk/src/core/AbacusCore.ts b/typescript/sdk/src/core/HyperlaneCore.ts similarity index 90% rename from typescript/sdk/src/core/AbacusCore.ts rename to typescript/sdk/src/core/HyperlaneCore.ts index 0e75eff94..cfa66e6f9 100644 --- a/typescript/sdk/src/core/AbacusCore.ts +++ b/typescript/sdk/src/core/HyperlaneCore.ts @@ -1,9 +1,9 @@ import { ethers } from 'ethers'; -import { Inbox, Outbox, Outbox__factory } from '@abacus-network/core'; -import { types, utils } from '@abacus-network/utils'; +import { Inbox, Outbox, Outbox__factory } from '@hyperlane-xyz/core'; +import { types, utils } from '@hyperlane-xyz/utils'; -import { AbacusApp } from '../AbacusApp'; +import { HyperlaneApp } from '../HyperlaneApp'; import { environments } from '../consts/environments'; import { buildContracts } from '../contracts'; import { DomainIdToChainName } from '../domains'; @@ -31,10 +31,9 @@ export type DispatchedMessage = { parsed: types.ParsedMessage; }; -export class AbacusCore extends AbacusApp< - CoreContracts, - Chain -> { +export class HyperlaneCore< + Chain extends ChainName = ChainName, +> extends HyperlaneApp, Chain> { constructor( contractsMap: CoreContractsMap, multiProvider: MultiProvider, @@ -68,7 +67,7 @@ export class AbacusCore extends AbacusApp< coreFactories, ) as CoreContractsMap; - return new AbacusCore(contractsMap, intersectionProvider); + return new HyperlaneCore(contractsMap, intersectionProvider); } // override type to be derived from chain key @@ -79,7 +78,7 @@ export class AbacusCore extends AbacusApp< getConnectionClientConfig(chain: Chain): ConnectionClientConfig { const contracts = this.getContracts(chain); return { - abacusConnectionManager: contracts.abacusConnectionManager.address, + connectionManager: contracts.connectionManager.address, interchainGasPaymaster: contracts.interchainGasPaymaster.address, }; } @@ -105,11 +104,10 @@ export class AbacusCore extends AbacusApp< // TODO: deprecate extendWithConnectionManagers( config: ChainMap, - ): ChainMap { + ): ChainMap { return objMap(config, (chain, config) => ({ ...config, - abacusConnectionManager: - this.getContracts(chain).abacusConnectionManager.address, + connectionManager: this.getContracts(chain).connectionManager.address, })); } diff --git a/typescript/sdk/src/core/TestCoreApp.ts b/typescript/sdk/src/core/TestCoreApp.ts index 839277998..33779a7fd 100644 --- a/typescript/sdk/src/core/TestCoreApp.ts +++ b/typescript/sdk/src/core/TestCoreApp.ts @@ -1,14 +1,14 @@ import { ethers } from 'ethers'; -import { TestInbox, TestOutbox } from '@abacus-network/core'; -import { types, utils } from '@abacus-network/utils'; +import { TestInbox, TestOutbox } from '@hyperlane-xyz/core'; +import { types, utils } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../consts/chainMetadata'; import { DomainIdToChainName } from '../domains'; import { ProxiedContract } from '../proxy'; import { ChainMap, ChainName, Remotes, TestChainNames } from '../types'; -import { AbacusCore } from './AbacusCore'; +import { HyperlaneCore } from './HyperlaneCore'; import { CoreContracts, InboxContracts, OutboxContracts } from './contracts'; type MockProxyAddresses = { @@ -34,7 +34,7 @@ export type TestCoreContracts = CoreContracts< export class TestCoreApp< TestChain extends TestChainNames = TestChainNames, -> extends AbacusCore { +> extends HyperlaneCore { getContracts( chain: Local, ): TestCoreContracts { diff --git a/typescript/sdk/src/core/TestCoreDeployer.ts b/typescript/sdk/src/core/TestCoreDeployer.ts index 94f2c9789..5fe4cbe42 100644 --- a/typescript/sdk/src/core/TestCoreDeployer.ts +++ b/typescript/sdk/src/core/TestCoreDeployer.ts @@ -1,9 +1,9 @@ import { ethers } from 'ethers'; -import { TestInbox__factory, TestOutbox__factory } from '@abacus-network/core'; +import { TestInbox__factory, TestOutbox__factory } from '@hyperlane-xyz/core'; import { chainMetadata } from '../consts/chainMetadata'; -import { AbacusCoreDeployer } from '../deploy/core/AbacusCoreDeployer'; +import { HyperlaneCoreDeployer } from '../deploy/core/HyperlaneCoreDeployer'; import { CoreConfig, ValidatorManagerConfig } from '../deploy/core/types'; import { MultiProvider } from '../providers/MultiProvider'; import { ProxiedContract } from '../proxy'; @@ -42,7 +42,7 @@ function mockProxy(contract: ethers.Contract) { export class TestCoreDeployer< TestChain extends TestChainNames = TestChainNames, -> extends AbacusCoreDeployer { +> extends HyperlaneCoreDeployer { constructor( public readonly multiProvider: MultiProvider, configMap?: ChainMap, diff --git a/typescript/sdk/src/core/contracts.ts b/typescript/sdk/src/core/contracts.ts index 0f3a59c8f..15fb17ebd 100644 --- a/typescript/sdk/src/core/contracts.ts +++ b/typescript/sdk/src/core/contracts.ts @@ -13,7 +13,7 @@ import { Outbox__factory, UpgradeBeaconController, UpgradeBeaconController__factory, -} from '@abacus-network/core'; +} from '@hyperlane-xyz/core'; import { BeaconProxyAddresses, ProxiedContract } from '../proxy'; import { ChainName, RemoteChainMap } from '../types'; @@ -33,7 +33,7 @@ type ConnectionClientContracts = { InterchainGasPaymaster, BeaconProxyAddresses >; - abacusConnectionManager: AbacusConnectionManager; + connectionManager: AbacusConnectionManager; }; export type CoreContracts< @@ -56,7 +56,7 @@ const outboxFactories = { }; export const coreFactories = { - abacusConnectionManager: new AbacusConnectionManager__factory(), + connectionManager: new AbacusConnectionManager__factory(), upgradeBeaconController: new UpgradeBeaconController__factory(), interchainGasPaymaster: new InterchainGasPaymaster__factory(), ...inboxFactories, diff --git a/typescript/sdk/src/core/events.ts b/typescript/sdk/src/core/events.ts index 5a0ef25ca..a5a893fcd 100644 --- a/typescript/sdk/src/core/events.ts +++ b/typescript/sdk/src/core/events.ts @@ -1,11 +1,11 @@ -import type { ProcessEvent } from '@abacus-network/core/dist/contracts/Inbox'; -import type { DispatchEvent } from '@abacus-network/core/dist/contracts/Outbox'; +import type { ProcessEvent } from '@hyperlane-xyz/core/dist/contracts/Inbox'; +import type { DispatchEvent } from '@hyperlane-xyz/core/dist/contracts/Outbox'; import { Annotated } from '../events'; export { DispatchEvent, ProcessEvent }; -export type AbacusLifecyleEvent = ProcessEvent | DispatchEvent; +export type HyperlaneLifecyleEvent = ProcessEvent | DispatchEvent; export type AnnotatedDispatch = Annotated; export type AnnotatedProcess = Annotated; diff --git a/typescript/sdk/src/core/message.ts b/typescript/sdk/src/core/message.ts index b7871598f..4c689937e 100644 --- a/typescript/sdk/src/core/message.ts +++ b/typescript/sdk/src/core/message.ts @@ -1,7 +1,7 @@ import { BigNumber, utils as ethersUtils, providers } from 'ethers'; -import { Inbox, Outbox, Outbox__factory } from '@abacus-network/core'; -import { types, utils } from '@abacus-network/utils'; +import { Inbox, Outbox, Outbox__factory } from '@hyperlane-xyz/core'; +import { types, utils } from '@hyperlane-xyz/utils'; import { ChainNameToDomainId, DomainIdToChainName } from '../domains'; import { Annotated, findAnnotatedSingleEvent } from '../events'; @@ -9,7 +9,7 @@ import { MultiProvider } from '../providers/MultiProvider'; import { ChainName, NameOrDomain } from '../types'; import { delay } from '../utils/time'; -import { AbacusCore } from './AbacusCore'; +import { HyperlaneCore } from './HyperlaneCore'; import { AnnotatedDispatch, AnnotatedLifecycleEvent, @@ -37,7 +37,7 @@ export const resolveNetworks = ( }; }; -export type AbacusStatus = { +export type HyperlaneStatus = { status: MessageStatus; events: AnnotatedLifecycleEvent[]; }; @@ -59,24 +59,24 @@ export type EventCache = { process?: AnnotatedProcess; }; -// TODO: move AbacusMessage into AbacusCore app +// TODO: move HyperlaneMessage into HyperlaneCore app /** - * A deserialized Abacus message. + * A deserialized Hyperlane message. */ -export class AbacusMessage { +export class HyperlaneMessage { readonly dispatch: AnnotatedDispatch; readonly message: types.ParsedMessage; readonly outbox: Outbox; readonly inbox: Inbox; readonly multiProvider: MultiProvider; - readonly core: AbacusCore; + readonly core: HyperlaneCore; protected cache: EventCache; constructor( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, dispatch: AnnotatedDispatch, ) { this.multiProvider = multiProvider; @@ -105,18 +105,18 @@ export class AbacusMessage { /** * Instantiate one or more messages from a receipt. * - * @param core the {@link AbacusCore} object to use + * @param core the {@link HyperlaneCore} object to use * @param nameOrDomain the domain on which the receipt was logged * @param receipt the receipt - * @returns an array of {@link AbacusMessage} objects + * @returns an array of {@link HyperlaneMessage} objects */ static fromReceipt( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, nameOrDomain: NameOrDomain, receipt: providers.TransactionReceipt, - ): AbacusMessage[] { - const messages: AbacusMessage[] = []; + ): HyperlaneMessage[] { + const messages: HyperlaneMessage[] = []; const outbox = new Outbox__factory().interface; const chain = resolveDomain(nameOrDomain); const provider = multiProvider.getChainConnection(chain).provider!; @@ -140,7 +140,7 @@ export class AbacusMessage { true, ); annotated.event.blockNumber = annotated.receipt.blockNumber; - const message = new AbacusMessage(multiProvider, core, annotated); + const message = new HyperlaneMessage(multiProvider, core, annotated); messages.push(message); } } catch (e) { @@ -153,19 +153,19 @@ export class AbacusMessage { /** * Instantiate EXACTLY one message from a receipt. * - * @param core the {@link AbacusCore} object to use + * @param core the {@link HyperlaneCore} object to use * @param nameOrDomain the domain on which the receipt was logged * @param receipt the receipt - * @returns an array of {@link AbacusMessage} objects + * @returns an array of {@link HyperlaneMessage} objects * @throws if there is not EXACTLY 1 dispatch in the receipt */ static singleFromReceipt( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, nameOrDomain: NameOrDomain, receipt: providers.TransactionReceipt, - ): AbacusMessage { - const messages: AbacusMessage[] = AbacusMessage.fromReceipt( + ): HyperlaneMessage { + const messages: HyperlaneMessage[] = HyperlaneMessage.fromReceipt( multiProvider, core, nameOrDomain, @@ -180,18 +180,18 @@ export class AbacusMessage { /** * Instantiate one or more messages from a tx hash. * - * @param core the {@link AbacusCore} object to use + * @param core the {@link HyperlaneCore} object to use * @param nameOrDomain the domain on which the receipt was logged * @param receipt the receipt - * @returns an array of {@link AbacusMessage} objects + * @returns an array of {@link HyperlaneMessage} objects * @throws if there is no receipt for the TX */ static async fromTransactionHash( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, nameOrDomain: NameOrDomain, transactionHash: string, - ): Promise { + ): Promise { const provider = multiProvider.getChainConnection( resolveDomain(nameOrDomain), ).provider!; @@ -199,7 +199,7 @@ export class AbacusMessage { if (!receipt) { throw new Error(`No receipt for ${transactionHash} on ${nameOrDomain}`); } - return AbacusMessage.fromReceipt( + return HyperlaneMessage.fromReceipt( multiProvider, core, nameOrDomain, @@ -210,19 +210,19 @@ export class AbacusMessage { /** * Instantiate EXACTLY one message from a transaction has. * - * @param core the {@link AbacusCore} object to use + * @param core the {@link HyperlaneCore} object to use * @param nameOrDomain the domain on which the receipt was logged * @param receipt the receipt - * @returns an array of {@link AbacusMessage} objects + * @returns an array of {@link HyperlaneMessage} objects * @throws if there is no receipt for the TX, or if not EXACTLY 1 dispatch in * the receipt */ static async singleFromTransactionHash( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, nameOrDomain: NameOrDomain, transactionHash: string, - ): Promise { + ): Promise { const provider = multiProvider.getChainConnection( resolveDomain(nameOrDomain), ).provider!; @@ -230,7 +230,7 @@ export class AbacusMessage { if (!receipt) { throw new Error(`No receipt for ${transactionHash} on ${nameOrDomain}`); } - return AbacusMessage.singleFromReceipt( + return HyperlaneMessage.singleFromReceipt( multiProvider, core, nameOrDomain, @@ -272,7 +272,7 @@ export class AbacusMessage { * * @returns An array of {@link AnnotatedLifecycleEvent} objects */ - async events(): Promise { + async events(): Promise { const events: AnnotatedLifecycleEvent[] = [this.dispatch]; // attempt to get Inbox process const process = await this.getProcess(); diff --git a/typescript/sdk/src/core/testAbacusDeploy.hardhat-test.ts b/typescript/sdk/src/core/testHyperlaneDeploy.hardhat-test.ts similarity index 72% rename from typescript/sdk/src/core/testAbacusDeploy.hardhat-test.ts rename to typescript/sdk/src/core/testHyperlaneDeploy.hardhat-test.ts index 85e196981..930cebef3 100644 --- a/typescript/sdk/src/core/testAbacusDeploy.hardhat-test.ts +++ b/typescript/sdk/src/core/testHyperlaneDeploy.hardhat-test.ts @@ -4,8 +4,8 @@ import { expect } from 'chai'; import { ContractReceipt } from 'ethers'; import { ethers } from 'hardhat'; -import { TestOutbox, TestRecipient__factory } from '@abacus-network/core'; -import { utils } from '@abacus-network/utils'; +import { TestOutbox, TestRecipient__factory } from '@hyperlane-xyz/core'; +import { utils } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../consts/chainMetadata'; import { getTestMultiProvider } from '../deploy/utils'; @@ -20,7 +20,7 @@ const remoteDomain = chainMetadata[remoteChain].id; const message = '0xdeadbeef'; describe('TestCoreDeployer', async () => { - let abacus: TestCoreApp, + let testCoreApp: TestCoreApp, localOutbox: TestOutbox, remoteOutbox: TestOutbox, dispatchReceipt: ContractReceipt; @@ -30,10 +30,10 @@ describe('TestCoreDeployer', async () => { const multiProvider = getTestMultiProvider(signer); const deployer = new TestCoreDeployer(multiProvider); - abacus = await deployer.deployApp(); + testCoreApp = await deployer.deployApp(); const recipient = await new TestRecipient__factory(signer).deploy(); - localOutbox = abacus.getContracts(localChain).outbox.contract; + localOutbox = testCoreApp.getContracts(localChain).outbox.contract; const dispatchResponse = localOutbox.dispatch( remoteDomain, @@ -41,10 +41,10 @@ describe('TestCoreDeployer', async () => { message, ); await expect(dispatchResponse).to.emit(localOutbox, 'Dispatch'); - dispatchReceipt = await abacus.multiProvider + dispatchReceipt = await testCoreApp.multiProvider .getChainConnection(localChain) .handleTx(dispatchResponse); - remoteOutbox = abacus.getContracts(remoteChain).outbox.contract; + remoteOutbox = testCoreApp.getContracts(remoteChain).outbox.contract; await expect( remoteOutbox.dispatch( localDomain, @@ -55,27 +55,31 @@ describe('TestCoreDeployer', async () => { }); it('processes outbound messages for a single domain', async () => { - const responses = await abacus.processOutboundMessages(localChain); + const responses = await testCoreApp.processOutboundMessages(localChain); expect(responses.get(remoteChain)!.length).to.equal(1); }); it('processes outbound messages for two domains', async () => { - const localResponses = await abacus.processOutboundMessages(localChain); + const localResponses = await testCoreApp.processOutboundMessages( + localChain, + ); expect(localResponses.get(remoteChain)!.length).to.equal(1); - const remoteResponses = await abacus.processOutboundMessages(remoteChain); + const remoteResponses = await testCoreApp.processOutboundMessages( + remoteChain, + ); expect(remoteResponses.get(localChain)!.length).to.equal(1); }); it('processes all messages', async () => { - const responses = await abacus.processMessages(); + const responses = await testCoreApp.processMessages(); expect(responses.get(localChain)!.get(remoteChain)!.length).to.equal(1); expect(responses.get(remoteChain)!.get(localChain)!.length).to.equal(1); }); it('waits on message processing receipts', async () => { const [receipts] = await Promise.all([ - abacus.waitForMessageProcessing(dispatchReceipt), - abacus.processOutboundMessages(localChain), + testCoreApp.waitForMessageProcessing(dispatchReceipt), + testCoreApp.processOutboundMessages(localChain), ]); expect(receipts).to.have.length(1); }); diff --git a/typescript/sdk/src/deploy/AbacusAppChecker.ts b/typescript/sdk/src/deploy/HyperlaneAppChecker.ts similarity index 91% rename from typescript/sdk/src/deploy/AbacusAppChecker.ts rename to typescript/sdk/src/deploy/HyperlaneAppChecker.ts index 39e7bddc6..b17c6b553 100644 --- a/typescript/sdk/src/deploy/AbacusAppChecker.ts +++ b/typescript/sdk/src/deploy/HyperlaneAppChecker.ts @@ -1,8 +1,8 @@ -import { Ownable } from '@abacus-network/core'; -import { utils } from '@abacus-network/utils'; -import type { types } from '@abacus-network/utils'; +import { Ownable } from '@hyperlane-xyz/core'; +import { utils } from '@hyperlane-xyz/utils'; +import type { types } from '@hyperlane-xyz/utils'; -import { AbacusApp } from '../AbacusApp'; +import { HyperlaneApp } from '../HyperlaneApp'; import { MultiProvider } from '../providers/MultiProvider'; import { BeaconProxyAddresses } from '../proxy'; import { ChainMap, ChainName } from '../types'; @@ -10,9 +10,9 @@ import { ChainMap, ChainName } from '../types'; import { upgradeBeaconImplementation, upgradeBeaconViolation } from './proxy'; import { CheckerViolation, OwnerViolation, ViolationType } from './types'; -export abstract class AbacusAppChecker< +export abstract class HyperlaneAppChecker< Chain extends ChainName, - App extends AbacusApp, + App extends HyperlaneApp, Config, > { readonly multiProvider: MultiProvider; diff --git a/typescript/sdk/src/deploy/AbacusDeployer.ts b/typescript/sdk/src/deploy/HyperlaneDeployer.ts similarity index 96% rename from typescript/sdk/src/deploy/AbacusDeployer.ts rename to typescript/sdk/src/deploy/HyperlaneDeployer.ts index 0e19f669b..175bf47f5 100644 --- a/typescript/sdk/src/deploy/AbacusDeployer.ts +++ b/typescript/sdk/src/deploy/HyperlaneDeployer.ts @@ -5,12 +5,12 @@ import { Ownable, UpgradeBeaconProxy__factory, UpgradeBeacon__factory, -} from '@abacus-network/core'; -import type { types } from '@abacus-network/utils'; +} from '@hyperlane-xyz/core'; +import type { types } from '@hyperlane-xyz/utils'; import { - AbacusContracts, - AbacusFactories, + HyperlaneContracts, + HyperlaneFactories, connectContracts, serializeContracts, } from '../contracts'; @@ -26,11 +26,11 @@ export interface DeployerOptions { logger?: Debugger; } -export abstract class AbacusDeployer< +export abstract class HyperlaneDeployer< Chain extends ChainName, Config, - Contracts extends AbacusContracts, - Factories extends AbacusFactories, + Contracts extends HyperlaneContracts, + Factories extends HyperlaneFactories, > { public deployedContracts: Partial>> = {}; @@ -44,7 +44,7 @@ export abstract class AbacusDeployer< protected readonly options?: DeployerOptions, ) { this.verificationInputs = objMap(configMap, () => []); - this.logger = options?.logger || debug('abacus:AppDeployer'); + this.logger = options?.logger || debug('hyperlane:AppDeployer'); } abstract deployContracts(chain: Chain, config: Config): Promise; diff --git a/typescript/sdk/src/deploy/core/AbacusCoreChecker.ts b/typescript/sdk/src/deploy/core/HyperlaneCoreChecker.ts similarity index 89% rename from typescript/sdk/src/deploy/core/AbacusCoreChecker.ts rename to typescript/sdk/src/deploy/core/HyperlaneCoreChecker.ts index a79b539b7..f6d63042e 100644 --- a/typescript/sdk/src/deploy/core/AbacusCoreChecker.ts +++ b/typescript/sdk/src/deploy/core/HyperlaneCoreChecker.ts @@ -1,16 +1,16 @@ -import { MultisigValidatorManager } from '@abacus-network/core'; -import { utils } from '@abacus-network/utils'; +import { MultisigValidatorManager } from '@hyperlane-xyz/core'; +import { utils } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../../consts/chainMetadata'; -import { AbacusCore } from '../../core/AbacusCore'; +import { HyperlaneCore } from '../../core/HyperlaneCore'; import { ChainNameToDomainId } from '../../domains'; import { BeaconProxyAddresses } from '../../proxy'; import { ChainName } from '../../types'; import { objMap, promiseObjAll } from '../../utils/objects'; -import { AbacusAppChecker } from '../AbacusAppChecker'; +import { HyperlaneAppChecker } from '../HyperlaneAppChecker'; import { - AbacusConnectionManagerViolationType, + ConnectionManagerViolationType, CoreConfig, CoreViolationType, EnrolledInboxesViolation, @@ -22,9 +22,9 @@ import { ValidatorManagerViolationType, } from './types'; -export class AbacusCoreChecker< +export class HyperlaneCoreChecker< Chain extends ChainName, -> extends AbacusAppChecker, CoreConfig> { +> extends HyperlaneAppChecker, CoreConfig> { async checkChain(chain: Chain): Promise { const config = this.configMap[chain]; // skip chains that are configured to be removed @@ -36,7 +36,7 @@ export class AbacusCoreChecker< await this.checkProxiedContracts(chain); await this.checkOutbox(chain); await this.checkInboxes(chain); - await this.checkAbacusConnectionManager(chain); + await this.checkConnectionManager(chain); await this.checkValidatorManagers(chain); await this.checkInterchainGasPaymaster(chain); } @@ -46,7 +46,7 @@ export class AbacusCoreChecker< if (config.owner) { const contracts = this.app.getContracts(chain); const ownables = [ - contracts.abacusConnectionManager, + contracts.connectionManager, contracts.upgradeBeaconController, contracts.outbox.contract, contracts.outboxValidatorManager, @@ -206,7 +206,7 @@ export class AbacusCoreChecker< ); } - async checkAbacusConnectionManager(chain: Chain): Promise { + async checkConnectionManager(chain: Chain): Promise { const coreContracts = this.app.getContracts(chain); await promiseObjAll( objMap(coreContracts.inboxes, async (remote, inbox) => { @@ -219,16 +219,16 @@ export class AbacusCoreChecker< // actual configured inboxes for remote on chain const remoteDomain = chainMetadata[remote].id; const enrolledInboxes = new Set( - await coreContracts.abacusConnectionManager.getInboxes(remoteDomain), + await coreContracts.connectionManager.getInboxes(remoteDomain), ); if (!utils.setEquality(enrolledInboxes, expectedInboxes)) { const violation: EnrolledInboxesViolation = { - type: CoreViolationType.AbacusConnectionManager, - abacusConnectionManagerType: - AbacusConnectionManagerViolationType.EnrolledInboxes, + type: CoreViolationType.ConnectionManager, + connectionManagerType: + ConnectionManagerViolationType.EnrolledInboxes, remote, - contract: coreContracts.abacusConnectionManager, + contract: coreContracts.connectionManager, chain: chain, actual: enrolledInboxes, expected: expectedInboxes, @@ -238,8 +238,8 @@ export class AbacusCoreChecker< }), ); - // Outbox is set on abacusConnectionManager - const outbox = await coreContracts.abacusConnectionManager.outbox(); + // Outbox is set on connectionManager + const outbox = await coreContracts.connectionManager.outbox(); utils.assert(outbox === coreContracts.outbox.address); } diff --git a/typescript/sdk/src/deploy/core/AbacusCoreDeployer.ts b/typescript/sdk/src/deploy/core/HyperlaneCoreDeployer.ts similarity index 86% rename from typescript/sdk/src/deploy/core/AbacusCoreDeployer.ts rename to typescript/sdk/src/deploy/core/HyperlaneCoreDeployer.ts index 41859b9c0..e843561db 100644 --- a/typescript/sdk/src/deploy/core/AbacusCoreDeployer.ts +++ b/typescript/sdk/src/deploy/core/HyperlaneCoreDeployer.ts @@ -1,11 +1,11 @@ import debug from 'debug'; import { ethers } from 'ethers'; -import { Inbox, Ownable } from '@abacus-network/core'; -import type { types } from '@abacus-network/utils'; +import { Inbox, Ownable } from '@hyperlane-xyz/core'; +import type { types } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../../consts/chainMetadata'; -import { AbacusCore, CoreContractsMap } from '../../core/AbacusCore'; +import { CoreContractsMap, HyperlaneCore } from '../../core/HyperlaneCore'; import { CoreContracts, InboxContracts, @@ -17,11 +17,13 @@ import { MultiProvider } from '../../providers/MultiProvider'; import { BeaconProxyAddresses, ProxiedContract } from '../../proxy'; import { ChainMap, ChainName, RemoteChainMap, Remotes } from '../../types'; import { objMap, promiseObjAll } from '../../utils/objects'; -import { AbacusDeployer } from '../AbacusDeployer'; +import { HyperlaneDeployer } from '../HyperlaneDeployer'; import { CoreConfig, ValidatorManagerConfig } from './types'; -export class AbacusCoreDeployer extends AbacusDeployer< +export class HyperlaneCoreDeployer< + Chain extends ChainName, +> extends HyperlaneDeployer< Chain, CoreConfig, CoreContracts, @@ -35,7 +37,7 @@ export class AbacusCoreDeployer extends AbacusDeployer< factoriesOverride = coreFactories, ) { super(multiProvider, configMap, factoriesOverride, { - logger: debug('abacus:CoreDeployer'), + logger: debug('hyperlane:CoreDeployer'), }); this.startingBlockNumbers = objMap(configMap, () => undefined); } @@ -135,9 +137,9 @@ export class AbacusCoreDeployer extends AbacusDeployer< [], ); - const abacusConnectionManager = await this.deployContract( + const connectionManager = await this.deployContract( chain, - 'abacusConnectionManager', + 'connectionManager', [], ); @@ -146,10 +148,10 @@ export class AbacusCoreDeployer extends AbacusDeployer< config.validatorManager, upgradeBeaconController.address, ); - await super.runIfOwner(chain, abacusConnectionManager, async () => { - const current = await abacusConnectionManager.outbox(); + await super.runIfOwner(chain, connectionManager, async () => { + const current = await connectionManager.outbox(); if (current !== outbox.outbox.address) { - const outboxTx = await abacusConnectionManager.setOutbox( + const outboxTx = await connectionManager.setOutbox( outbox.outbox.address, dc.overrides, ); @@ -178,12 +180,12 @@ export class AbacusCoreDeployer extends AbacusDeployer< ); } - await super.runIfOwner(chain, abacusConnectionManager, async () => { - const isEnrolled = await abacusConnectionManager.isInbox( + await super.runIfOwner(chain, connectionManager, async () => { + const isEnrolled = await connectionManager.isInbox( inboxes[remote]!.inbox.address, ); if (!isEnrolled) { - const enrollTx = await abacusConnectionManager.enrollInbox( + const enrollTx = await connectionManager.enrollInbox( chainMetadata[remote].id, inboxes[remote]!.inbox.address, dc.overrides, @@ -196,7 +198,7 @@ export class AbacusCoreDeployer extends AbacusDeployer< return { upgradeBeaconController, - abacusConnectionManager, + connectionManager, interchainGasPaymaster, inboxes: inboxes as RemoteChainMap, ...outbox, @@ -204,13 +206,13 @@ export class AbacusCoreDeployer extends AbacusDeployer< } static async transferOwnership( - core: AbacusCore, + core: HyperlaneCore, owners: ChainMap, multiProvider: MultiProvider, ): Promise> { return promiseObjAll( objMap(core.contractsMap, async (chain, coreContracts) => - AbacusCoreDeployer.transferOwnershipOfChain( + HyperlaneCoreDeployer.transferOwnershipOfChain( coreContracts, owners[chain], multiProvider.getChainConnection(chain), @@ -230,7 +232,7 @@ export class AbacusCoreDeployer extends AbacusDeployer< const ownables: Ownable[] = [ coreContracts.outbox.contract, coreContracts.outboxValidatorManager, - coreContracts.abacusConnectionManager, + coreContracts.connectionManager, coreContracts.upgradeBeaconController, ...Object.values(coreContracts.inboxes).flatMap( (inbox) => [inbox.inbox.contract, inbox.inboxValidatorManager], diff --git a/typescript/sdk/src/deploy/core/types.ts b/typescript/sdk/src/deploy/core/types.ts index a5bca054e..616a919e2 100644 --- a/typescript/sdk/src/deploy/core/types.ts +++ b/typescript/sdk/src/deploy/core/types.ts @@ -2,8 +2,8 @@ import { AbacusConnectionManager, Mailbox, MultisigValidatorManager, -} from '@abacus-network/core'; -import type { types } from '@abacus-network/utils'; +} from '@hyperlane-xyz/core'; +import type { types } from '@hyperlane-xyz/utils'; import { ChainName } from '../../types'; import type { CheckerViolation } from '../types'; @@ -22,7 +22,7 @@ export type CoreConfig = { export enum CoreViolationType { ValidatorManager = 'ValidatorManager', Mailbox = 'Mailbox', - AbacusConnectionManager = 'AbacusConnectionManager', + ConnectionManager = 'ConnectionManager', } export enum ValidatorManagerViolationType { @@ -30,7 +30,7 @@ export enum ValidatorManagerViolationType { Threshold = 'Threshold', } -export enum AbacusConnectionManagerViolationType { +export enum ConnectionManagerViolationType { EnrolledInboxes = 'EnrolledInboxes', } @@ -68,14 +68,13 @@ export interface ThresholdViolation extends ValidatorManagerViolation { expected: number; } -export interface AbacusConnectionManagerViolation extends CheckerViolation { - type: CoreViolationType.AbacusConnectionManager; +export interface ConnectionManagerViolation extends CheckerViolation { + type: CoreViolationType.ConnectionManager; contract: AbacusConnectionManager; - abacusConnectionManagerType: AbacusConnectionManagerViolationType; + connectionManagerType: ConnectionManagerViolationType; } -export interface EnrolledInboxesViolation - extends AbacusConnectionManagerViolation { +export interface EnrolledInboxesViolation extends ConnectionManagerViolation { remote: ChainName; actual: Set; expected: Set; diff --git a/typescript/sdk/src/deploy/proxy.ts b/typescript/sdk/src/deploy/proxy.ts index e9687e381..3190bfbd2 100644 --- a/typescript/sdk/src/deploy/proxy.ts +++ b/typescript/sdk/src/deploy/proxy.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import type { types } from '@abacus-network/utils'; +import type { types } from '@hyperlane-xyz/utils'; import { BeaconProxyAddresses } from '../proxy'; import { ChainName } from '../types'; diff --git a/typescript/sdk/src/deploy/router/AbacusRouterChecker.ts b/typescript/sdk/src/deploy/router/HyperlaneRouterChecker.ts similarity index 78% rename from typescript/sdk/src/deploy/router/AbacusRouterChecker.ts rename to typescript/sdk/src/deploy/router/HyperlaneRouterChecker.ts index 2dc2e0be6..dfc776a6d 100644 --- a/typescript/sdk/src/deploy/router/AbacusRouterChecker.ts +++ b/typescript/sdk/src/deploy/router/HyperlaneRouterChecker.ts @@ -1,20 +1,20 @@ -import { Ownable } from '@abacus-network/core'; -import { utils } from '@abacus-network/utils'; +import { Ownable } from '@hyperlane-xyz/core'; +import { utils } from '@hyperlane-xyz/utils'; -import { AbacusApp } from '../../AbacusApp'; +import { HyperlaneApp } from '../../HyperlaneApp'; import { chainMetadata } from '../../consts/chainMetadata'; import { RouterContracts } from '../../router'; import { ChainName } from '../../types'; -import { AbacusAppChecker } from '../AbacusAppChecker'; +import { HyperlaneAppChecker } from '../HyperlaneAppChecker'; import { RouterConfig } from './types'; -export class AbacusRouterChecker< +export class HyperlaneRouterChecker< Chain extends ChainName, - App extends AbacusApp, + App extends HyperlaneApp, Config extends RouterConfig, Contracts extends RouterContracts, -> extends AbacusAppChecker { +> extends HyperlaneAppChecker { checkOwnership(chain: Chain): Promise { const owner = this.configMap[chain].owner; const ownables = this.ownables(chain); diff --git a/typescript/sdk/src/deploy/router/AbacusRouterDeployer.ts b/typescript/sdk/src/deploy/router/HyperlaneRouterDeployer.ts similarity index 90% rename from typescript/sdk/src/deploy/router/AbacusRouterDeployer.ts rename to typescript/sdk/src/deploy/router/HyperlaneRouterDeployer.ts index 9e5ce3246..4f138a28d 100644 --- a/typescript/sdk/src/deploy/router/AbacusRouterDeployer.ts +++ b/typescript/sdk/src/deploy/router/HyperlaneRouterDeployer.ts @@ -1,23 +1,23 @@ import { debug } from 'debug'; import { ethers } from 'ethers'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../../consts/chainMetadata'; import { MultiProvider } from '../../providers/MultiProvider'; import { RouterContracts, RouterFactories } from '../../router'; import { ChainMap, ChainName } from '../../types'; import { objMap, promiseObjAll } from '../../utils/objects'; -import { AbacusDeployer, DeployerOptions } from '../AbacusDeployer'; +import { DeployerOptions, HyperlaneDeployer } from '../HyperlaneDeployer'; import { RouterConfig } from './types'; -export abstract class AbacusRouterDeployer< +export abstract class HyperlaneRouterDeployer< Chain extends ChainName, Config extends RouterConfig, Contracts extends RouterContracts, Factories extends RouterFactories, -> extends AbacusDeployer { +> extends HyperlaneDeployer { constructor( multiProvider: MultiProvider, configMap: ChainMap, @@ -25,7 +25,7 @@ export abstract class AbacusRouterDeployer< options?: DeployerOptions, ) { super(multiProvider, configMap, factories, { - logger: debug('abacus:RouterDeployer'), + logger: debug('hyperlane:RouterDeployer'), ...options, }); } @@ -37,15 +37,16 @@ export abstract class AbacusRouterDeployer< await promiseObjAll( objMap(contractsMap, async (local, contracts) => { const chainConnection = this.multiProvider.getChainConnection(local); - // set abacus connection manager if not already set + // set hyperlane connection manager if not already set if ( + // TODO rename ACM methods in router contract (await contracts.router.abacusConnectionManager()) === ethers.constants.AddressZero ) { this.logger(`Set abacus connection manager on ${local}`); await chainConnection.handleTx( contracts.router.setAbacusConnectionManager( - this.configMap[local].abacusConnectionManager, + this.configMap[local].connectionManager, ), ); } diff --git a/typescript/sdk/src/deploy/router/types.ts b/typescript/sdk/src/deploy/router/types.ts index 1c300325e..39a3c1a57 100644 --- a/typescript/sdk/src/deploy/router/types.ts +++ b/typescript/sdk/src/deploy/router/types.ts @@ -1,4 +1,4 @@ -import type { types } from '@abacus-network/utils'; +import type { types } from '@hyperlane-xyz/utils'; import type { ConnectionClientConfig } from '../../router'; diff --git a/typescript/sdk/src/deploy/types.ts b/typescript/sdk/src/deploy/types.ts index 6960a68ac..bd89ebf2e 100644 --- a/typescript/sdk/src/deploy/types.ts +++ b/typescript/sdk/src/deploy/types.ts @@ -1,6 +1,6 @@ import { Contract } from 'ethers'; -import { Ownable } from '@abacus-network/core'; +import { Ownable } from '@hyperlane-xyz/core'; import type { ChainMap, ChainName, IChainConnection } from '../types'; diff --git a/typescript/sdk/src/deploy/utils.ts b/typescript/sdk/src/deploy/utils.ts index 71bb9d606..c409a7316 100644 --- a/typescript/sdk/src/deploy/utils.ts +++ b/typescript/sdk/src/deploy/utils.ts @@ -1,6 +1,6 @@ import { Signer, providers } from 'ethers'; -import { types } from '@abacus-network/utils'; +import { types } from '@hyperlane-xyz/utils'; import { testChainConnectionConfigs } from '../consts/chainConnectionConfigs'; import { MultiProvider } from '../providers/MultiProvider'; diff --git a/typescript/sdk/src/deploy/verify/ContractVerifier.ts b/typescript/sdk/src/deploy/verify/ContractVerifier.ts index f363859e4..2cc1c9fd2 100644 --- a/typescript/sdk/src/deploy/verify/ContractVerifier.ts +++ b/typescript/sdk/src/deploy/verify/ContractVerifier.ts @@ -2,7 +2,7 @@ import fetch from 'cross-fetch'; import { Debugger, debug } from 'debug'; import { ethers } from 'ethers'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../../providers/MultiProvider'; import { ChainMap, ChainName } from '../../types'; @@ -41,7 +41,7 @@ export class ContractVerifier extends MultiGeneric< protected readonly compilerOptions: CompilerOptions, ) { super(verificationInputs); - this.logger = debug('abacus:ContractVerifier'); + this.logger = debug('hyperlane:ContractVerifier'); } verify(): Promise[]> { diff --git a/typescript/sdk/src/events.ts b/typescript/sdk/src/events.ts index 2e2c0029b..5c4907962 100644 --- a/typescript/sdk/src/events.ts +++ b/typescript/sdk/src/events.ts @@ -3,7 +3,7 @@ import { providers } from 'ethers'; import type { TypedEvent, TypedEventFilter, -} from '@abacus-network/core/dist/common'; +} from '@hyperlane-xyz/core/dist/common'; import { chainMetadata } from './consts/chainMetadata'; import { MultiProvider } from './providers/MultiProvider'; diff --git a/typescript/sdk/src/gas/calculator.test.ts b/typescript/sdk/src/gas/calculator.test.ts index c119b4342..a2a25bf35 100644 --- a/typescript/sdk/src/gas/calculator.test.ts +++ b/typescript/sdk/src/gas/calculator.test.ts @@ -3,7 +3,7 @@ import { BigNumber } from 'ethers'; import sinon from 'sinon'; import { Chains } from '../consts/chains'; -import { AbacusCore } from '../core/AbacusCore'; +import { HyperlaneCore } from '../core/HyperlaneCore'; import { CoreContracts } from '../core/contracts'; import { MultiProvider } from '../providers/MultiProvider'; import { MockProvider, MockTokenPriceGetter } from '../test/testUtils'; @@ -57,7 +57,7 @@ describe('InterchainGasCalculator', () => { test2: { provider }, test3: { provider }, }); - const core: AbacusCore = AbacusCore.fromEnvironment( + const core: HyperlaneCore = HyperlaneCore.fromEnvironment( 'test', multiProvider, ); diff --git a/typescript/sdk/src/gas/calculator.ts b/typescript/sdk/src/gas/calculator.ts index 9f936b58d..dc41de9eb 100644 --- a/typescript/sdk/src/gas/calculator.ts +++ b/typescript/sdk/src/gas/calculator.ts @@ -1,14 +1,14 @@ import CoinGecko from 'coingecko-api'; import { BigNumber, FixedNumber, ethers } from 'ethers'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; import { chainMetadata } from '../consts/chainMetadata'; import { - AbacusCore, CoreEnvironment, CoreEnvironmentChain, -} from '../core/AbacusCore'; + HyperlaneCore, +} from '../core/HyperlaneCore'; import { MultiProvider } from '../providers/MultiProvider'; import { ChainName, Remotes } from '../types'; import { convertDecimalValue, mulBigAndFixed } from '../utils/number'; @@ -82,7 +82,7 @@ export type ParsedMessage< * Calculates interchain gas payments. */ export class InterchainGasCalculator { - private core: AbacusCore; + private core: HyperlaneCore; private multiProvider: MultiProvider; private tokenPriceGetter: TokenPriceGetter; @@ -95,13 +95,13 @@ export class InterchainGasCalculator { multiProvider: MultiProvider>, config?: InterchainGasCalculatorConfig, ): InterchainGasCalculator> { - const core = AbacusCore.fromEnvironment(env, multiProvider); + const core = HyperlaneCore.fromEnvironment(env, multiProvider); return new InterchainGasCalculator(multiProvider, core, config); } constructor( multiProvider: MultiProvider, - core: AbacusCore, + core: HyperlaneCore, config?: InterchainGasCalculatorConfig, ) { this.multiProvider = multiProvider; diff --git a/typescript/sdk/src/index.ts b/typescript/sdk/src/index.ts index 0897cd998..7425f4111 100644 --- a/typescript/sdk/src/index.ts +++ b/typescript/sdk/src/index.ts @@ -20,12 +20,12 @@ export { export { ChainNameToDomainId, DomainIdToChainName } from './domains'; -export { AbacusApp } from './AbacusApp'; +export { HyperlaneApp } from './HyperlaneApp'; export { - AbacusAddresses, - AbacusContracts, - AbacusFactories, + HyperlaneAddresses, + HyperlaneContracts, + HyperlaneFactories, buildContracts, connectContracts, serializeContracts, @@ -47,10 +47,10 @@ export { MultiProvider } from './providers/MultiProvider'; export { RetryJsonRpcProvider, RetryProvider } from './providers/RetryProvider'; export { - AbacusCore, + HyperlaneCore, CoreContractsMap, DispatchedMessage, -} from './core/AbacusCore'; +} from './core/HyperlaneCore'; export { CoreContracts, coreFactories, @@ -58,13 +58,13 @@ export { OutboxContracts, } from './core/contracts'; export { - AbacusLifecyleEvent, + HyperlaneLifecyleEvent, AnnotatedDispatch, AnnotatedLifecycleEvent, } from './core/events'; export { - AbacusMessage, - AbacusStatus, + HyperlaneMessage, + HyperlaneStatus, MessageStatus, resolveDomain, resolveId, @@ -84,30 +84,30 @@ export { TokenPriceGetter, } from './gas/token-prices'; -export { AbacusAppChecker } from './deploy/AbacusAppChecker'; +export { HyperlaneAppChecker } from './deploy/HyperlaneAppChecker'; export { CheckerViolation, EnvironmentConfig, OwnerViolation, ViolationType, } from './deploy/types'; -export { AbacusCoreDeployer } from './deploy/core/AbacusCoreDeployer'; -export { AbacusCoreChecker } from './deploy/core/AbacusCoreChecker'; +export { HyperlaneCoreDeployer } from './deploy/core/HyperlaneCoreDeployer'; +export { HyperlaneCoreChecker } from './deploy/core/HyperlaneCoreChecker'; export { CoreConfig, CoreViolationType, ValidatorManagerConfig, ValidatorManagerViolation, EnrolledInboxesViolation, - AbacusConnectionManagerViolation, - AbacusConnectionManagerViolationType, + ConnectionManagerViolation, + ConnectionManagerViolationType, EnrolledValidatorsViolation, ValidatorManagerViolationType, } from './deploy/core/types'; -export { AbacusDeployer } from './deploy/AbacusDeployer'; +export { HyperlaneDeployer } from './deploy/HyperlaneDeployer'; export { UpgradeBeaconViolation } from './deploy/proxy'; -export { AbacusRouterDeployer } from './deploy/router/AbacusRouterDeployer'; -export { AbacusRouterChecker } from './deploy/router/AbacusRouterChecker'; +export { HyperlaneRouterDeployer } from './deploy/router/HyperlaneRouterDeployer'; +export { HyperlaneRouterChecker } from './deploy/router/HyperlaneRouterChecker'; export { RouterConfig } from './deploy/router/types'; export { getTestMultiProvider, getChainToOwnerMap } from './deploy/utils'; export { ContractVerifier } from './deploy/verify/ContractVerifier'; diff --git a/typescript/sdk/src/providers/ChainConnection.ts b/typescript/sdk/src/providers/ChainConnection.ts index e4ebf9c9b..88596b475 100644 --- a/typescript/sdk/src/providers/ChainConnection.ts +++ b/typescript/sdk/src/providers/ChainConnection.ts @@ -19,7 +19,7 @@ export class ChainConnection { this.confirmations = dc.confirmations ?? 0; this.blockExplorerUrl = dc.blockExplorerUrl ?? 'UNKNOWN_EXPLORER'; this.apiPrefix = dc.apiPrefix ?? 'api.'; - this.logger = debug('abacus:ChainConnection'); + this.logger = debug('hyperlane:ChainConnection'); } getConnection = (): ethers.providers.Provider | ethers.Signer => diff --git a/typescript/sdk/src/providers/RetryProvider.ts b/typescript/sdk/src/providers/RetryProvider.ts index 0b7eb2951..e184d3e73 100644 --- a/typescript/sdk/src/providers/RetryProvider.ts +++ b/typescript/sdk/src/providers/RetryProvider.ts @@ -4,7 +4,7 @@ // See: https://github.com/ethers-io/ethers.js/discussions/3006 import { ethers } from 'ethers'; -import { utils } from '@abacus-network/utils'; +import { utils } from '@hyperlane-xyz/utils'; export type RetryOptions = { // Maximum number of times to make the RPC diff --git a/typescript/sdk/src/proxy.ts b/typescript/sdk/src/proxy.ts index 248980cf9..da1fb2751 100644 --- a/typescript/sdk/src/proxy.ts +++ b/typescript/sdk/src/proxy.ts @@ -1,6 +1,6 @@ import { Contract } from 'ethers'; -import type { types } from '@abacus-network/utils'; +import type { types } from '@hyperlane-xyz/utils'; import { Connection } from './types'; diff --git a/typescript/sdk/src/router.ts b/typescript/sdk/src/router.ts index 6fed63f07..ee94f1316 100644 --- a/typescript/sdk/src/router.ts +++ b/typescript/sdk/src/router.ts @@ -1,12 +1,12 @@ import type { ethers } from 'ethers'; -import { Router } from '@abacus-network/app'; -import type { types } from '@abacus-network/utils'; +import { Router } from '@hyperlane-xyz/app'; +import type { types } from '@hyperlane-xyz/utils'; -import { AbacusContracts, AbacusFactories } from './contracts'; +import { HyperlaneContracts, HyperlaneFactories } from './contracts'; export type RouterContracts = - AbacusContracts & { + HyperlaneContracts & { router: RouterContract; }; @@ -16,13 +16,13 @@ type RouterFactory = }; export type RouterFactories = - AbacusFactories & { + HyperlaneFactories & { router: RouterFactory; }; export type ConnectionClientConfig = { - abacusConnectionManager: types.Address; + connectionManager: types.Address; interchainGasPaymaster: types.Address; }; -export { Router } from '@abacus-network/app'; +export { Router } from '@hyperlane-xyz/app'; diff --git a/typescript/sdk/src/test/envSubsetDeployer/app.ts b/typescript/sdk/src/test/envSubsetDeployer/app.ts index 4a74da0bd..d9e96acb4 100644 --- a/typescript/sdk/src/test/envSubsetDeployer/app.ts +++ b/typescript/sdk/src/test/envSubsetDeployer/app.ts @@ -1,11 +1,11 @@ -import { TestRouter__factory } from '@abacus-network/app'; +import { TestRouter__factory } from '@hyperlane-xyz/app'; -import { AbacusApp } from '../../AbacusApp'; +import { HyperlaneApp } from '../../HyperlaneApp'; import { chainConnectionConfigs } from '../../consts/chainConnectionConfigs'; -import { AbacusCore } from '../../core/AbacusCore'; -import { AbacusDeployer } from '../../deploy/AbacusDeployer'; -import { AbacusRouterChecker } from '../../deploy/router/AbacusRouterChecker'; -import { AbacusRouterDeployer } from '../../deploy/router/AbacusRouterDeployer'; +import { HyperlaneCore } from '../../core/HyperlaneCore'; +import { HyperlaneDeployer } from '../../deploy/HyperlaneDeployer'; +import { HyperlaneRouterChecker } from '../../deploy/router/HyperlaneRouterChecker'; +import { HyperlaneRouterDeployer } from '../../deploy/router/HyperlaneRouterDeployer'; import { RouterConfig } from '../../deploy/router/types'; import { MultiProvider } from '../../providers/MultiProvider'; import { RouterContracts, RouterFactories } from '../../router'; @@ -31,11 +31,11 @@ export const alfajoresChainConfig = { export class EnvSubsetApp< Chain extends ChainName = ChainName, -> extends AbacusApp {} +> extends HyperlaneApp {} export class EnvSubsetChecker< Chain extends ChainName, -> extends AbacusRouterChecker< +> extends HyperlaneRouterChecker< Chain, EnvSubsetApp, RouterConfig, @@ -48,7 +48,7 @@ export const envSubsetFactories: RouterFactories = { export class EnvSubsetDeployer< Chain extends ChainName, -> extends AbacusRouterDeployer< +> extends HyperlaneRouterDeployer< Chain, RouterConfig, RouterContracts, @@ -57,12 +57,12 @@ export class EnvSubsetDeployer< constructor( multiProvider: MultiProvider, configMap: ChainMap, - protected core: AbacusCore, + protected core: HyperlaneCore, ) { super(multiProvider, configMap, envSubsetFactories, {}); } - // Consider moving this up to AbacusRouterDeployer + // Consider moving this up to HyperlaneRouterDeployer async initRouter( contractsMap: ChainMap, ): Promise { @@ -70,7 +70,7 @@ export class EnvSubsetDeployer< await promiseObjAll( objMap(contractsMap, async (chain, contracts) => { const chainConnection = this.multiProvider.getChainConnection(chain); - const acm = this.configMap[chain].abacusConnectionManager; + const acm = this.configMap[chain].connectionManager; await chainConnection.handleTx( // @ts-ignore contracts.router.initialize(acm, chainConnection.overrides), @@ -80,7 +80,7 @@ export class EnvSubsetDeployer< } async deploy(): Promise> { - const contractsMap = (await AbacusDeployer.prototype.deploy.apply( + const contractsMap = (await HyperlaneDeployer.prototype.deploy.apply( this, )) as Record; await this.initRouter(contractsMap); diff --git a/typescript/sdk/src/test/envSubsetDeployer/check-single-chain.ts b/typescript/sdk/src/test/envSubsetDeployer/check-single-chain.ts index 5eebcceea..c72b51dd4 100644 --- a/typescript/sdk/src/test/envSubsetDeployer/check-single-chain.ts +++ b/typescript/sdk/src/test/envSubsetDeployer/check-single-chain.ts @@ -1,5 +1,5 @@ import { buildContracts } from '../../contracts'; -import { AbacusCore } from '../../core/AbacusCore'; +import { HyperlaneCore } from '../../core/HyperlaneCore'; import { getChainToOwnerMap } from '../../deploy/utils'; import { MultiProvider } from '../../providers/MultiProvider'; import { RouterContracts } from '../../router'; @@ -39,7 +39,7 @@ async function check() { envSubsetFactories, ) as ChainMap; const app = new EnvSubsetApp(contractsMap, multiProvider); - const core = AbacusCore.fromEnvironment('testnet2', multiProvider); + const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); const config = core.extendWithConnectionClientConfig( getChainToOwnerMap(alfajoresChainConfig, ownerAddress), ); diff --git a/typescript/sdk/src/test/envSubsetDeployer/deploy-single-chain.ts b/typescript/sdk/src/test/envSubsetDeployer/deploy-single-chain.ts index cb45f0d4c..a75d4ba67 100644 --- a/typescript/sdk/src/test/envSubsetDeployer/deploy-single-chain.ts +++ b/typescript/sdk/src/test/envSubsetDeployer/deploy-single-chain.ts @@ -1,5 +1,5 @@ import { serializeContracts } from '../../contracts'; -import { AbacusCore } from '../../core/AbacusCore'; +import { HyperlaneCore } from '../../core/HyperlaneCore'; import { getChainToOwnerMap } from '../../deploy/utils'; import { MultiProvider } from '../../providers/MultiProvider'; @@ -18,7 +18,7 @@ async function main() { }, }); - const core = AbacusCore.fromEnvironment('testnet2', multiProvider); + const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); const config = core.extendWithConnectionClientConfig( getChainToOwnerMap(alfajoresChainConfig, signer.address), ); diff --git a/typescript/sdk/src/test/envSubsetDeployer/utils.ts b/typescript/sdk/src/test/envSubsetDeployer/utils.ts index 25a9681cd..2b52fb22e 100644 --- a/typescript/sdk/src/test/envSubsetDeployer/utils.ts +++ b/typescript/sdk/src/test/envSubsetDeployer/utils.ts @@ -1,7 +1,7 @@ import { Wallet } from 'ethers'; -import { StaticCeloJsonRpcProvider } from '@abacus-network/celo-ethers-provider'; -import { utils } from '@abacus-network/utils'; +import { StaticCeloJsonRpcProvider } from '@hyperlane-xyz/celo-ethers-provider'; +import { utils } from '@hyperlane-xyz/utils'; export const ALFAJORES_FORNO = 'https://alfajores-forno.celo-testnet.org'; export const CELO_DERIVATION_PATH = "m/44'/52752'/0'/0/0"; diff --git a/typescript/sdk/src/utils/ids.ts b/typescript/sdk/src/utils/ids.ts index caee32027..ef04105de 100644 --- a/typescript/sdk/src/utils/ids.ts +++ b/typescript/sdk/src/utils/ids.ts @@ -20,7 +20,7 @@ export function canonizeId(data: BytesLike): Uint8Array { } /** - * Converts an Abacus ID of 20 or 32 bytes to the corresponding EVM Address. + * Converts an Hyperlane ID of 20 or 32 bytes to the corresponding EVM Address. * * For 32-byte IDs this enforces the EVM convention of using the LAST 20 bytes. * diff --git a/typescript/utils/package.json b/typescript/utils/package.json index c6191275a..6d8140133 100644 --- a/typescript/utils/package.json +++ b/typescript/utils/package.json @@ -1,7 +1,7 @@ { - "name": "@abacus-network/utils", - "description": "General utilities for the Abacus network", - "version": "0.4.1", + "name": "@hyperlane-xyz/utils", + "description": "General utilities for the Hyperlane network", + "version": "0.5.0-beta0", "dependencies": { "ethers": "^5.6.8" }, @@ -10,16 +10,16 @@ "prettier": "^2.4.1", "typescript": "^4.7.2" }, - "homepage": "https://www.useabacus.network", + "homepage": "https://www.hyperlane.xyz", "keywords": [ - "Abacus", + "Hyperlane", "SDK", "Typescript" ], "license": "Apache-2.0", "main": "dist/index.js", "prepublish": "yarn build", - "repository": "https://github.com/abacus-network/abacus-monorepo", + "repository": "https://github.com/hyperlane-xyz/hyperlane-monorepo", "scripts": { "build": "tsc", "clean": "rm -rf ./dist", diff --git a/typescript/utils/src/utils.ts b/typescript/utils/src/utils.ts index dc512575f..c0b1c448e 100644 --- a/typescript/utils/src/utils.ts +++ b/typescript/utils/src/utils.ts @@ -93,7 +93,7 @@ export function destinationAndNonce( export function domainHash(domain: number): string { return ethers.utils.solidityKeccak256( ['uint32', 'string'], - [domain, 'ABACUS'], + [domain, 'ABACUS'], // TODO rename ); } diff --git a/typescript/utils/src/validator.ts b/typescript/utils/src/validator.ts index feeeac13c..42754ffd5 100644 --- a/typescript/utils/src/validator.ts +++ b/typescript/utils/src/validator.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import { types, utils } from '@abacus-network/utils'; +import { types, utils } from '@hyperlane-xyz/utils'; import { Checkpoint } from './types'; diff --git a/yarn.lock b/yarn.lock index 2602d6e60..8281aa478 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,236 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@abacus-network/app@0.4.1, @abacus-network/app@^0.4.1, @abacus-network/app@workspace:solidity/app": - version: 0.0.0-use.local - resolution: "@abacus-network/app@workspace:solidity/app" - dependencies: - "@abacus-network/core": 0.4.1 - "@abacus-network/utils": 0.4.1 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@openzeppelin/contracts-upgradeable": ^4.5.0 - "@typechain/ethers-v5": 10.0.0 - "@typechain/hardhat": ^6.0.0 - "@types/mocha": ^9.1.0 - chai: ^4.3.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - hardhat: ^2.8.4 - hardhat-gas-reporter: ^1.0.7 - prettier: ^2.4.1 - prettier-plugin-solidity: ^1.0.0-beta.5 - solhint: ^3.3.2 - solhint-plugin-prettier: ^0.0.5 - solidity-coverage: ^0.7.14 - ts-node: ^10.8.0 - typechain: 8.0.0 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - -"@abacus-network/celo-ethers-provider@npm:^0.1.0": - version: 0.1.0 - resolution: "@abacus-network/celo-ethers-provider@npm:0.1.0" - peerDependencies: - ethers: ^5 - checksum: 06f440366bbd9ddf9962aa46c471be1fb587909c4da71a0d816497a5c0c8597e9b315d70fe9ae728ed51fc936097da50da2cd18f750861f3d602660b8ea1ecfd - languageName: node - linkType: hard - -"@abacus-network/core@0.4.1, @abacus-network/core@workspace:solidity/core": - version: 0.0.0-use.local - resolution: "@abacus-network/core@workspace:solidity/core" - dependencies: - "@abacus-network/utils": 0.4.1 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@openzeppelin/contracts": ^4.6.0 - "@openzeppelin/contracts-upgradeable": ^4.6.0 - "@summa-tx/memview-sol": ^2.0.0 - "@typechain/ethers-v5": 10.0.0 - "@typechain/hardhat": ^6.0.0 - chai: ^4.3.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - hardhat: ^2.8.4 - hardhat-gas-reporter: ^1.0.7 - prettier: ^2.4.1 - prettier-plugin-solidity: ^1.0.0-beta.5 - solhint: ^3.3.2 - solhint-plugin-prettier: ^0.0.5 - solidity-coverage: ^0.7.14 - ts-generator: ^0.1.1 - typechain: 8.0.0 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - -"@abacus-network/helloworld@0.5.0, @abacus-network/helloworld@workspace:typescript/helloworld": - version: 0.0.0-use.local - resolution: "@abacus-network/helloworld@workspace:typescript/helloworld" - dependencies: - "@abacus-network/sdk": ^0.4.1 - "@abacus-network/utils": ^0.4.1 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@openzeppelin/contracts-upgradeable": ^4.6.0 - "@trivago/prettier-plugin-sort-imports": ^3.2.0 - "@typechain/ethers-v5": 10.0.0 - "@typechain/hardhat": ^6.0.0 - "@types/mocha": ^9.1.0 - "@typescript-eslint/eslint-plugin": ^5.27.0 - "@typescript-eslint/parser": ^5.27.0 - chai: ^4.3.0 - eslint: ^8.16.0 - eslint-config-prettier: ^8.5.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - hardhat: ^2.8.4 - hardhat-gas-reporter: ^1.0.7 - prettier: ^2.4.1 - prettier-plugin-solidity: ^1.0.0-beta.5 - solhint: ^3.3.2 - solhint-plugin-prettier: ^0.0.5 - solidity-coverage: ^0.7.14 - ts-node: ^10.8.0 - typechain: 8.0.0 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - -"@abacus-network/infra@workspace:typescript/infra": - version: 0.0.0-use.local - resolution: "@abacus-network/infra@workspace:typescript/infra" - dependencies: - "@abacus-network/celo-ethers-provider": ^0.1.0 - "@abacus-network/helloworld": 0.5.0 - "@abacus-network/sdk": 0.4.1 - "@abacus-network/utils": 0.4.1 - "@aws-sdk/client-iam": ^3.74.0 - "@aws-sdk/client-kms": 3.48.0 - "@aws-sdk/client-s3": ^3.74.0 - "@ethersproject/experimental": ^5.6.2 - "@ethersproject/hardware-wallets": ~5.6 - "@gnosis.pm/safe-core-sdk": ^2.3.2 - "@gnosis.pm/safe-ethers-lib": ^1.4.0 - "@gnosis.pm/safe-service-client": ^1.2.0 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-etherscan": ^3.0.3 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@types/chai": ^4.2.21 - "@types/mocha": ^9.1.0 - "@types/node": ^16.9.1 - "@types/prompts": ^2.0.14 - "@types/yargs": ^17.0.10 - asn1.js: 5.4.1 - aws-kms-ethers-signer: ^0.1.3 - chai: ^4.3.4 - dotenv: ^10.0.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - hardhat: ^2.8.4 - prettier: ^2.4.1 - prom-client: ^14.0.1 - prompts: ^2.4.2 - ts-node: ^10.8.0 - typescript: ^4.7.2 - yargs: ^17.4.1 - languageName: unknown - linkType: soft - -"@abacus-network/interchain-accounts@workspace:typescript/ica": - version: 0.0.0-use.local - resolution: "@abacus-network/interchain-accounts@workspace:typescript/ica" - dependencies: - "@abacus-network/app": ^0.4.1 - "@abacus-network/sdk": ^0.4.1 - "@abacus-network/utils": ^0.4.1 - "@nomicfoundation/hardhat-chai-matchers": ^1.0.3 - "@nomicfoundation/hardhat-toolbox": ^1.0.2 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@openzeppelin/contracts-upgradeable": ^4.6.0 - "@trivago/prettier-plugin-sort-imports": ^3.2.0 - "@typechain/ethers-v5": 10.0.0 - "@typechain/hardhat": ^6.0.0 - "@types/mocha": ^9.1.0 - "@typescript-eslint/eslint-plugin": ^5.27.0 - "@typescript-eslint/parser": ^5.27.0 - chai: ^4.3.0 - eslint: ^8.16.0 - eslint-config-prettier: ^8.5.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - hardhat: ^2.8.4 - hardhat-gas-reporter: ^1.0.7 - prettier: ^2.4.1 - prettier-plugin-solidity: ^1.0.0-beta.5 - solhint: ^3.3.2 - solhint-plugin-prettier: ^0.0.5 - solidity-coverage: ^0.7.14 - ts-node: ^10.8.0 - typechain: 8.0.0 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - -"@abacus-network/monorepo@workspace:.": - version: 0.0.0-use.local - resolution: "@abacus-network/monorepo@workspace:." - dependencies: - "@trivago/prettier-plugin-sort-imports": ^3.2.0 - "@typescript-eslint/eslint-plugin": ^5.27.0 - "@typescript-eslint/parser": ^5.27.0 - eslint: ^8.16.0 - eslint-config-prettier: ^8.5.0 - husky: ^8.0.0 - lint-staged: ^12.4.3 - prettier: ^2.4.1 - languageName: unknown - linkType: soft - -"@abacus-network/sdk@0.4.1, @abacus-network/sdk@^0.4.1, @abacus-network/sdk@workspace:typescript/sdk": - version: 0.0.0-use.local - resolution: "@abacus-network/sdk@workspace:typescript/sdk" - dependencies: - "@abacus-network/app": 0.4.1 - "@abacus-network/celo-ethers-provider": ^0.1.0 - "@abacus-network/core": 0.4.1 - "@abacus-network/utils": 0.4.1 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@types/coingecko-api": ^1.0.10 - "@types/debug": ^4.1.7 - "@types/node": ^16.9.1 - chai: ^4.3.6 - coingecko-api: ^1.0.10 - cross-fetch: ^3.1.5 - debug: ^4.3.4 - dotenv: ^10.0.0 - ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 - fs: 0.0.1-security - hardhat: ^2.8.4 - mocha: ^9.2.2 - prettier: ^2.4.1 - sinon: ^13.0.2 - ts-node: ^10.8.0 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - -"@abacus-network/utils@0.4.1, @abacus-network/utils@^0.4.1, @abacus-network/utils@workspace:typescript/utils": - version: 0.0.0-use.local - resolution: "@abacus-network/utils@workspace:typescript/utils" - dependencies: - chai: ^4.3.0 - ethers: ^5.6.8 - prettier: ^2.4.1 - typescript: ^4.7.2 - languageName: unknown - linkType: soft - "@aws-crypto/crc32@npm:2.0.0": version: 2.0.0 resolution: "@aws-crypto/crc32@npm:2.0.0" @@ -3907,6 +3677,236 @@ __metadata: languageName: node linkType: hard +"@hyperlane-xyz/app@0.5.0-beta0, @hyperlane-xyz/app@workspace:solidity/app": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/app@workspace:solidity/app" + dependencies: + "@hyperlane-xyz/core": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@openzeppelin/contracts-upgradeable": ^4.5.0 + "@typechain/ethers-v5": 10.0.0 + "@typechain/hardhat": ^6.0.0 + "@types/mocha": ^9.1.0 + chai: ^4.3.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.4.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-node: ^10.8.0 + typechain: 8.0.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/celo-ethers-provider@npm:^0.1.1": + version: 0.1.1 + resolution: "@hyperlane-xyz/celo-ethers-provider@npm:0.1.1" + peerDependencies: + ethers: ^5 + checksum: 5ea495505b3e4338ec6c419f69b66af2d35b86e7cdab9bc7ee65ba4a233729b2143b0a72cc637f8e8795ecacc18eeda5ac803e8b3de9a63e7ceb5dc14014b3d4 + languageName: node + linkType: hard + +"@hyperlane-xyz/core@0.5.0-beta0, @hyperlane-xyz/core@workspace:solidity/core": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/core@workspace:solidity/core" + dependencies: + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@openzeppelin/contracts": ^4.6.0 + "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@summa-tx/memview-sol": ^2.0.0 + "@typechain/ethers-v5": 10.0.0 + "@typechain/hardhat": ^6.0.0 + chai: ^4.3.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.4.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-generator: ^0.1.1 + typechain: 8.0.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/helloworld@0.5.0-beta0, @hyperlane-xyz/helloworld@workspace:typescript/helloworld": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/helloworld@workspace:typescript/helloworld" + dependencies: + "@hyperlane-xyz/sdk": ^0.5.0-beta0 + "@hyperlane-xyz/utils": ^0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@trivago/prettier-plugin-sort-imports": ^3.2.0 + "@typechain/ethers-v5": 10.0.0 + "@typechain/hardhat": ^6.0.0 + "@types/mocha": ^9.1.0 + "@typescript-eslint/eslint-plugin": ^5.27.0 + "@typescript-eslint/parser": ^5.27.0 + chai: ^4.3.0 + eslint: ^8.16.0 + eslint-config-prettier: ^8.5.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.4.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-node: ^10.8.0 + typechain: 8.0.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/infra@workspace:typescript/infra": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/infra@workspace:typescript/infra" + dependencies: + "@aws-sdk/client-iam": ^3.74.0 + "@aws-sdk/client-kms": 3.48.0 + "@aws-sdk/client-s3": ^3.74.0 + "@ethersproject/experimental": ^5.6.2 + "@ethersproject/hardware-wallets": ~5.6 + "@gnosis.pm/safe-core-sdk": ^2.3.2 + "@gnosis.pm/safe-ethers-lib": ^1.4.0 + "@gnosis.pm/safe-service-client": ^1.2.0 + "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 + "@hyperlane-xyz/helloworld": 0.5.0-beta0 + "@hyperlane-xyz/sdk": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-etherscan": ^3.0.3 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@types/chai": ^4.2.21 + "@types/mocha": ^9.1.0 + "@types/node": ^16.9.1 + "@types/prompts": ^2.0.14 + "@types/yargs": ^17.0.10 + asn1.js: 5.4.1 + aws-kms-ethers-signer: ^0.1.3 + chai: ^4.3.4 + dotenv: ^10.0.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + prettier: ^2.4.1 + prom-client: ^14.0.1 + prompts: ^2.4.2 + ts-node: ^10.8.0 + typescript: ^4.7.2 + yargs: ^17.4.1 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/interchain-accounts@workspace:typescript/ica": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/interchain-accounts@workspace:typescript/ica" + dependencies: + "@hyperlane-xyz/app": 0.5.0-beta0 + "@hyperlane-xyz/sdk": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@nomicfoundation/hardhat-chai-matchers": ^1.0.3 + "@nomicfoundation/hardhat-toolbox": ^1.0.2 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@trivago/prettier-plugin-sort-imports": ^3.2.0 + "@typechain/ethers-v5": 10.0.0 + "@typechain/hardhat": ^6.0.0 + "@types/mocha": ^9.1.0 + "@typescript-eslint/eslint-plugin": ^5.27.0 + "@typescript-eslint/parser": ^5.27.0 + chai: ^4.3.0 + eslint: ^8.16.0 + eslint-config-prettier: ^8.5.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.4.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-node: ^10.8.0 + typechain: 8.0.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/monorepo@workspace:.": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/monorepo@workspace:." + dependencies: + "@trivago/prettier-plugin-sort-imports": ^3.2.0 + "@typescript-eslint/eslint-plugin": ^5.27.0 + "@typescript-eslint/parser": ^5.27.0 + eslint: ^8.16.0 + eslint-config-prettier: ^8.5.0 + husky: ^8.0.0 + lint-staged: ^12.4.3 + prettier: ^2.4.1 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/sdk@0.5.0-beta0, @hyperlane-xyz/sdk@^0.5.0-beta0, @hyperlane-xyz/sdk@workspace:typescript/sdk": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/sdk@workspace:typescript/sdk" + dependencies: + "@hyperlane-xyz/app": 0.5.0-beta0 + "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 + "@hyperlane-xyz/core": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@types/coingecko-api": ^1.0.10 + "@types/debug": ^4.1.7 + "@types/node": ^16.9.1 + chai: ^4.3.6 + coingecko-api: ^1.0.10 + cross-fetch: ^3.1.5 + debug: ^4.3.4 + dotenv: ^10.0.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + fs: 0.0.1-security + hardhat: ^2.8.4 + mocha: ^9.2.2 + prettier: ^2.4.1 + sinon: ^13.0.2 + ts-node: ^10.8.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/utils@0.5.0-beta0, @hyperlane-xyz/utils@^0.5.0-beta0, @hyperlane-xyz/utils@workspace:typescript/utils": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/utils@workspace:typescript/utils" + dependencies: + chai: ^4.3.0 + ethers: ^5.6.8 + prettier: ^2.4.1 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + "@jridgewell/gen-mapping@npm:^0.3.0": version: 0.3.1 resolution: "@jridgewell/gen-mapping@npm:0.3.1"