Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
byeongsu-hong committed Feb 28, 2024
1 parent d309bc0 commit cab7199
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 57 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ clean:
install: install-dev

install-dev: install-prod
cargo install --force cw-optimizoor beaker
cargo install --force cargo-llvm-cov cw-optimizoor beaker

install-prod:
cargo install --force cosmwasm-check
Expand Down
119 changes: 63 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,84 @@
# cw-hyperlane
# CW Hyperlane

[![codecov](https://codecov.io/gh/many-things/cw-hyperlane/branch/main/graph/badge.svg?token=SGYE7FBTAO)](https://codecov.io/gh/many-things/cw-hyperlane)
[![crates.io](https://img.shields.io/crates/v/hpl-interface)](https://crates.io/crates/hpl-interface)

> This project is under active development...!
## Architecture Overview

![Architecture Overview](./asset/hyperlane-all.png)

### Components

```
├── contracts
│ │
│ ├── core
│ │ ├── mailbox
│ │ └── va
│ │
│ ├── hooks
│ │ ├── aggregate
│ │ ├── fee
│ │ ├── merkle
│ │ ├── pausable
│ │ ├── routing
│ │ ├── routing-custom
│ │ └── routing-fallback
│ │
│ ├── igps
│ │ ├── core
│ │ └── oracle
│ │
│ ├── isms
│ │ ├── aggregate
│ │ ├── multisig
│ │ ├── pausable
│ │ └── routing
│ │
│ ├── mocks
│ │ ├── mock-hook
│ │ ├── mock-ism
│ │ └── mock-msg-receiver
│ │
│ └── warp
│ ├── cw20
│ └── native
├── integration-test
├── packages
│ │
│ ├── connection
│ ├── interface
│ ├── ownable
│ ├── pausable
│ ├── router
│ └── schema
├── scripts
└── ts
└── sdk
```

## Prerequisites

- rust (wasm32-wasm32-unknown target)
- go 1.20 or higher
- grcov
- llvm-cov

## How to build

```bash
cargo build
make install-dev

cargo wasm
make build
```

## How to test

```bash
# testing
cargo test

# coverage
export RUSTFLAGS="-Cinstrument-coverage"
export LLVM_PROFILE_FILE="eddy-%p-%m.profraw"

cargo build
cargo test --workspace --exclude hpl-tests

cargo test

grcov . -s . --binary-path ./target/debug/ -t lcov --branch --ignore-not-existing -o ./target/debug/coverage/
cargo llvm-cov --workspace --exclude hpl-tests
```

## Deploy Sequence

1. Deploy [Mailbox](./contracts/core/mailbox)

2. Deploy [Validator Announce](./contracts/core/va)

3. Deploy hooks to use with Mailbox (default hook, required hook)

- [interchain gas paymaster (IGP)](./contracts/igps/core)

- [IGP oracle](./contracts/igps/oracle)

- [merkle](./contracts/hooks/merkle)

- [pausable](./contracts/hooks/pausable)

- [domain routing](./contracts/hooks/routing)

- [domain routing custom](./contracts/hooks/routing-custom)

- [domain routing fallback](./contracts/hooks/routing-fallback)

- For testing: [mock hook](./contracts/mocks/mock-hook)

4. Deploy isms to use with Mailbox (defualt ism)

- [multisig ism](./contracts/isms/multisig)

- [routing ism](./contracts/isms/routing)

- [aggregate ism](./contracts/isms/aggregate)

- [pausable](./contracts/isms/pausable)

- For testing: [mock ism](./contracts/mocks/mock-ism)

5. Set deployed hooks and isms to Mailbox

6. Deployment for core protocol is done! You can deploy some contracts on the top.
Binary file added asset/hyperlane-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added asset/hyperlane-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added asset/hyperlane-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added asset/hyperlane-all.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cab7199

Please sign in to comment.