Trait ibc_test_framework::chain::ext::transfer::ChainTransferMethodsExt
source · 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§
sourcefn 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<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
onChain
that corresponds to a channel connected toCounterparty
. -
A
ChannelId
onChain
that corresponds to a channel connected toCounterparty
. -
The
Wallet
of the sender onChain
. -
The
WalletAddress
address of the recipient onCounterparty
. -
The denomination of the amount on
Chain
. -
The transfer amount.
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>
Object Safety§
This trait is not object safe.