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
-```