Storage and types overview
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
Field | Type | Description |
---|---|---|
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);
]
Field | Type | Description |
---|---|---|
allowances | set(address) | Set of accounts who can transfer user's LP tokens |
type account_t is [@layout:comb] record [
allowances : set(address);
]
type tokens_t is [@layout:comb] record [
token_a : token_t;
token_b : token_t;
]
Field | Type | Description |
---|---|---|
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);
]
Field | Type | Description |
---|---|---|
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);
]
Field | Type | Description |
---|---|---|
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);
]
Field | Type | Hint | Description |
---|---|---|---|
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 | The % of the rewards that will be transferred to the transaction sender when he calls withdraw_auction_fee entrypoint |
type fees_t is [@layout:comb] record [
interface_fee : nat;
swap_fee : nat;
auction_fee : nat;
withdraw_fee_reward : nat;
]
Field | Type | Description |
---|---|---|
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 | Mapping of FA1.2/FA2 tokens to their fees balances in these tokens that will go to the Auction contract | |
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;
]
type full_storage_t is [@layout:comb] record [
storage : storage_t;
dex_core_lambdas : big_map(nat, bytes);
metadata : big_map(string, bytes);
]
Last modified 8mo ago