File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -154,13 +154,16 @@ impl IbcTimeoutCallbackMsg {
154
154
/// A prominent example is the [`crate::IbcMsg::Transfer`] message. Without callbacks, you cannot know
155
155
/// that someone sent you IBC coins.
156
156
///
157
+ /// It is important to validate that the packet and acknowledgement are what you expect them to be.
158
+ /// For example for a transfer message, the receiver is not necessarily the contract itself.
159
+ ///
157
160
/// The callback is called after the packet was acknowledged on the destination chain, as follows:
158
161
/// - If the acknowledgement is synchronous (i.e. returned immediately when the packet is received),
159
162
/// the callback is called only if the acknowledgement was successful.
160
163
/// - If the acknowledgement is asynchronous (i.e. written later using `WriteAcknowledgement`),
161
164
/// the callback is called regardless of the success of the acknowledgement.
162
165
///
163
- /// Note that there are some prerequisites that need to be fulfilled to receive source callbacks:
166
+ /// Note that there are some prerequisites that need to be fulfilled to receive destination callbacks:
164
167
/// - The contract must implement the `ibc_destination_callback` entrypoint.
165
168
/// - The IBC application in the destination chain must have support for the callbacks middleware.
166
169
/// - You have to add serialized [`IbcCallbackRequest`] to a specific field of the message.
You can’t perform that action at this time.
0 commit comments