Account

account

Description

Account contract. This a contract that stores the funds that the user would use for minting. The account also proxies the minting message and collects proof that both jettons were actually funded correctly

Data Storage

Index
Type
Size (b/r)
Cell
Name
Description

1

addr

267 / 0

1

account::user_address

Address of the user ton wallet of the user that owns this two jetton account

2

addr

267 / 0

1

account::pool_address

Address of the pool that created this two jetton account

3

coins

124 / 0

11

account::amount0

Amount of jetton0 (in pool terms) currently stored in the account

4

coins

124 / 0

11

account::amount1

Amount of jetton1 (in pool terms) currently stored in the account

5

coins

124 / 0

11

account::enough0

Amount of jetton0 (in pool terms) that is enough to make a mint operation. When reached for both tokens, mint is triggered

6

coins

124 / 0

11

account::enough1

Amount of jetton1 (in pool terms) that is enough to make a mint operation.

Cells

Name
Size
Free

1

534

489

11

496

527

Interface

get_account_data

(slice, slice, int, int, int, int) get_account_data ()

This function provides current state of the user account

Return Values

#
Type
Description

0

slice

account::user_address Address of the owner of the account

1

slice

account::pool_address Address of the pool that this account is attached to

2

int

account::amount0 Amount of jetton0 that was deposited for mint

3

int

account::amount1 Amount of jetton1 that was deposited for mint

4

int

account::enough0 Amount of jetton0 that is enough to send message to the pool and actually do the mint

5

int

account::enough1 Amount of jetton1 that is enough to send message to the pool and actually do the mint

Messages

ACCOUNTV3_ADD_LIQUIDITY

Opcode : 0x3ebe5431

This operation adds liquidity and a minting request to the account. This contract is used as a barrier to collect together data about the proofs of funding two tokens and the request to mint some liquidity. Common usage is as follows - send one jetton with the mint instructions and the second jetton with the mint instructions. And as soon as they will both arrive AccountV3 would trigger the minting request in the pool. This makes minting independent of the order in which jettons arrive. Account refers to jettons in the pool (account::pool_address) order Access Rights: This operation is allowed for account::pool_address

Path
Mnemonic
Type
Description

op

Uint(32),op

query_id

Uint(64)

queryid as of the TON documentation

new_amount0

Coins(124)

Amount of jetton0 that is funded for the mint

new_amount1

Coins(124)

Amount of jetton1 that is funded for the mint

new_enough0

Coins(124)

Minimum amount of jetton0 totally collected on the account that is required to start the mint

new_enough1

Coins(124)

Minimum amount of jetton1 totally collected on the account that is required to start the mint

liquidity

Uint(128)

Amount of liquidity to mint

tickLower

Int(24)

lower bound of the range in which to mint

tickUpper

Int(24)

upper bound of the range in which to mint

TL-B Description (TBD)

This is a preliminary tl-b - subject to change

Tlb for ACCOUNTV3_ADD_LIQUIDITY
ACCOUNTV3_ADD_LIQUIDITY#3ebe5431 
    query_id:uint64
    new_amount0:(VarUInteger 16)
    new_amount1:(VarUInteger 16)
    new_enough0:(VarUInteger 16)
    new_enough1:(VarUInteger 16)
    liquidity:uint128
    tickLower:int24
    tickUpper:int24
= ContractMessages;

ACCOUNTV3_RESET_GAS

Opcode : 0x42a0fb43

This operation allows user to get back the gas it too much was sent Access Rights: This operation is allowed for account::user_address

Path
Mnemonic
Type
Description

op

Uint(32),op

query_id

Uint(64)

queryid as of the TON documentation

TL-B Description (TBD)

This is a preliminary tl-b - subject to change

Tlb for ACCOUNTV3_RESET_GAS
ACCOUNTV3_RESET_GAS#42a0fb43 
    query_id:uint64
= ContractMessages;

ACCOUNTV3_REFUND_ME

Opcode : 0xbf3f447

This operation allows user to get back the coins if sending of the second coin in the mint failed. This method allows to trigger mint of 0 liquidity that Would allow to return funds. Access Rights: This operation is allowed for account::user_address

Path
Mnemonic
Type
Description

op

Uint(32),op

query_id

Uint(64)

queryid as of the TON documentation

TL-B Description (TBD)

This is a preliminary tl-b - subject to change

Tlb for ACCOUNTV3_REFUND_ME
ACCOUNTV3_REFUND_ME#bf3f447 
    query_id:uint64
= ContractMessages;