Trait CommandRunner

Source
pub trait CommandRunner<App, Args>
where Args: Async, App: HasOutputType + HasErrorType,
{ // Required method fn run_command( app: &App, args: &Args, ) -> impl Future<Output = Result<App::Output, App::Error>> + Send; }

Required Methods§

Source

fn run_command( app: &App, args: &Args, ) -> impl Future<Output = Result<App::Output, App::Error>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<App> CommandRunner<App, QueryClientSubCommand> for RunQueryClientSubCommand

Source§

impl<App, Args, Bootstrap, ChainDriver, Chain, Runtime> CommandRunner<App, Args> for RunBootstrapChainCommand
where App: HasLogger + CanProduceOutput<()> + CanLoadBootstrap<Args, Bootstrap = Bootstrap> + HasConfigPath + CanLoadConfig + CanWriteConfig + CanRaiseError<Bootstrap::Error> + CanRaiseError<Runtime::Error> + CanRaiseError<ChainDriver::Error> + CanWrapError<&'static str>, Bootstrap: CanBootstrapChain<ChainDriver = ChainDriver>, ChainDriver: HasChain<Chain = Chain> + HasRuntime<Runtime = Runtime> + CanTakeChainProcess + CanUpdateConfig<App::Config>, Chain: HasChainId, Runtime: CanWaitChildProcess + HasFilePathType<FilePath = PathBuf>, Args: Async + HasField<(Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Field = String>, App::Logger: CanLog<LevelInfo>,

Source§

impl<App, Args, Build, BiRelay, ChainA, ChainB> CommandRunner<App, Args> for RunStartRelayerCommand
where App: CanLoadBuilder<Builder = Build> + HasLogger + CanProduceOutput<&'static str> + CanParseArg<Args, (Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>, Char<'_'>, Char<'a'>), Parsed = ChainA::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'l'>, Char<'i'>, Char<'e'>, Char<'n'>, Char<'t'>, Char<'_'>, Char<'i'>, Char<'d'>, Char<'_'>, Char<'a'>), Parsed = ChainA::ClientId> + CanParseArg<Args, (Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>, Char<'_'>, Char<'b'>), Parsed = ChainB::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'l'>, Char<'i'>, Char<'e'>, Char<'n'>, Char<'t'>, Char<'_'>, Char<'i'>, Char<'d'>, Char<'_'>, Char<'b'>), Parsed = ChainB::ClientId> + CanRaiseError<Build::Error> + CanRaiseError<BiRelay::Error> + CanWrapError<&'static str>, Args: Async, App::Logger: CanLog<LevelInfo>, Build: CanBuildBiRelay<0, 1, BiRelay = BiRelay> + HasChainTypeAt<0, Chain = ChainA> + HasChainTypeAt<1, Chain = ChainB>, BiRelay: CanRun, ChainA: HasIbcChainTypes<ChainB>, ChainB: HasIbcChainTypes<ChainA>,

Source§

impl<App, Args, Build, Chain, Counterparty> CommandRunner<App, Args> for RunQueryClientStateCommand
where App: HasBuilderType<Builder = Build> + CanLoadBuilder + HasLogger + HasAnyCounterparty<AnyCounterparty = Counterparty> + CanProduceOutput<Counterparty::ClientState> + CanParseArg<Args, (Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'l'>, Char<'i'>, Char<'e'>, Char<'n'>, Char<'t'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ClientId> + CanParseArg<Args, (Char<'h'>, Char<'e'>, Char<'i'>, Char<'g'>, Char<'h'>, Char<'t'>), Parsed = Option<Chain::Height>> + CanRaiseError<Build::Error> + CanRaiseError<Chain::Error>, Args: Async, Build: CanBuildChain<0, Chain = Chain>, Chain: HasChainIdType + CanQueryChainHeight + CanQueryClientState<Counterparty>, Counterparty: HasClientStateType<Chain>, App::Logger: CanLog<LevelInfo>,

Source§

impl<App, Args, Build, Chain, Counterparty> CommandRunner<App, Args> for RunQueryClientStatusCommand
where App: CanLoadBuilder<Builder = Build> + CanProduceOutput<ClientStatus> + HasLogger + CanParseArg<Args, (Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'l'>, Char<'i'>, Char<'e'>, Char<'n'>, Char<'t'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ClientId> + CanRaiseError<Build::Error> + CanRaiseError<Chain::Error>, Build: CanBuildChain<0, Chain = Chain> + HasChainTypeAt<1, Chain = Counterparty>, Chain: HasIbcChainTypes<Counterparty> + CanQueryClientStatus<Counterparty>, Counterparty: HasIbcChainTypes<Chain> + HasClientStateType<Chain> + HasClientStateFields<Chain> + HasConsensusStateType<Chain> + HasConsensusStateFields<Chain>, App::Logger: CanLog<LevelInfo>, Args: Async,

Source§

impl<App, Args, Build, Chain, Counterparty> CommandRunner<App, Args> for RunQueryConsensusStateCommand
where App: CanLoadBuilder<Builder = Build> + CanProduceOutput<Counterparty::ConsensusState> + CanParseArg<Args, (Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'l'>, Char<'i'>, Char<'e'>, Char<'n'>, Char<'t'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ClientId> + CanParseArg<Args, (Char<'q'>, Char<'u'>, Char<'e'>, Char<'r'>, Char<'y'>, Char<'_'>, Char<'h'>, Char<'e'>, Char<'i'>, Char<'g'>, Char<'h'>, Char<'t'>), Parsed = Option<Chain::Height>> + CanParseArg<Args, (Char<'c'>, Char<'o'>, Char<'n'>, Char<'s'>, Char<'e'>, Char<'n'>, Char<'s'>, Char<'u'>, Char<'s'>, Char<'_'>, Char<'h'>, Char<'e'>, Char<'i'>, Char<'g'>, Char<'h'>, Char<'t'>), Parsed = Option<Counterparty::Height>> + CanRaiseError<Build::Error> + CanRaiseError<Chain::Error> + CanRaiseError<String>, Build: CanBuildChain<0, Chain = Chain> + HasChainTypeAt<1, Chain = Counterparty>, Chain: CanQueryChainHeight + CanQueryConsensusState<Counterparty> + CanQueryConsensusStateHeights<Counterparty>, Counterparty: HasHeightType + HasConsensusStateType<Chain>, Args: Async,

Source§

impl<App, Args, Builder, Chain, Counterparty, Relay> CommandRunner<App, Args> for RunCreateClientCommand
where App: CanLoadBuilder<Builder = Builder> + CanProduceOutput<Chain::ClientId> + HasLogger + CanParseCreateClientOptions<Args, 0, 1> + CanParseArg<Args, (Char<'t'>, Char<'a'>, Char<'r'>, Char<'g'>, Char<'e'>, Char<'t'>, Char<'_'>, Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Chain::ChainId> + CanParseArg<Args, (Char<'c'>, Char<'o'>, Char<'u'>, Char<'n'>, Char<'t'>, Char<'e'>, Char<'r'>, Char<'p'>, Char<'a'>, Char<'r'>, Char<'t'>, Char<'y'>, Char<'_'>, Char<'c'>, Char<'h'>, Char<'a'>, Char<'i'>, Char<'n'>, Char<'_'>, Char<'i'>, Char<'d'>), Parsed = Counterparty::ChainId> + CanRaiseError<Relay::Error> + CanRaiseError<Builder::Error> + CanWrapError<String>, Builder: CanBuildChain<0, Chain = Chain> + CanBuildChain<1, Chain = Counterparty> + CanBuildRelay<0, 1, Relay = Relay>, Chain: HasIbcChainTypes<Counterparty> + HasCreateClientMessageOptionsType<Counterparty> + HasErrorType, Counterparty: HasChainIdType + HasCreateClientPayloadOptionsType<Chain> + HasErrorType, Relay: HasRelayChains<SrcChain = Chain, DstChain = Counterparty> + CanCreateClient<SourceTarget>, Args: Async, Chain::CreateClientMessageOptions: Debug, Counterparty::CreateClientPayloadOptions: Debug, App::Logger: CanLog<LevelInfo>,

Source§

impl<App, Args, Components, Delegate> CommandRunner<App, Args> for DelegateCommandRunner<Components>
where App: HasOutputType + HasErrorType, Components: DelegateComponent<Args, Delegate = Delegate>, Delegate: CommandRunner<App, Args>, Args: Async,

Source§

impl<Component, App, Args> CommandRunner<App, Args> for Component
where Args: Async, App: HasOutputType + HasErrorType, Component: DelegateComponent<CommandRunnerComponent>, Component::Delegate: CommandRunner<App, Args>,