pub trait ChainFeeMethodsExt<Chain> {
    // Required methods
    fn ibc_token_transfer_with_fee<Counterparty>(
        &self,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        sender: &MonoTagged<Chain, &Wallet>,
        recipient: &MonoTagged<Counterparty, &WalletAddress>,
        send_amount: &TaggedTokenRef<'_, Chain>,
        receive_fee: &TaggedTokenRef<'_, Chain>,
        ack_fee: &TaggedTokenRef<'_, Chain>,
        timeout_fee: &TaggedTokenRef<'_, Chain>,
        timeout: Duration
    ) -> Result<Vec<IbcEventWithHeight>, Error>;
    fn pay_packet_fee<Counterparty>(
        &self,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        sequence: &DualTagged<Chain, Counterparty, Sequence>,
        payer: &MonoTagged<Chain, &Wallet>,
        receive_fee: &TaggedTokenRef<'_, Chain>,
        ack_fee: &TaggedTokenRef<'_, Chain>,
        timeout_fee: &TaggedTokenRef<'_, Chain>
    ) -> Result<Vec<IbcEventWithHeight>, Error>;
    fn register_counterparty_payee<Counterparty>(
        &self,
        wallet: &MonoTagged<Chain, &Wallet>,
        counterparty_payee: &MonoTagged<Counterparty, &WalletAddress>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>
    ) -> Result<(), Error>;
    fn register_payee<Counterparty>(
        &self,
        wallet: &MonoTagged<Chain, &Wallet>,
        payee: &MonoTagged<Chain, &WalletAddress>,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>
    ) -> Result<(), Error>;
    fn query_counterparty_payee<Counterparty>(
        &self,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        address: &MonoTagged<Chain, &WalletAddress>
    ) -> Result<Option<MonoTagged<Counterparty, WalletAddress>>, Error>;
    fn query_incentivized_packets<Counterparty>(
        &self,
        channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>,
        port_id: &TaggedPortIdRef<'_, Chain, Counterparty>
    ) -> Result<Vec<IdentifiedPacketFees>, Error>;
}

Required Methods§

source

fn ibc_token_transfer_with_fee<Counterparty>( &self, port_id: &TaggedPortIdRef<'_, Chain, Counterparty>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, sender: &MonoTagged<Chain, &Wallet>, recipient: &MonoTagged<Counterparty, &WalletAddress>, send_amount: &TaggedTokenRef<'_, Chain>, receive_fee: &TaggedTokenRef<'_, Chain>, ack_fee: &TaggedTokenRef<'_, Chain>, timeout_fee: &TaggedTokenRef<'_, Chain>, timeout: Duration ) -> Result<Vec<IbcEventWithHeight>, Error>

source

fn pay_packet_fee<Counterparty>( &self, port_id: &TaggedPortIdRef<'_, Chain, Counterparty>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, sequence: &DualTagged<Chain, Counterparty, Sequence>, payer: &MonoTagged<Chain, &Wallet>, receive_fee: &TaggedTokenRef<'_, Chain>, ack_fee: &TaggedTokenRef<'_, Chain>, timeout_fee: &TaggedTokenRef<'_, Chain> ) -> Result<Vec<IbcEventWithHeight>, Error>

source

fn register_counterparty_payee<Counterparty>( &self, wallet: &MonoTagged<Chain, &Wallet>, counterparty_payee: &MonoTagged<Counterparty, &WalletAddress>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, port_id: &TaggedPortIdRef<'_, Chain, Counterparty> ) -> Result<(), Error>

source

fn register_payee<Counterparty>( &self, wallet: &MonoTagged<Chain, &Wallet>, payee: &MonoTagged<Chain, &WalletAddress>, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, port_id: &TaggedPortIdRef<'_, Chain, Counterparty> ) -> Result<(), Error>

source

fn query_counterparty_payee<Counterparty>( &self, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, address: &MonoTagged<Chain, &WalletAddress> ) -> Result<Option<MonoTagged<Counterparty, WalletAddress>>, Error>

source

fn query_incentivized_packets<Counterparty>( &self, channel_id: &TaggedChannelIdRef<'_, Chain, Counterparty>, port_id: &TaggedPortIdRef<'_, Chain, Counterparty> ) -> Result<Vec<IdentifiedPacketFees>, Error>

Object Safety§

This trait is not object safe.

Implementors§

source§

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