Skip to main content

Pool

Stores liquidity assets, handle liquidity manipulations and swaps, supports dynamic fees and farming features.

Interfaces

provide

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320x63ec24ae
query_iduint64query id
receiveraddresslp tokens owner
lock_liquidity?boolif true, permanently locks LP tokens upon provision
reject_payloadmaybe_cellreject payload for liquidity provision. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for liquidity provision. Sender recieves it with notify from lp wallet contract.

provide_single_side

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320x729c04c8
query_iduint64query id
receiveraddresslp tokens owner
lock_liquidity?boolif true, permanently locks LP tokens upon provision
reject_payloadmaybe_cellreject payload for liquidity provision. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for liquidity provision. Sender recieves it with notify from lp wallet contract.

native provide_single_side

PathMnemonicTypeDescription
opuint320x729c04c8
query_iduint64query id
native_amountcoinsamount of nanoton
receiveraddresslp tokens owner
lock_liquidity?boolif true, permanently locks LP tokens upon provision
reject_payloadmaybe_cellreject payload for liquidity provision. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for liquidity provision. Sender recieves it with notify from lp wallet contract.

provide_both

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320xa8904134
query_iduint64query id
native_amountcoinsamount of nanoton for liquidity provision.
receiveraddresslp tokens owner
lock_liquidity?boolif true, permanently locks LP tokens upon provision
reject_payloadmaybe_cellreject payload for liquidity provision. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for liquidity provision. Sender recieves it with notify from lp wallet contract.

burn

PathMnemonicTypeDescription
opuint320xadb8eb49
query_iduint64query id
lp_amountcoinsamount of LP tokens to burn
owner_addressaddressrecipient of withdrawn tokens
is_accountboolwhether recipient is a trade account
additional_datamaybe_celloptional swap origin or instructions
forward_payloadmaybe_celloptional payload forwarded with token refund

claim_fees

PathMnemonicTypeDescription
opuint320x983b6933
query_iduint64query id

deposit_on_account

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320xd8e04bf6
query_iduint64query id
user_addressaddressaddress of trade account contract owner.
public_keyuint256public key of trade account. In most cases should be the public key of owner's wallet.
seedcellRandom data cell. Used for creating trade account in required shard.
forward_payloadmaybe_cellforward payload for deposit. Trade account owner recieves it after deposit.

native deposit_on_account

PathMnemonicTypeDescription
opuint320xd8e04bf6
query_iduint64query id
native_amountcoinsamount of nanoton
user_addressaddressaddress of trade account contract owner.
public_keyuint256public key of trade account. In most cases should be the public key of owner's wallet.
seedcellRandom data cell. Used for creating trade account in required shard.
forward_payloadmaybe_cellforward payload for deposit. Trade account owner recieves it after deposit.

direct_deposit_on_account

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320x4b58a6c7
query_iduint64query id
trade_account_addressaddresstrade account address to deposit in
forward_payloadmaybe_cellforward payload for deposit. Trade account owner recieves it after deposit.

native direct_deposit_on_account

PathMnemonicTypeDescription
opuint320x4b58a6c7
query_iduint64query id
native_amountcoinsamount of nanoton
trade_account_addressaddresstrade account address to deposit in
forward_payloadmaybe_cellforward payload for deposit. Trade account owner recieves it after deposit.

swap

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320xdd79732c
query_iduint64query id
to_addressaddressreciever address
slippagecoinsminimum amount of token out (normal slippage)
from_addressaddressuser address
exact_outcoinsexact out of tokens to recieve from swap. 0 if no exact_out present.
additional_data @ mayberef_addraddressaddress who will receive ref fee
additional_data @ mayberef_feeuint16referral fee rate. Number between 0 and 10000, where 10000 is 100% fee.
reject_payloadmaybe_cellreject payload for swap. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for swap. Sender recieves it with swapped tokens.

native swap

PathMnemonicTypeDescription
opuint320xdd79732c
query_iduint64query id
native_amountcoinsamount of nanoton
to_addressaddressreciever address
slippagecoinsminimum amount of token out (normal slippage)
from_addressaddressuser address
exact_outcoinsexact out of tokens to recieve from swap. 0 if no exact_out present.
additional_data @ mayberef_addraddressaddress who will receive ref fee
additional_data @ mayberef_feeuint16referral fee rate. Number between 0 and 10000, where 10000 is 100% fee.
reject_payloadmaybe_cellreject payload for swap. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for swap. Sender recieves it with swapped tokens.

start_farming

This message should be sent as forward_payload of jetton-transfer.

PathMnemonicTypeDescription
opuint320xbe761948
query_iduint64query id
farming_x_per_secondcoinsreward rate of token x
farming_y_per_secondcoinsreward rate of token y
previous_calluint64timestamp of last farming tick
end_of_farminguint64timestamp when farming ends
farming_per_secondcoinsfarming reward rate per second

native start_farming

PathMnemonicTypeDescription
opuint320xbe761948
query_iduint64query id
native_amountcoinsamount of nanoton
farming_x_per_secondcoinsreward rate of token x
farming_y_per_secondcoinsreward rate of token y
previous_calluint64timestamp of last farming tick
end_of_farminguint64timestamp when farming ends
farming_per_secondcoinsfarming reward rate per second

lp_account_provide

PathMnemonicTypeDescription
opuint320x64db1349
query_iduint64query id
user_addressaddresslp account's owner.
amount_xcoinsamount of first asset to deposit on lp account.
amount_ycoinsamount of second asset to deposit on lp account.
lock_liquidity?boolif true, locks LP tokens upon provision
refund_addraddresswhom refund tokens to
reject_payloadmaybe_cellNone
forward_payloadmaybe_cellNone

lp_account_refund

