Enum cosmwasm_std::IbcMsg [−][src]
#[non_exhaustive] pub enum IbcMsg { Transfer { channel_id: String, to_address: String, amount: Coin, timeout: IbcTimeout, }, SendPacket { channel_id: String, data: Binary, timeout: IbcTimeout, }, CloseChannel { channel_id: String, }, }
Expand description
These are messages in the IBC lifecycle. Only usable by IBC-enabled contracts (contracts that directly speak the IBC protocol via 6 entry points)
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Sends bank tokens owned by the contract to the given address on another chain. The channel must already be established between the ibctransfer module on this chain and a matching module on the remote chain. We cannot select the port_id, this is whatever the local chain has bound the ibctransfer module to.
Fields of Transfer
channel_id: String
exisiting channel to send the tokens over
to_address: String
address on the remote chain to receive these tokens
amount: Coin
packet data only supports one coin https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/proto/ibc/applications/transfer/v1/transfer.proto#L11-L20
timeout: IbcTimeout
when packet times out, measured on remote chain
Sends an IBC packet with given data over the existing channel. Data should be encoded in a format defined by the channel version, and the module on the other side should know how to parse this.
Fields of SendPacket
This will close an existing channel that is owned by this contract. Port is auto-assigned to the contract’s IBC port
Fields of CloseChannel
channel_id: String
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for IbcMsg
impl UnwindSafe for IbcMsg
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self