Storage and types overview
token_t
type token_id_t is nat
type tez_t is unit
type fa12_token_t is address
type fa2_token_t is [@layout:comb] record [
token : address;
id : nat;
]
type token_t is
| Tez of tez_t
| Fa12 of fa12_token_t
| Fa2 of fa2_token_t
token_metadata_t
token_id
Token's ID
token_info
map(string, bytes)
Mapping of token's keys to token's info
type token_metadata_t is [@layout:comb] record [
token_id : token_id_t;
token_info : map(string, bytes);
]
account_t
allowances
set(address)
Set of accounts who can transfer user's LP tokens
type account_t is [@layout:comb] record [
allowances : set(address);
]
tokens_t
token_a
Token A
token_b
Token B
type tokens_t is [@layout:comb] record [
token_a : token_t;
token_b : token_t;
]
pair_t
token_a_pool
nat
Supply of token A in the pool
token_b_pool
nat
Supply of token B in the pool
token_a_price_cml
nat
Cumulative price of token A
token_b_price_cml
nat
Cumulative price of token B
total_supply
nat
Total supply of LP token
last_block_timestamp
timestamp
Timestamp of the last block that is used for cumulative prices calculation
bucket
option(address)
type pair_t is [@layout:comb] record [
token_a_pool : nat;
token_b_pool : nat;
token_a_price_cml : nat;
token_b_price_cml : nat;
total_supply : nat;
last_block_timestamp : timestamp;
bucket : option(address);
]
permit_info_t
created_at
timestamp
Timestamp of permit creation
expiry
option(seconds_t)
type permit_info_t is [@layout:comb] record [
created_at : timestamp;
expiry : option(seconds_t);
]
user_permit_t
permits
Mapping of permits' hashes (bytes) to their info
expiry
option(seconds_t)
type user_permits_t is [@layout:comb] record [
permits : map(blake2b_hash_t, permit_info_t);
expiry : option(seconds_t);
]
fees_t
interface_fee
nat
Float value multiplied by 1e+18
Fee that goes to referrers or UI/UX providers charged from exchanged amount
swap_fee
nat
Float value multiplied by 1e+18
Fee charged from exchanged amount that goes to the liquidity pool (for liquidity providers)
auction_fee
nat
Float value multiplied by 1e+18
withdraw_fee_reward
nat
Float value multiplied by 1e+18
type fees_t is [@layout:comb] record [
interface_fee : nat;
swap_fee : nat;
auction_fee : nat;
withdraw_fee_reward : nat;
]
storage_t - main contract storage
token_metadata
Mapping of pools' IDs to their metadata
ledger
Mapping of accounts' addresses and pools' IDs to their LP tokens' balances
accounts
Mapping of accounts' addresses and pools' IDs to their accounts
tokens
Mapping of pools' IDs to their tokens
token_to_id
Mapping of tokens (packed to bytes) to their pool IDs
pairs
Mapping of tokens' IDs to information about the pools of these tokens
permits
interface_fee
Mapping of FA1.2/FA2 tokens and referrers or UI/UX providers to their fees balances in these tokens
interface_tez_fee
Mapping of pair IDs and referrers or UI/UX providers to their fees balances in TEZ tokens
auction_fee
auction_tez_fee
managers
set(address)
fees
admin
address
Administrator of the contract
pending_admin
option(address)
Pending administrator that should accept his new administrator role (if he is not None
)
baker_registry
address
flash_swaps_proxy
address
auction
address
permits_counter
counter_t (nat)
Number of permits created in this contract
default_expiry
seconds_t (nat)
entered
bool
Indicator that helps to avoid reentrancy
tokens_count
nat
Number of exchanges (pairs) launched in this contract
collecting_period
nat
type storage_t is [@layout:comb] record [
token_metadata : big_map(token_id_t, token_metadata_t);
ledger : big_map((address * token_id_t), nat);
accounts : big_map((address * token_id_t), account_t);
tokens : big_map(token_id_t, tokens_t);
token_to_id : big_map(bytes, token_id_t);
pairs : big_map(token_id_t, pair_t);
permits : big_map(address, user_permits_t);
interface_fee : big_map((token_t * address), nat);
interface_tez_fee : big_map((token_id_t * address), nat);
auction_fee : big_map(token_t, nat);
auction_tez_fee : big_map(token_id_t, nat);
managers : set(address);
fees : fees_t;
admin : address;
pending_admin : option(address);
baker_registry : address;
flash_swaps_proxy : address;
auction : address;
permits_counter : counter_t;
default_expiry : seconds_t;
entered : bool;
tokens_count : nat;
collecting_period : nat;
]
full_storage_t - storage root
storage
Actual storage of the contract
dex_core_lambdas
big_map(nat, bytes)
Contract's lambda-methods
metadata
big_map(string, bytes)
type full_storage_t is [@layout:comb] record [
storage : storage_t;
dex_core_lambdas : big_map(nat, bytes);
metadata : big_map(string, bytes);
]
Last updated