Sentre
Search
K

Asymmetric Deposit

Deposit Liquidity even with one-sided token pooling.
The Symmetric Deposit problem is that LPs must deposit the tokens in a pool with a predefined proportion. To remove extra actions, the algorithm in the AMM will automatically simulate the swap on the current pool to balance the amount for LPs. Then, the subsequent procedures like depositing and returning LP tokens are automated too. Because the process is just to simulate a single-sided deposit, we call it Simulated Single Exposure.
Instead of preparing at least two types of token, users can now deposit even with only one type of token.
Proposition 2. Without loss of generality, giving a pool of
AA
,
BB
, and
SENSEN
with the current state {
RA,RB,RSENR_A,R_B,R_{SEN}
}, an LP deposits
ΔSEN\Delta_{SEN}
to the pool and receives an amount of LP tokens
lptlpt
,
(16)
lpt=ΔSEN(δA+δB)lpt=\Delta_{SEN}-(\delta_A+\delta_B)
,
where
δA+δB=RSEN(RSEN+ΔSEN)23RSEN\delta_A+\delta_B=\sqrt[3]{R_{SEN}(R_{SEN}+\Delta_{SEN})^2}-R_{SEN}
.
Proof. Let
ΔSEN=δA+δB+δSEN\Delta_{SEN}=\delta_A+ \delta_B+\delta_{SEN}
, where the left term is the set of amounts of
SENSEN
token to swap for {
rA,rB,rSENr_A,r_B,r_{SEN}
} in the simulation. The simulation is depicted by the following table (we use blackboard characters for state owners):
Here we don’t need to swap SEN, thus
rSEN=δSENr_{SEN}=\delta_{SEN}
. By the CPF (see Eq. (33)), we also know:
(17)
RA=RARSENRSEN+δAR_A'=\frac{R_AR_{SEN}}{R_{SEN}+\delta_A}
,
(18)
RB=RA(RSEN+δA)RSEN+δA+δBR'_B=\frac{R_A(R_{SEN}+\delta_A)}{R_{SEN}+\delta_A+\delta_B}
,
And:
(19)
rA=RARA=RAδARSEN+δAr_A=R_A-R'_A=\frac{R_A\delta_A}{R_{SEN}+\delta_A}
,
(20)
rB=RBRB=RBδBRSEN+δA+δBr_B=R_B-R'_B=\frac{R_B\delta_B}{R_{SEN}+\delta_A+\delta_B}
​.
To satisfy the symmetric deposit, we have a system of equations:
(21)
rARA=rBRB=rSENRSEN+δA+δB\frac{r_A}{R'_A}=\frac{r_B}{R'_B}=\frac{r_{SEN}}{R_{SEN}+\delta_A+\delta_B}
​.
Or,
(22)
δARSEN=δBRSEN+δA=δSENRSEN+δA+δB\frac{\delta_A}{R_{SEN}}=\frac{\delta_B}{R_{SEN}+\delta_A}=\frac{\delta_{SEN}}{R_{SEN}+\delta_A+\delta_B}
​.
By transforming the system of equations, we know that:
(23)
δA+δB=RSEN(RSEN+ΔSEN)23RSEN\delta_A+\delta_B=\sqrt[3]{R_{SEN}(R_{SEN}+\Delta_{SEN})^2}-R_{SEN}
.
Therefore,
lpt=δSEN=ΔSEN(δA+δB).lpt=\delta_{SEN}=\Delta_{SEN}-(\delta_A+\delta_B).