untrn
) become prefixed with path information: {destPort}/{destChannel}/{denom}
untrn
on Neutron is sent to Cosmos Hub via channel-1transfer/channel-X/untrn
untrn
HasContractInfo(ctx, senderAddress)
to determine if the sender is a smart contract.
msg.Fee.Validate()
.
FeeKeeper.LockFees()
before sending the packet.
MsgTransferResponse
includes:
sequence_id
: The IBC packet sequence numberchannel
: The source channel IDkeeper.PrepareSudoCallbackMessage()
to create the callback message.
sudoKeeper.Sudo(ctx, senderAddress, msg)
to deliver the callback.
"HandleAcknowledgement: failed to Sudo contract on packet acknowledgement"
Validate(isContract bool)
method).
FeeKeeper.LockFees()
.
DistributeAcknowledgementFee()
for successful packetsDistributeTimeoutFee()
for timed-out packetsOnAcknowledgementPacket()
: Adds callback processing after standard handlingOnTimeoutPacket()
: Adds callback processing after standard handlingTransfer()
: Adds contract detection, fee locking, and enhanced responsePrepareSudoCallbackMessage()
implementation. Contracts should refer to the Contract Manager module documentation for callback message specifications.