create_vault#21cfe02b query_id:uint64 asset:Asset = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
asset | Asset | yes | The asset for which a Vault will be created. |
create_volatile_pool#97d51f2f query_id:uint64 asset0:Asset asset1:Asset = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
asset0 | Asset | yes | The asset for which a Pool will be created. |
asset1 | Asset | yes | The asset for which a Poo will be created. |
📘
Assets can be reordered.
Assets can be switched (asset0
becomes asset1
and vice versa).
This ensures a consistent address for a Pool regardless of asset order (e.g. A / B or B / A).
native$0000 = Asset;
jetton$0001 workchain_id:int8 address:uint256 = Asset;
extra_currency$0010 currency_id:int32 = Asset;
timestamp#_ _:uint32 = Timestamp;
given_in$0 = SwapKind;
given_out$1 = SwapKind; // Not implemented.
Set of parameters relevant for the entire swap.
swap_params#_ deadline:Timestamp recipient_addr:MsgAddressInt referral_addr:MsgAddress
fulfill_payload:(Maybe ^Cell) reject_payload:(Maybe ^Cell) = SwapParams;
Name | Type | Required | Description |
---|
deadline | Timestamp | no | Specifies a deadline for the swap. If the swap reaches the Pool after this time, it will be rejected. Default: 0 (disabled). |
recipient_addr | MsgAddress | no | Specifies an address where funds will be sent after the swap. Default: sender's address. |
referral_addr | MsgAddress | no | Referral address. Required for the Referral Program. |
fulfill_payload | Maybe ^Cell | no | Custom payload that will be attached to the fund transfer upon a successful swap. |
reject_payload | Maybe ^Cell | no | Custom payload that will be attached to the fund transfer upon a rejected swap. |
Set of parameters relevant for the specific step.
step#_ pool_addr:MsgAddressInt params:SwapStepParams = SwapStep;
Name | Type | Required | Description |
---|
pool_addr | MsgAddressInt | yes | The pool is responsible for swapping assets at this step. |
params | SwapStepParams | yes | Set of extra parameters relevant for a specific step. |
Set of extra parameters relevant for a specific step.
step_params#_ kind:SwapKind limit:Coins next:(Maybe ^SwapStep) = SwapStepParams;
Name | Type | Required | Description |
---|
kind | SwapKind | no | Note: Only given_in option is implemented. |
limit | Coins | no | Minimum output of the swap. If the actual value is less than specified, the swap will be rejected. |
next | Maybe ^SwapStep | no | Reference to the next step. Can be used for multi-hop swaps. |
volatile$0 = PoolType;
stable$1 = PoolType;
pool_params#_ pool_type:PoolType asset0:Asset asset1:Asset = PoolParams;
swap#ea06185d query_id:uint64 amount:Coins _:SwapStep swap_params:^SwapParams = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
amount | Coins | yes | TON amount for the swap |
swap_params | ^SwapParams | yes | Set of parameters relevant for the entire swap |
deposit_liquidity#d55e4686 query_id:uint64 amount:Coins pool_params:PoolParams
min_lp_amount:Coins
asset0_target_balance:Coins asset1_target_balance:Coins
fulfill_payload:(Maybe ^Cell)
reject_payload:(Maybe ^Cell) = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
amount | Coins | yes | |
pool_params | PoolParams | yes | |
min_lp_amount | Coins | no | |
asset0_target_balance | Coins | yes | |
asset1_target_balance | Coins | yes | |
fulfill_payload | Maybe ^Cell | no | |
reject_payload | Maybe ^Cell | no | |
payout#474f86cf query_id:uint64 payload:(Maybe ^Cell) = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
payload | Maybe ^Cell | no | |
swap#e3a0d482 _:SwapStep swap_params:^SwapParams = ForwardPayload;
Name | Type | Required | Description |
---|
swap_params | ^SwapParams | yes | |
deposit_liquidity#40e108d6 pool_params:PoolParams min_lp_amount:Coins
asset0_target_balance:Coins asset1_target_balance:Coins
fulfill_payload:(Maybe ^Cell)
reject_payload:(Maybe ^Cell) = ForwardPayload;
Name | Type | Required | Description |
---|
pool_params | PoolParams | yes | |
min_lp_amount | Coins | no | |
asset0_target_balance | Coins | yes | |
asset1_target_balance | Coins | yes | |
fulfill_payload | Maybe ^Cell | no | |
reject_payload | Maybe ^Cell | no | |
To simplify the process of indexing, DeDust Procotol uses mechanism of events.
For that purpose we use "external messages" proposed by TON Blockchain.
swap#9c610de3 asset_in:Asset asset_out:Asset amount_in:Coins amount_out:Coins
^[ sender_addr:MsgAddressInt referral_addr:MsgAddress
reserve0:Coins reserve1:Coins ] = ExtOutMsgBody;
Name | Type | Required | Description |
---|
asset_in | Asset | yes | The asset provided by the user. |
asset_out | Asset | yes | The asset received by the user. |
amount_out | Coins | yes | Amount of asset_out received by the user. |
amount_in | Coins | yes | Amount of asset_in supplied by the user. |
sender_addr | MsgAddressInt | yes | Address of the contract that initiated the swap. |
referral_addr | MsgAddress | no | Referral address. Required for the Referral Program. |
reserve0 | Coins | yes | Amount of asset0 remaining in reserve after the swap. |
reserve1 | Coins | yes | Amount of asset1 remaining in reserve after the swap. |
deposit#b544f4a4 sender_addr:MsgAddressInt amount0:Coins amount1:Coins
reserve0:Coins reserve1:Coins liquidity:Coins = ExtOutMsgBody;
Name | Type | Required | Description |
---|
sender_addr | MsgAddressInt | yes | Address of the contract that initiated the deposit. |
amount0 | Coins | yes | Amount of asset0 provided by the sender. |
amount1 | Coins | yes | Amount of asset1 provided by the sender. |
reserve0 | Coins | yes | Amount of asset0 remaining in reserve after the withdrawal. |
reserve1 | Coins | yes | Amount of asset1 remaining in reserve after the withdrawal. |
liquidity | Coins | yes | Amount of LP tokens issued for the sender. |
withdrawal#3aa870a6 sender_addr:MsgAddressInt liquidity:Coins
amount0:Coins amount1:Coins
reserve0:Coins reserve1:Coins = ExtOutMsgBody;
Name | Type | Required | Description |
---|
sender_addr | MsgAddressInt | yes | Address of the contract that initiated the withdrawal. |
liquidity | Coins | yes | Amount of LP tokens burned by the sender. |
amount0 | Coins | yes | Amount of asset0 sent to the sender. |
amount1 | Coins | yes | Amount of asset1 sent to the sender. |
reserve0 | Coins | yes | Amount of asset0 remaining in reserve after the withdrawal. |
reserve1 | Coins | yes | Amount of asset1 remaining in reserve after the withdrawal. |
cancel_deposit#166cedee query_id:uint64 payload:(Maybe ^Cell) = InMsgBody;
Name | Type | Required | Description |
---|
query_id | uint64 | no | Query ID |
payload | Maybe ^Cell | no | Custom payload that will be attached to the funds transfer to the user. |