From 995c455152f61c913c0279ffeb4d20abc685e29c Mon Sep 17 00:00:00 2001 From: KAMBALENGUNUNU Date: Mon, 23 Sep 2024 19:28:12 +0200 Subject: [PATCH 1/2] fixed a broken link in the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee2462277..f22cb1dd2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Morph is an innovative force reshaping the consumer blockchain landscape for pra ## Dive deeper into our vision and objectives here -1. [What is & Why Responsive Validity Proof?](https://docs.morphl2.io/docs/how-morph-works/responsive-validity-proof/why-rvp) +1. [What is & Why Responsive Validity Proof?](https://docs.morphl2.io/docs/how-morph-works/optimistic-zkevm) 2. [How Does RVP Run in Morph?](https://medium.com/@morphlayer2/how-does-rvp-run-in-morph-6025233a21cc) From 48cecbe795337933dcb8eee993fb6765508f054a Mon Sep 17 00:00:00 2001 From: KAMBALENGUNUNU Date: Tue, 12 Nov 2024 21:19:21 +0200 Subject: [PATCH 2/2] enhance the readme with installation and setup, the structure and contents sections --- bindings/README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/bindings/README.md b/bindings/README.md index f6e49f7db..2fe2ffa7f 100644 --- a/bindings/README.md +++ b/bindings/README.md @@ -28,3 +28,46 @@ make devtools ``` The geth docs for `abigen` can be found [here](https://geth.ethereum.org/docs/dapp/native-bindings). + +## Installation and Setup + +1. **Clone the repository**: + ```bash + git clone https://github.com/yourusername/morph-bindings.git + cd morph-bindings + ``` +2. **Install Dependencies** +Ensure you have all required dependencies installed, including: +- `jq` +- `abigen` +- `solc` +- `make` +- `hardhat` + +Install these as needed, following the official documentation for each tool. + +3. **Compile Contracts** +Use `make` to compile the contracts and generate bindings. Run: +```bash +make all + ``` +## Structure and Contents + +### Key Files + +- **types.go**: Defines the main data structures for compiler input, settings, output, and storage layout, allowing smooth integration between the Go application and Ethereum contracts. +- **Makefile**: Automates tasks including compilation, generating bindings, and cleaning up build files. +- **compile.sh**: Script to compile contracts using `hardhat` or `forge`. +- **gen_bindings.sh**: Script to generate contract bindings using `abigen` and customize dependencies. + +### Contract Bindings + +The bindings provide access to the following types of contracts: +- **L1 Contracts**: Staking, gateways, and cross-domain messaging between L1 and L2. +- **L2 Contracts**: Fee management, staking, and distribution, along with specific gateways for assets like ERC-20, ERC-721, and ERC-1155 tokens. + +### Modules + +- **Storage Layouts**: Stores layout details for each contract, used for setting up state storage dynamically during testing. +- **Bytecode Management**: Includes both deployed and undeployed bytecode for each contract, allowing for flexible deployment. +