Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Why are transfers to an inactive address occasionally recalled in TON-related transactions?

Could anyone please explain why transfers to an Inactive address are occasionally recalled in TON-related transactions?

This question was imported from Telegram Chat: https://t.me/tondev_eng/2790

Votes Newest


When transferring funds to an uninitialized or Inactive address in a TON-related transaction, there is a possibility that the transfer may be called back.

This occurs when the receiving account is inactive, and the **"bounce-flag" **has not been cleared. To prevent the transfer from being called back, it is necessary to clear the bounce-flag before sending the funds. This can be done by sending a message to the uninitialized account with a special flag set to clear the bounce-flag. By doing so, the funds will be successfully transferred without being recalled.

Here is an example for the bounced-flag implementation in Tact language:

    bounced(msg: Slice) {
        msg.skipBits(32); // 0xFFFFFFFF  // Parse bounced message
        let op: Int = msg.loadUint(32);
        let queryId: Int = msg.loadUint(64);
        let jettonAmount: Int = msg.loadCoins();
        require(op == 0x178d4519 || op == 0x7bdd97de, "Invalid bounced message");
        self.balance = self.balance + jettonAmount; // Update balance
Posted 11 months ago
1 Answer
11 months ago
10 months ago