PathMnemonicTypeDescription
opuint320x10d674d7
query_iduint64query id
amount_xcoinsamount of first asset to withdraw from user's lp account.
amount_ycoinsamount of second asset to withdraw from user's lp account.
user_addressaddressaddress for calculating lp account's address.
forward_payloadmaybe_cellNone

provide_from_account

PathMnemonicTypeDescription
opuint320x4409db64
query_iduint64query id
user_addressaddressaddress of trade account contract owner.
seedcellRandom data cell. Used for creating trade account in required shard.
amount_xcoinsamount of first asset to deposit.
amount_ycoinsamount of second asset to deposit.
lock_liquidity?boolif true, locks LP tokens upon provision
reject_payloadmaybe_cellreject payload for liquidity provision. Sender recieves it with tokens refund.
forward_payloadmaybe_cellforward payload for liquidity provision. Sender recieves it with notify from lp wallet contract.

swap_from_account

PathMnemonicTypeDescription
opuint320xf4a31e27
query_iduint64query id
user_addressaddresstrade account owner's address
seedcellRandom data cell for account identification
amountcoinsamount of native sent
is_xboolindicates asset direction (what starts swap, token X or token Y)
slippagecoinsminimum amount of token out
exact_outcoinsexact out of tokens to recieve from swap. 0 if no exact_out present.
reject_payloadmaybe_cellNone
forward_payloadmaybe_cellNone

withdraw_from_account

PathMnemonicTypeDescription
opuint320x9aa06552
query_iduint64query id
user_addressaddresstrade account owner
seedcellaccount seed
receiver_addressaddressrecipient address
amount_xcoinsfirst token to withdraw
amount_ycoinssecond token to withdraw
forward_payloadmaybe_cellforward payload for withdraw. receiver_address receives it with assets from pool.

lock

PathMnemonicTypeDescription
opuint320x7f656d43
query_iduint64query id

unlock

PathMnemonicTypeDescription
opuint320x7bed2e64
query_iduint64query id

collect_protocol_fees

PathMnemonicTypeDescription
opuint320x144ad586
query_iduint64query id

set_fees

PathMnemonicTypeDescription
opuint320xfa94cd2f
query_iduint64query id

update_trade_account_code

PathMnemonicTypeDescription
opuint320x3967b023
query_iduint64query id

change_farming_duration

PathMnemonicTypeDescription
opuint320xa957dd3d
query_iduint64query id

update_all_codes

PathMnemonicTypeDescription
opuint320xdb55ccd0
query_iduint64query id

Get-methods

get_protocol_fees

Collected protocol fees on pool.

Return

PathMnemonicTypeDescription
collected_token_x_protocol_feenumberNone
collected_token_y_protocol_feenumberNone

get_pool_info

Return

PathMnemonicTypeDescription
token_x_addressaddresstoken x jetton wallet
token_y_addressaddresstoken y jetton wallet
lp_feenumberlp fee in pool

get_lp_account_address

Input

PathMnemonicTypeDescription
user_addressaddressNone

Return

PathMnemonicTypeDescription
lp_account_addressaddressNone

get_wallet_address

Input

PathMnemonicTypeDescription
user_addressaddressNone

Return

PathMnemonicTypeDescription
lp_wallet_addressaddressNone

get_trade_account_address

Input

PathMnemonicTypeDescription
user_addressaddressNone
seedsliceNone

Return

PathMnemonicTypeDescription
trade_account_addressaddressNone

get_pool_tokens

Addresses of pool's jetton wallets.

Return

PathMnemonicTypeDescription
pool_token_x_addressaddresstoken x jetton wallet
pool_token_y_addressaddresstoken y jetton wallet

get_admin_address

Return

PathMnemonicTypeDescription
admin_addressaddressadmin of pool

get_tvl

Return

PathMnemonicTypeDescription
token_x_amountnumberamount of token x in pool
token_y_amountnumberamount of token y in pool

get_liquidity_info

Return

PathMnemonicTypeDescription
liquidity_token1_amountnumberNone
liquidity_token2_amountnumberNone
virtual_x_amountnumberNone
virtual_y_amountnumberNone
total_supply_lpnumbertotal supply of LP tokens
locked_lpnumbersupply of locked LP tokens

get_get_dynamic_fee_by_timestamp

Input

PathMnemonicTypeDescription
timestampnumberNone

Return

PathMnemonicTypeDescription
dynamic_feenumberactualized dynamic fee

get_status

Return

PathMnemonicTypeDescription
statusnumberinit status of pool

get_fees_info

Return

PathMnemonicTypeDescription
dynamic_feenumbercurrent dynamic fee
dynamic_fee_factornumberfactor used for fee calculation
previous_timenumbertimestamp of last fee update
time_filternumberduration window for activity
time_decaynumberdecay rate for fee over time
protocol_fee_reduction_factornumberreduction factor for protocol fee, used in dynamic fee calculation

get_farming_info

Return

PathMnemonicTypeDescription
farming_x_per_secondnumberreward rate of token x
farming_y_per_secondnumberreward rate of token y
previous_callnumbertimestamp of last farming tick
end_of_farmingnumbertimestamp when farming ends

get_expected_swap_result

Input

PathMnemonicTypeDescription
amountnumberNone
token_walletaddressNone
has_refnumberNone

Return

PathMnemonicTypeDescription
outnumberNone
lp_fee_innumberNone
protocol_fee_innumberNone
ref_fee_innumberNone
liquidity_token1_amountnumberNone
liquidity_token2_amountnumberNone

get_collected_fees_info

Return

PathMnemonicTypeDescription
fees_per_lp_xnumberNone
fees_per_lp_ynumberNone

get_storage

Return

PathMnemonicTypeDescription
storagecellfull current storage of the contract.

get_whoami

Return

PathMnemonicTypeDescription
pool_typesliceNone