diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 75fc7bd16b..7ca207537e 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -29,21 +29,21 @@ jobs: TRUSTED_HEADER="$(curl -s http://localhost:26657/status)" HASH="$(echo "${TRUSTED_HEADER}" | jq -r .result.sync_info.latest_block_hash)" HEIGHT="$(echo "${TRUSTED_HEADER}" | jq -r .result.sync_info.latest_block_height)" - cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/relayer_conf_example.toml light init -x "${HASH}" -h "${HEIGHT}" chain_A + cargo run --bin relayer -- -c relayer/tests/config/fixtures/relayer_conf_example.toml light init -x "${HASH}" -h "${HEIGHT}" chain_A - name: Set up chain_b run: | TRUSTED_HEADER="$(curl -s http://localhost:26557/status)" HASH="$(echo "${TRUSTED_HEADER}" | jq -r .result.sync_info.latest_block_hash)" HEIGHT="$(echo "${TRUSTED_HEADER}" | jq -r .result.sync_info.latest_block_height)" - cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/relayer_conf_example.toml light init -x "${HASH}" -h "${HEIGHT}" chain_B + cargo run --bin relayer -- -c relayer/tests/config/fixtures/relayer_conf_example.toml light init -x "${HASH}" -h "${HEIGHT}" chain_B - name: Run relayer in the background run: | - cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/relayer_conf_example.toml start --reset & + cargo run --bin relayer -- -c relayer/tests/config/fixtures/relayer_conf_example.toml start --reset & sleep 3 - uses: actions-rs/cargo@v1 with: command: run - args: --bin relayer -- -v -c relayer/relay/tests/config/fixtures/relayer_conf_example.toml query connection end chain_A testconnection + args: --bin relayer -- -v -c relayer/tests/config/fixtures/relayer_conf_example.toml query connection end chain_A testconnection # - uses: actions-rs/cargo@v1 # with: # command: test diff --git a/CHANGELOG.md b/CHANGELOG.md index fe818e7514..dbfbc24e32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## [pending_version] + +* Refactored `relayer/cli` into `relayer-cli` folder. ([#180](https://github.com/informalsystems/ibc-rs/issues/180)) +* Refactored `relayer/relay` into `relayer` folder. ([#180](https://github.com/informalsystems/ibc-rs/issues/180)) + ## [0.0.1] *July 1st, 2020* diff --git a/Cargo.toml b/Cargo.toml index 80ead58c11..67475360bb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,6 @@ members = [ "modules", - "relayer/relay", - "relayer/cli", + "relayer", + "relayer-cli", ] diff --git a/README.md b/README.md index be590bf19c..787ceac26a 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Sample output: > Replace `HASH` and `HEIGHT` with the appropriate values (from step 1 above) in the following command. ```bash - ibc-rs $ cargo run --bin relayer -- -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml light init -x HASH -h HEIGHT chain_A + ibc-rs $ cargo run --bin relayer -- -c ./relayer/tests/config/fixtures/relayer_conf_example.toml light init -x HASH -h HEIGHT chain_A ``` 3. Repeat step 1 and 2 above for `chain_B`. @@ -81,7 +81,7 @@ Sample output: 4. Finally, start the main relayer thread, along with the light clients and IBC event monitor threads: ```bash - ibc-rs $ cargo run --bin relayer -- -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml start --reset + ibc-rs $ cargo run --bin relayer -- -c ./relayer/tests/config/fixtures/relayer_conf_example.toml start --reset ``` The `--reset` flag only needs to be passed once, for initializing the trusted headers based on the hash & height stored from steps 1-3 above. @@ -89,12 +89,12 @@ Sample output: Beside the basic relayer `start` command, the following are also available: - `listen` will start only the monitor part of the relayer, without the light client functionality; -- `query`can be used to initiate various queries against one of the chains, for example: `cargo run --bin relayer -- -v -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml query connection end chain_A testconnection` will look up the connection with identifier `testconnection` on chain `chain_A`. +- `query`can be used to initiate various queries against one of the chains, for example: `cargo run --bin relayer -- -v -c ./relayer/tests/config/fixtures/relayer_conf_example.toml query connection end chain_A testconnection` will look up the connection with identifier `testconnection` on chain `chain_A`. Note: Currently these commands fail in the response deserialization code and will be fixed as soon as the protobuf encoding is available for tendermint and cosmos-sdk implementations. -The `relayer/cli/src/commands.rs` file contains further description of the CLI subcommands. +The `relayer-cli/src/commands.rs` file contains further description of the CLI subcommands. -**Note:** Add a `-v` flag to the commands above to see detailed log output, eg. `cargo run --bin relayer -- -v -c ./relayer/relay/tests/config/fixtures/relayer_conf_example.toml run` +**Note:** Add a `-v` flag to the commands above to see detailed log output, eg. `cargo run --bin relayer -- -v -c ./relayer/tests/config/fixtures/relayer_conf_example.toml run` ## Contributing diff --git a/relayer/cli/.gitignore b/relayer-cli/.gitignore similarity index 100% rename from relayer/cli/.gitignore rename to relayer-cli/.gitignore diff --git a/relayer/cli/Cargo.toml b/relayer-cli/Cargo.toml similarity index 91% rename from relayer/cli/Cargo.toml rename to relayer-cli/Cargo.toml index ca76ba8830..53f41edf67 100644 --- a/relayer/cli/Cargo.toml +++ b/relayer-cli/Cargo.toml @@ -8,8 +8,8 @@ authors = [ ] [dependencies] -relayer = { path = "../relay" } -relayer-modules = { path = "../../modules" } +relayer = { path = "../relayer" } +relayer-modules = { path = "../modules" } tendermint = { git = "https://github.com/informalsystems/tendermint-rs.git", branch = "master" } abscissa_tokio = "0.5.1" diff --git a/relayer/cli/README.md b/relayer-cli/README.md similarity index 100% rename from relayer/cli/README.md rename to relayer-cli/README.md diff --git a/relayer/cli/src/application.rs b/relayer-cli/src/application.rs similarity index 100% rename from relayer/cli/src/application.rs rename to relayer-cli/src/application.rs diff --git a/relayer/cli/src/bin/relayer/main.rs b/relayer-cli/src/bin/relayer/main.rs similarity index 100% rename from relayer/cli/src/bin/relayer/main.rs rename to relayer-cli/src/bin/relayer/main.rs diff --git a/relayer/cli/src/commands.rs b/relayer-cli/src/commands.rs similarity index 100% rename from relayer/cli/src/commands.rs rename to relayer-cli/src/commands.rs diff --git a/relayer/cli/src/commands/config.rs b/relayer-cli/src/commands/config.rs similarity index 100% rename from relayer/cli/src/commands/config.rs rename to relayer-cli/src/commands/config.rs diff --git a/relayer/cli/src/commands/config/validate.rs b/relayer-cli/src/commands/config/validate.rs similarity index 100% rename from relayer/cli/src/commands/config/validate.rs rename to relayer-cli/src/commands/config/validate.rs diff --git a/relayer/cli/src/commands/light.rs b/relayer-cli/src/commands/light.rs similarity index 100% rename from relayer/cli/src/commands/light.rs rename to relayer-cli/src/commands/light.rs diff --git a/relayer/cli/src/commands/light/init.rs b/relayer-cli/src/commands/light/init.rs similarity index 100% rename from relayer/cli/src/commands/light/init.rs rename to relayer-cli/src/commands/light/init.rs diff --git a/relayer/cli/src/commands/listen.rs b/relayer-cli/src/commands/listen.rs similarity index 100% rename from relayer/cli/src/commands/listen.rs rename to relayer-cli/src/commands/listen.rs diff --git a/relayer/cli/src/commands/query.rs b/relayer-cli/src/commands/query.rs similarity index 100% rename from relayer/cli/src/commands/query.rs rename to relayer-cli/src/commands/query.rs diff --git a/relayer/cli/src/commands/query/channel.rs b/relayer-cli/src/commands/query/channel.rs similarity index 97% rename from relayer/cli/src/commands/query/channel.rs rename to relayer-cli/src/commands/query/channel.rs index e6a25f459f..a2771f0fc1 100644 --- a/relayer/cli/src/commands/query/channel.rs +++ b/relayer-cli/src/commands/query/channel.rs @@ -95,7 +95,7 @@ impl Runnable for QueryChannelEndCmd { status_info!("Options", "{:?}", opts); // run without proof: - // cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/simple_config.toml query channel end ibc-test firstport firstchannel --height 3 -p false + // cargo run --bin relayer -- -c relayer/tests/config/fixtures/simple_config.toml query channel end ibc-test firstport firstchannel --height 3 -p false let chain = CosmosSDKChain::from_config(chain_config).unwrap(); let res = chain.query::( ChannelEnds(opts.port_id, opts.channel_id), diff --git a/relayer/cli/src/commands/query/client.rs b/relayer-cli/src/commands/query/client.rs similarity index 97% rename from relayer/cli/src/commands/query/client.rs rename to relayer-cli/src/commands/query/client.rs index 7e25766c0b..d1d402aa0a 100644 --- a/relayer/cli/src/commands/query/client.rs +++ b/relayer-cli/src/commands/query/client.rs @@ -70,10 +70,10 @@ impl Runnable for QueryClientStateCmd { status_info!("Options", "{:?}", opts); // run with proof: - // cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/simple_config.toml query client state ibc-test ethbridge --height 3 + // cargo run --bin relayer -- -c relayer/tests/config/fixtures/simple_config.toml query client state ibc-test ethbridge --height 3 // // run without proof: - // cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/simple_config.toml query client state ibc-test ethbridge --height 3 -p false + // cargo run --bin relayer -- -c relayer/tests/config/fixtures/simple_config.toml query client state ibc-test ethbridge --height 3 -p false // // Note: currently both fail in amino_unmarshal_binary_length_prefixed(). // To test this start a Gaia node and configure a client using the go relayer. @@ -274,7 +274,7 @@ impl QueryClientConnectionsCmd { /// Command to handle query for client connections /// To run without proof: -/// cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/relayer_conf_example.toml query client connections chain_A clientidone -h 4 -p false +/// cargo run --bin relayer -- -c relayer/tests/config/fixtures/relayer_conf_example.toml query client connections chain_A clientidone -h 4 -p false impl Runnable for QueryClientConnectionsCmd { fn run(&self) { let config = app_config(); diff --git a/relayer/cli/src/commands/query/connection.rs b/relayer-cli/src/commands/query/connection.rs similarity index 97% rename from relayer/cli/src/commands/query/connection.rs rename to relayer-cli/src/commands/query/connection.rs index 70c2bdd870..bc4614525d 100644 --- a/relayer/cli/src/commands/query/connection.rs +++ b/relayer-cli/src/commands/query/connection.rs @@ -84,7 +84,7 @@ impl Runnable for QueryConnectionEndCmd { let chain = CosmosSDKChain::from_config(chain_config).unwrap(); // run without proof: - // cargo run --bin relayer -- -c relayer/relay/tests/config/fixtures/simple_config.toml query connection end ibc-test connectionidone --height 3 -p false + // cargo run --bin relayer -- -c relayer/tests/config/fixtures/simple_config.toml query connection end ibc-test connectionidone --height 3 -p false let res = chain.query::(Connections(opts.connection_id), opts.height, opts.proof); diff --git a/relayer/cli/src/commands/start.rs b/relayer-cli/src/commands/start.rs similarity index 100% rename from relayer/cli/src/commands/start.rs rename to relayer-cli/src/commands/start.rs diff --git a/relayer/cli/src/commands/utils.rs b/relayer-cli/src/commands/utils.rs similarity index 100% rename from relayer/cli/src/commands/utils.rs rename to relayer-cli/src/commands/utils.rs diff --git a/relayer/cli/src/commands/version.rs b/relayer-cli/src/commands/version.rs similarity index 100% rename from relayer/cli/src/commands/version.rs rename to relayer-cli/src/commands/version.rs diff --git a/relayer/cli/src/config.rs b/relayer-cli/src/config.rs similarity index 100% rename from relayer/cli/src/config.rs rename to relayer-cli/src/config.rs diff --git a/relayer/cli/src/error.rs b/relayer-cli/src/error.rs similarity index 100% rename from relayer/cli/src/error.rs rename to relayer-cli/src/error.rs diff --git a/relayer/cli/src/lib.rs b/relayer-cli/src/lib.rs similarity index 100% rename from relayer/cli/src/lib.rs rename to relayer-cli/src/lib.rs diff --git a/relayer/cli/src/prelude.rs b/relayer-cli/src/prelude.rs similarity index 100% rename from relayer/cli/src/prelude.rs rename to relayer-cli/src/prelude.rs diff --git a/relayer/cli/tests/acceptance.rs b/relayer-cli/tests/acceptance.rs similarity index 100% rename from relayer/cli/tests/acceptance.rs rename to relayer-cli/tests/acceptance.rs diff --git a/relayer/cli/tests/fixtures/two_chains.toml b/relayer-cli/tests/fixtures/two_chains.toml similarity index 100% rename from relayer/cli/tests/fixtures/two_chains.toml rename to relayer-cli/tests/fixtures/two_chains.toml diff --git a/relayer/relay/Cargo.toml b/relayer/Cargo.toml similarity index 94% rename from relayer/relay/Cargo.toml rename to relayer/Cargo.toml index 99651ce3e6..03aa33c7cc 100644 --- a/relayer/relay/Cargo.toml +++ b/relayer/Cargo.toml @@ -8,7 +8,7 @@ authors = [ ] [dependencies] -relayer-modules = { path = "../../modules" } +relayer-modules = { path = "../modules" } tendermint = { git = "https://github.com/informalsystems/tendermint-rs.git", branch = "master" } tendermint-rpc = { git = "https://github.com/informalsystems/tendermint-rs.git", branch = "master", features=["client"] } anomaly = "0.2.0" diff --git a/relayer/relay/src/chain.rs b/relayer/src/chain.rs similarity index 100% rename from relayer/relay/src/chain.rs rename to relayer/src/chain.rs diff --git a/relayer/relay/src/chain/cosmos.rs b/relayer/src/chain/cosmos.rs similarity index 100% rename from relayer/relay/src/chain/cosmos.rs rename to relayer/src/chain/cosmos.rs diff --git a/relayer/relay/src/client.rs b/relayer/src/client.rs similarity index 100% rename from relayer/relay/src/client.rs rename to relayer/src/client.rs diff --git a/relayer/relay/src/client/rpc_requester.rs b/relayer/src/client/rpc_requester.rs similarity index 100% rename from relayer/relay/src/client/rpc_requester.rs rename to relayer/src/client/rpc_requester.rs diff --git a/relayer/relay/src/client/trust_options.rs b/relayer/src/client/trust_options.rs similarity index 100% rename from relayer/relay/src/client/trust_options.rs rename to relayer/src/client/trust_options.rs diff --git a/relayer/relay/src/config.rs b/relayer/src/config.rs similarity index 100% rename from relayer/relay/src/config.rs rename to relayer/src/config.rs diff --git a/relayer/relay/src/error.rs b/relayer/src/error.rs similarity index 100% rename from relayer/relay/src/error.rs rename to relayer/src/error.rs diff --git a/relayer/relay/src/event_handler.rs b/relayer/src/event_handler.rs similarity index 100% rename from relayer/relay/src/event_handler.rs rename to relayer/src/event_handler.rs diff --git a/relayer/relay/src/event_monitor.rs b/relayer/src/event_monitor.rs similarity index 100% rename from relayer/relay/src/event_monitor.rs rename to relayer/src/event_monitor.rs diff --git a/relayer/relay/src/lib.rs b/relayer/src/lib.rs similarity index 100% rename from relayer/relay/src/lib.rs rename to relayer/src/lib.rs diff --git a/relayer/relay/src/query/client.rs b/relayer/src/query/client.rs similarity index 100% rename from relayer/relay/src/query/client.rs rename to relayer/src/query/client.rs diff --git a/relayer/relay/src/store.rs b/relayer/src/store.rs similarity index 100% rename from relayer/relay/src/store.rs rename to relayer/src/store.rs diff --git a/relayer/relay/src/store/mem.rs b/relayer/src/store/mem.rs similarity index 100% rename from relayer/relay/src/store/mem.rs rename to relayer/src/store/mem.rs diff --git a/relayer/relay/src/store/sled.rs b/relayer/src/store/sled.rs similarity index 100% rename from relayer/relay/src/store/sled.rs rename to relayer/src/store/sled.rs diff --git a/relayer/relay/src/util.rs b/relayer/src/util.rs similarity index 100% rename from relayer/relay/src/util.rs rename to relayer/src/util.rs diff --git a/relayer/relay/src/util/sled.rs b/relayer/src/util/sled.rs similarity index 100% rename from relayer/relay/src/util/sled.rs rename to relayer/src/util/sled.rs diff --git a/relayer/relay/tests/config/fixtures/relayer_conf_example.toml b/relayer/tests/config/fixtures/relayer_conf_example.toml similarity index 100% rename from relayer/relay/tests/config/fixtures/relayer_conf_example.toml rename to relayer/tests/config/fixtures/relayer_conf_example.toml diff --git a/relayer/relay/tests/config/fixtures/simple_config.toml b/relayer/tests/config/fixtures/simple_config.toml similarity index 100% rename from relayer/relay/tests/config/fixtures/simple_config.toml rename to relayer/tests/config/fixtures/simple_config.toml