From d8f1def6b99a18c69279794644d772b5c14419d2 Mon Sep 17 00:00:00 2001 From: adel Date: Tue, 10 Dec 2024 18:56:44 +0100 Subject: [PATCH] docs(readme): Updated README structure (#123) --- README.md | 98 ++++++++++++++++++++++++------------------------------- 1 file changed, 42 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 4948e290..a9ab8907 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ - - - -

@@ -18,44 +14,30 @@ https://hyperlane.xyz

- - - -
-
- - -
- - - - - This repository is an implementation of the Hyperlane protocol for Starknet app-chains. You can learn more about Hyperlane [here](https://docs.hyperlane.xyz/docs/protocol/protocol-overview). The implementation guidelines can be found [here](https://docs.hyperlane.xyz/docs/guides/implementation-guide). -## Supported Features -| Feature | Supported | -|---|---| -| Mailbox | ✅ | -| Merkle Tree Hook | ✅ | -| Protocol Fee Hook | ✅ | -| Aggregation Hook | ❌ | -| Routing Hook | ❌ | -| Pausable Hook | ❌ | -| Multisig ISM | ✅ | -| Pausable ISM | ✅ | -| Aggregation ISM | ✅ | -| Routing ISM | ✅ | -| Interchain Gas Payment | ❌ | -| Warp Routes | ✅ | - - -## Project structure - -### Contracts +# Supported Features +| Feature | Supported | +| ---------------------- | --------- | +| Mailbox | ✅ | +| Merkle Tree Hook | ✅ | +| Protocol Fee Hook | ✅ | +| Aggregation Hook | ❌ | +| Routing Hook | ❌ | +| Pausable Hook | ❌ | +| Multisig ISM | ✅ | +| Pausable ISM | ✅ | +| Aggregation ISM | ✅ | +| Routing ISM | ✅ | +| Interchain Gas Payment | ❌ | +| Warp Routes | ✅ | + +# Project structure + +## Contracts The contracts are located in the `contracts/` directory. It's a `scarb` project, so you can use the `scarb` CLI to build it. @@ -118,6 +100,29 @@ Restart another instance for the second test (strk -> evm): ```bash cd rust && cargo test -- test_mailbox_strk_to_evm ``` + +## Scripts + +This section details the steps to deploy Hyperlane contracts on Starknet. + +We have a set of javascript scripts available for this purpose. To use them, you first need to install dependencies and populate the env variables: +```sh +cd scripts/ +bun install # or using npm +cp .env.example .env # populate the variables inside +``` + +(in the `.env`, the beneficiary address is the account that will be used to recover funds from the protocol fee) + +From there, you can run either: +* `bun run deploy` to deploy the Hyperlane contracts, +* or `bun run update-hooks` to update the hooks of the deployed contract. + +Constructors parameters can be specified in the `contract_config.json`. + +## Rust + +The rust repository is strictly used for tests purposes. ## 📖 License @@ -138,22 +143,3 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - - -## 🪛 Deployment - -This section details the steps to deploy Hyperlane contracts on Starknet. Note that the deployment script will set a basic configuration for all the required contracts. Further configuration process might be required based on the use case. Constructors parameters can be specified in the `contract_config.json`. -Firstly, set the following environment variables, important for the deployment process: -```bash -STARKNET_RPC_URL= -ACCOUNT_ADDRESS= -BENEFICIARY_ADDRESS= -NETWORK= -PRIVATE_KEY= -``` -The beneficiary address is the account that will be used to recover funds from the protocol fee. -Once set, the contracts can be deployed using this command( assuming `ts-node` is installed): - -```bash -ts-node deploy.ts -```