Learn how to perform this or that action with dex contracts
pool_creator
or liquidity_depository
contract address. It is the last contract in the transaction execution chain.custom_payload
upon the successful or failed execution of
operations on the DEX.
They can be used during pool creation, liquidity provisioning or withdrawal, as well as performing swaps. In all these
cases, the approach to using notifications is the same: they are optional, and you can specify a notification for only
the success case, only the failure case, or define separate notifications for each outcome. Each notification can carry
a unique custom_payload
and have a distinct recipient.
Notifications are passed as an additional parameter when constructing a transaction to be sent by the user. However,
depending on the operation, there are some differences in how they are ultimately processed. More on that below.
Keep in mind that depending on the situation, a notification may be sent either as an internal message with its own
opcode, or as a forward_payload
within a jetton_transfer
. In both cases, the user-defined custom_payload
is not
sent directly: instead, it is encapsulated within a separate entity.
In other words, the recipient must either be capable of handling notification’s opcode, or a proxy contract must be used
to unwrap the encapsulated message and forward it further.
The fwd_gas
for notification must be explicitly specified in cases where the notification recipient differs from the
funds recipient, or when the notification is sent as a forward_payload
within a jetton_transfer
.
forward_payload
inside the jetton_transfer
that sends the LP tokens.custom_payload
- will be sent a forward_payload
within the jetton_transfer
.