Quipuswap
Search…
🟠
These contract methods are called only by admin of that contract.
Creation of pool consist of some parameters for seeting up DEX config.

### a_constant

Constant A used for manipulating with swap function. As larger the value of A, as more the function tends to be constant sum invariant. This constant is stored inside the contact as
$A_{storage} = A * n^{n-1}$
where
$2 \le n \le 4$
Understanding StableSwap (Curve)
An explanation of Curve formulas

### input_tokens

This param is a set of FA12/FA2 tokens that would be traded on DEX. Set type in Tezos contract is the sorted list of unique values, so you must keep in mind that for setting up tokens_info and when calling DEX.

### tokens_info

Token Info contains initial data for Token information type - pool underlying token info.

## Token info setting

When you want to initialise pool, you should setup initial reserves, rate and precision_multiplier in correct way:
Let 4 TBC = 2 TXZ = 1 TEH (from example)
Then calculate
$LCM$
of these ratios
$= 4$
Token info for TBC
precision_multiplier -
$10^{decimal_{LP} - decimal_{TBC}}$
rate -
$10^{decimal_{LP}} * 10^{decimal_{LP} - decimal_{TBC}} * (ratio_{TBC}/LCM)$
reserves -
$N * 10^{decimal_{TBC}} * ratio_{TBC}$
Token info for TXZ
precision_multiplier -
$10^{decimal_{LP} - decimal_{TXZ}}$
rate -
$10^{decimal_{LP}} * 10^{decimal_{LP} - decimal_{TXZ}} * (ratio_{TXZ}/LCM)$
reserves -
$N * 10^{decimal_{TXZ}} * ratio_{TXZ}$
Token info for TEH
precision_multiplier -
$10^{decimal_{LP} - decimal_{TEH}}$
rate -
$10^{decimal_{LP}} * 10^{decimal_{LP} - decimal_{TEH}} * (ratio_{TEH}/LCM)$
reserves -
$N * 10^{decimal_{TEH}} * ratio_{TEH}$
$LPT = 10^{decimal_{LP}} * LCM * tokensCount$
LP tokens.
Details of how to calculate values are in this table. (You can copy and play with this sheet)