pub trait ChainTransferMethodsExt<Chain> {
    // Required methods
    fn ibc_transfer_token<Counterparty>(
        &self,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Counterparty, &WalletAddress>,
        token: &TaggedTokenRef<'_, Chain>
    ) -> Result<Packet, Error>;
    fn ibc_transfer_token_with_memo_and_timeout<Counterparty>(
        &self,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Counterparty, &WalletAddress>,
        token: &TaggedTokenRef<'_, Chain>,
        memo: Option<String>,
        timeout: Option<Duration>
    ) -> Result<Packet, Error>;
    fn ibc_transfer_token_multiple<Counterparty>(
        &self,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Counterparty, &WalletAddress>,
        token: &TaggedTokenRef<'_, Chain>,
        num_msgs: usize,
        memo: Option<String>
    ) -> Result<(), Error>;
    fn local_transfer_token(
        &self,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Chain, &WalletAddress>,
        token: &TaggedTokenRef<'_, Chain>
    ) -> Result<(), Error>;
    fn transfer_from_chain<Counterparty>(
        &self,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Counterparty, &WalletAddress>,
        port: &PortId,
        channel: &ChannelId,
        token: &TaggedTokenRef<'_, Chain>,
        fees: &TaggedTokenRef<'_, Chain>,
        timeout_height: &Height
    ) -> Result<(), Error>;
}

Required Methods§

source

fn ibc_transfer_token<Counterparty>( &self, port_id: &TaggedPortIdRef<'_, Chain, Counterparty>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Counterparty, &WalletAddress>, token: &TaggedTokenRef<'_, Chain> ) -> Result<Packet, Error>

Submits an IBC token transfer transaction to Chain to any other Counterparty chain.

The following parameters are accepted:

  • A PortId on Chain that corresponds to a channel connected to Counterparty.

  • A ChannelId on Chain that corresponds to a channel connected to Counterparty.

  • The Wallet of the sender on Chain.

  • The WalletAddress address of the recipient on Counterparty.

  • The denomination of the amount on Chain.

  • The transfer amount.

source

fn ibc_transfer_token_with_memo_and_timeout<Counterparty>( &self, port_id: &TaggedPortIdRef<'_, Chain, Counterparty>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Counterparty, &WalletAddress>, token: &TaggedTokenRef<'_, Chain>, memo: Option<String>, timeout: Option<Duration> ) -> Result<Packet, Error>

source

fn ibc_transfer_token_multiple<Counterparty>( &self, port_id: &TaggedPortIdRef<'_, Chain, Counterparty>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Counterparty, &WalletAddress>, token: &TaggedTokenRef<'_, Chain>, num_msgs: usize, memo: Option<String> ) -> Result<(), Error>

source

fn local_transfer_token( &self, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Chain, &WalletAddress>, token: &TaggedTokenRef<'_, Chain> ) -> Result<(), Error>

source

fn transfer_from_chain<Counterparty>( &self, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Counterparty, &WalletAddress>, port: &PortId, channel: &ChannelId, token: &TaggedTokenRef<'_, Chain>, fees: &TaggedTokenRef<'_, Chain>, timeout_height: &Height ) -> Result<(), Error>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, Chain: Send> ChainTransferMethodsExt<Chain> for MonoTagged<Chain, &'a ChainDriver>