Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use new cgp_field::HasField to auto derive field accessor for HasRuntime #382

Merged
merged 12 commits into from
Jul 4, 2024
54 changes: 40 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ cgp-core = { git = "https://github.com/informalsystems/cgp.git" }
cgp-component = { git = "https://github.com/informalsystems/cgp.git" }
cgp-component-macro = { git = "https://github.com/informalsystems/cgp.git" }
cgp-component-macro-lib = { git = "https://github.com/informalsystems/cgp.git" }
cgp-field = { git = "https://github.com/informalsystems/cgp.git" }
cgp-field-macro = { git = "https://github.com/informalsystems/cgp.git" }
cgp-field-macro-lib = { git = "https://github.com/informalsystems/cgp.git" }
cgp-error = { git = "https://github.com/informalsystems/cgp.git" }
cgp-error-eyre = { git = "https://github.com/informalsystems/cgp.git" }
cgp-async = { git = "https://github.com/informalsystems/cgp.git" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ use hermes_cosmos_integration_tests::traits::bootstrap::compat_mode::CompatModeG
use hermes_cosmos_integration_tests::traits::bootstrap::cosmos_builder::CosmosBuilderGetter;
use hermes_cosmos_integration_tests::traits::bootstrap::gas_denom::GasDenomGetter;
use hermes_cosmos_integration_tests::traits::bootstrap::relayer_chain_config::RelayerChainConfigBuilderComponent;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_cosmos_test_components::bootstrap::components::cosmos_sdk_legacy::*;
use hermes_cosmos_test_components::bootstrap::traits::chain::build_chain_driver::ChainDriverBuilderComponent;
use hermes_cosmos_test_components::bootstrap::traits::fields::account_prefix::AccountPrefixGetter;
Expand All @@ -42,14 +42,17 @@ use hermes_cosmos_test_components::bootstrap::traits::modifiers::modify_comet_co
use hermes_cosmos_test_components::bootstrap::traits::modifiers::modify_genesis_config::CosmosGenesisConfigModifier;
use hermes_runtime::impls::types::runtime::ProvideHermesRuntime;
use hermes_runtime::types::runtime::HermesRuntime;
use hermes_runtime_components::traits::runtime::{RuntimeGetter, RuntimeTypeComponent};
use hermes_runtime_components::traits::runtime::{
GetRuntimeField, RuntimeGetterComponent, RuntimeTypeComponent,
};
use hermes_test_components::chain_driver::traits::types::chain::ChainTypeComponent;
use hermes_test_components::driver::traits::types::chain_driver::ChainDriverTypeComponent;
use ibc_relayer::config::compat_mode::CompatMode;
use tokio::process::Child;

use crate::contexts::bridge_driver::CelestiaBridgeDriver;

#[derive(HasField)]
pub struct CelestiaBootstrap {
pub runtime: HermesRuntime,
pub builder: Arc<CosmosBuilder>,
Expand Down Expand Up @@ -89,6 +92,8 @@ delegate_components! {
ErrorTypeComponent: ProvideEyreError,
ErrorRaiserComponent: RaiseDebugError,
RuntimeTypeComponent: ProvideHermesRuntime,
RuntimeGetterComponent:
GetRuntimeField<symbol!("runtime")>,
[
ChainTypeComponent,
ChainDriverTypeComponent,
Expand Down Expand Up @@ -128,12 +133,6 @@ impl BridgeDriverBuilder<CelestiaBootstrap> for CelestiaBootstrapComponents {
}
}

impl RuntimeGetter<CelestiaBootstrap> for CelestiaBootstrapComponents {
fn runtime(bootstrap: &CelestiaBootstrap) -> &HermesRuntime {
&bootstrap.runtime
}
}

impl ChainStoreDirGetter<CelestiaBootstrap> for CelestiaBootstrapComponents {
fn chain_store_dir(bootstrap: &CelestiaBootstrap) -> &PathBuf {
&bootstrap.chain_store_dir
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use std::time::{SystemTime, UNIX_EPOCH};
use eyre::Error;
use hermes_celestia_integration_tests::contexts::bootstrap::CelestiaBootstrap;
use hermes_celestia_test_components::bootstrap::traits::bootstrap_bridge::CanBootstrapBridge;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_runtime::types::runtime::HermesRuntime;
use hermes_test_components::bootstrap::traits::chain::CanBootstrapChain;
use tokio::runtime::Builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use std::sync::Arc;
use hermes_cosmos_integration_tests::contexts::binary_channel::setup::CosmosBinaryChannelSetup;
use hermes_cosmos_integration_tests::contexts::bootstrap_legacy::LegacyCosmosBootstrap;
use hermes_cosmos_integration_tests::init::init_test_runtime;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_error::types::Error;
use hermes_ibc_test_suite::tests::transfer::TestIbcTransfer;
use hermes_test_components::setup::traits::run_test::CanRunTest;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/application/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::path::{Path, PathBuf};
use hermes_cli_framework::application::Application;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_runtime::types::runtime::HermesRuntime;

use crate::commands::HermesCommand;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/channel/create.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_chain_components::types::channel::CosmosInitChannelOptions;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_relayer_components::build::traits::components::relay_builder::CanBuildRelay;
use hermes_relayer_components::build::traits::target::relay::RelayAToBTarget;
use hermes_relayer_components::relay::impls::channel::bootstrap::CanBootstrapChannel;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/channel/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ pub mod create;
pub use create::ChannelCreate;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/clear/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
mod packets;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
pub use packets::PacketsClear;

use crate::Result;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/clear/packets.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use futures::stream::{self, StreamExt};
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_relayer_components::build::traits::components::birelay_builder::CanBuildBiRelay;
use hermes_relayer_components::relay::traits::packet_clearer::CanClearPackets;
use ibc_relayer_types::core::ics24_host::identifier::{ChainId, ChannelId, ClientId, PortId};
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/client/create.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_cosmos_relayer::contexts::relay::CosmosRelay;
use hermes_relayer_components::relay::traits::client_creator::CanCreateClient;
use hermes_relayer_components::relay::traits::target::DestinationTarget;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/client/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/client/update.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_cosmos_relayer::contexts::chain::CosmosChain;
use hermes_error::traits::wrap::ErrorWrapper;
use hermes_relayer_components::build::traits::components::relay_builder::CanBuildRelay;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/connection/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::time::Duration;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_chain_components::types::connection::CosmosInitConnectionOptions;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_relayer_components::build::traits::components::relay_builder::CanBuildRelay;
use hermes_relayer_components::build::traits::target::relay::RelayAToBTarget;
use hermes_relayer_components::relay::impls::connection::bootstrap::CanBootstrapConnection;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/connection/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ mod create;
pub use create::ConnectionCreate;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/keys/add.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use std::str::FromStr;
use hdpath::StandardHDPath;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::config::ChainConfig;
use ibc_relayer::keyring::{
AnySigningKeyPair, KeyRing, Secp256k1KeyPair, SigningKeyPair, SigningKeyPairSized, Store,
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/keys/balance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use core::fmt::Write;

use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::{json, Output};
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::config::ChainConfig;
use ibc_relayer_types::core::ics24_host::identifier::ChainId;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/keys/delete.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::config::{ChainConfig, Config};
use ibc_relayer::keyring::{KeyRing, Store};
use ibc_relayer_types::core::ics24_host::identifier::ChainId;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/keys/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::collections::BTreeMap;

use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::{json, Output};
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::config::{ChainConfig, Config};
use ibc_relayer_types::core::ics24_host::identifier::ChainId;
use oneline_eyre::eyre::eyre;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/keys/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ mod balance;
pub use balance::KeysBalanceCmd;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/channel/client.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_chain_components::traits::chain_handle::HasBlockingChainHandle;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::QueryChannelClientStateRequest;
use ibc_relayer_types::core::ics24_host::identifier::{ChainId, ChannelId, PortId};
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/channel/end.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_chain_components::traits::chain_handle::HasBlockingChainHandle;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeight};
use ibc_relayer_types::core::ics04_channel::channel::State;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/channel/ends.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_chain_components::traits::chain_handle::HasBlockingChainHandle;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{
IncludeProof, QueryChannelRequest, QueryClientStateRequest, QueryConnectionRequest, QueryHeight,
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/channel/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pub use end::QueryChannelEnd;
pub use ends::QueryChannelEnds;
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;

use crate::Result;

Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/channels.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::{json, Output};
use hermes_cosmos_chain_components::traits::chain_handle::HasBlockingChainHandle;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_error::traits::wrap::ErrorWrapper;
use hermes_relayer_components::chain::traits::queries::chain_status::CanQueryChainHeight;
use ibc_relayer::chain::handle::ChainHandle;
Expand Down
2 changes: 1 addition & 1 deletion crates/cli/cli/src/commands/query/client/consensus.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hermes_cli_framework::command::CommandRunner;
use hermes_cli_framework::output::Output;
use hermes_cosmos_relayer::contexts::builder::CosmosBuilder;
use hermes_cosmos_relayer::contexts::build::CosmosBuilder;
use hermes_cosmos_relayer::contexts::chain::CosmosChain;
use hermes_error::traits::wrap::ErrorWrapper;
use hermes_relayer_components::chain::traits::queries::client_state::CanQueryClientStateWithLatestHeight;
Expand Down
Loading
Loading