@metadaoproject/futarchy 0.4.0-alpha.22 → 0.4.0-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/v0.3/AmmClient.d.ts +0 -23
- package/dist/v0.3/AmmClient.js +2 -87
- package/dist/v0.3/AmmClient.js.map +1 -1
- package/dist/v0.3/AutocratClient.js +1 -1
- package/dist/v0.3/AutocratClient.js.map +1 -1
- package/dist/v0.3/utils/ammMath.d.ts +39 -0
- package/dist/v0.3/utils/ammMath.js +142 -0
- package/dist/v0.3/utils/ammMath.js.map +1 -0
- package/dist/v0.3/utils/index.d.ts +1 -1
- package/dist/v0.3/utils/index.js +1 -1
- package/dist/v0.3/utils/index.js.map +1 -1
- package/dist/v0.4/AmmClient.d.ts +0 -37
- package/dist/v0.4/AmmClient.js +2 -134
- package/dist/v0.4/AmmClient.js.map +1 -1
- package/dist/v0.4/utils/priceMath.d.ts +51 -9
- package/dist/v0.4/utils/priceMath.js +92 -35
- package/dist/v0.4/utils/priceMath.js.map +1 -1
- package/package.json +1 -1
- package/dist/v0.3/utils/priceMath.d.ts +0 -12
- package/dist/v0.3/utils/priceMath.js +0 -52
- package/dist/v0.3/utils/priceMath.js.map +0 -1
package/dist/v0.3/AmmClient.d.ts
CHANGED
|
@@ -8,25 +8,6 @@ export type CreateAmmClientParams = {
|
|
|
8
8
|
provider: AnchorProvider;
|
|
9
9
|
ammProgramId?: PublicKey;
|
|
10
10
|
};
|
|
11
|
-
export type AddLiquiditySimulation = {
|
|
12
|
-
baseAmount: BN;
|
|
13
|
-
quoteAmount: BN;
|
|
14
|
-
expectedLpTokens: BN;
|
|
15
|
-
minLpTokens?: BN;
|
|
16
|
-
maxBaseAmount?: BN;
|
|
17
|
-
};
|
|
18
|
-
export type SwapSimulation = {
|
|
19
|
-
expectedOut: BN;
|
|
20
|
-
newBaseReserves: BN;
|
|
21
|
-
newQuoteReserves: BN;
|
|
22
|
-
minExpectedOut?: BN;
|
|
23
|
-
};
|
|
24
|
-
export type RemoveLiquiditySimulation = {
|
|
25
|
-
expectedBaseOut: BN;
|
|
26
|
-
expectedQuoteOut: BN;
|
|
27
|
-
minBaseOut?: BN;
|
|
28
|
-
minQuoteOut?: BN;
|
|
29
|
-
};
|
|
30
11
|
export declare class AmmClient {
|
|
31
12
|
readonly provider: AnchorProvider;
|
|
32
13
|
readonly program: Program<AmmIDLType>;
|
|
@@ -238,9 +219,5 @@ export declare class AmmClient {
|
|
|
238
219
|
name: "crankThatTwap";
|
|
239
220
|
}>;
|
|
240
221
|
getAmm(amm: PublicKey): Promise<AmmAccount>;
|
|
241
|
-
getTwap(amm: AmmAccount): BN;
|
|
242
|
-
simulateAddLiquidity(baseReserves: BN, quoteReserves: BN, lpMintSupply: number, baseAmount?: BN, quoteAmount?: BN, slippageBps?: BN): AddLiquiditySimulation;
|
|
243
|
-
simulateSwap(inputAmount: BN, swapType: SwapType, baseReserves: BN, quoteReserves: BN, slippageBps?: BN): SwapSimulation;
|
|
244
|
-
simulateRemoveLiquidity(lpTokensToBurn: BN, baseReserves: BN, quoteReserves: BN, lpTotalSupply: BN, slippageBps?: BN): RemoveLiquiditySimulation;
|
|
245
222
|
getDecimals(mint: PublicKey): Promise<number>;
|
|
246
223
|
}
|
package/dist/v0.3/AmmClient.js
CHANGED
|
@@ -4,7 +4,7 @@ import BN from "bn.js";
|
|
|
4
4
|
import { AMM_PROGRAM_ID } from "./constants.js";
|
|
5
5
|
import { getAmmLpMintAddr, getAmmAddr } from "./utils/pda.js";
|
|
6
6
|
import { unpackMint, getAssociatedTokenAddressSync, createAssociatedTokenAccountIdempotentInstruction, } from "@solana/spl-token";
|
|
7
|
-
import { PriceMath } from "./utils/
|
|
7
|
+
import { AmmMath, PriceMath } from "./utils/ammMath.js";
|
|
8
8
|
export class AmmClient {
|
|
9
9
|
provider;
|
|
10
10
|
program;
|
|
@@ -78,7 +78,7 @@ export class AmmClient {
|
|
|
78
78
|
// quoteAmount == undefined ? undefined : new BN(quoteAmount);
|
|
79
79
|
// let baseAmountCasted: BN | undefined =
|
|
80
80
|
// baseAmount == undefined ? undefined : new BN(baseAmount);
|
|
81
|
-
let sim =
|
|
81
|
+
let sim = AmmMath.simulateAddLiquidity(storedAmm.baseAmount, storedAmm.quoteAmount, Number(lpMintSupply), baseAmountCasted, quoteAmountCasted);
|
|
82
82
|
await this.addLiquidityIx(amm, storedAmm.baseMint, storedAmm.quoteMint, sim.quoteAmount, sim.baseAmount, sim.expectedLpTokens).rpc();
|
|
83
83
|
}
|
|
84
84
|
addLiquidityIx(amm, baseMint, quoteMint, quoteAmount, maxBaseAmount, minLpTokens, user = this.provider.publicKey) {
|
|
@@ -178,91 +178,6 @@ export class AmmClient {
|
|
|
178
178
|
async getAmm(amm) {
|
|
179
179
|
return await this.program.account.amm.fetch(amm);
|
|
180
180
|
}
|
|
181
|
-
getTwap(amm) {
|
|
182
|
-
return amm.oracle.aggregator.div(amm.oracle.lastUpdatedSlot.sub(amm.createdAtSlot));
|
|
183
|
-
}
|
|
184
|
-
simulateAddLiquidity(baseReserves, quoteReserves, lpMintSupply, baseAmount, quoteAmount, slippageBps) {
|
|
185
|
-
if (lpMintSupply == 0) {
|
|
186
|
-
throw new Error("This AMM doesn't have existing liquidity so we can't fill in the blanks");
|
|
187
|
-
}
|
|
188
|
-
if (baseAmount == undefined && quoteAmount == undefined) {
|
|
189
|
-
throw new Error("Must specify either a base amount or a quote amount");
|
|
190
|
-
}
|
|
191
|
-
let expectedLpTokens;
|
|
192
|
-
if (quoteAmount == undefined) {
|
|
193
|
-
quoteAmount = baseAmount?.mul(quoteReserves).div(baseReserves);
|
|
194
|
-
}
|
|
195
|
-
baseAmount = quoteAmount?.mul(baseReserves).div(quoteReserves).addn(1);
|
|
196
|
-
expectedLpTokens = quoteAmount
|
|
197
|
-
?.mul(new BN(lpMintSupply))
|
|
198
|
-
.div(quoteReserves);
|
|
199
|
-
let minLpTokens, maxBaseAmount;
|
|
200
|
-
if (slippageBps) {
|
|
201
|
-
minLpTokens = PriceMath.subtractSlippage(expectedLpTokens, slippageBps);
|
|
202
|
-
maxBaseAmount = PriceMath.addSlippage(baseAmount, slippageBps);
|
|
203
|
-
}
|
|
204
|
-
return {
|
|
205
|
-
quoteAmount: quoteAmount,
|
|
206
|
-
baseAmount: baseAmount,
|
|
207
|
-
expectedLpTokens,
|
|
208
|
-
minLpTokens,
|
|
209
|
-
maxBaseAmount,
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
simulateSwap(inputAmount, swapType, baseReserves, quoteReserves, slippageBps) {
|
|
213
|
-
if (baseReserves.eqn(0) || quoteReserves.eqn(0)) {
|
|
214
|
-
throw new Error("reserves must be non-zero");
|
|
215
|
-
}
|
|
216
|
-
let inputReserves, outputReserves;
|
|
217
|
-
if (swapType.buy) {
|
|
218
|
-
inputReserves = quoteReserves;
|
|
219
|
-
outputReserves = baseReserves;
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
inputReserves = baseReserves;
|
|
223
|
-
outputReserves = quoteReserves;
|
|
224
|
-
}
|
|
225
|
-
let inputAmountWithFee = inputAmount.muln(990);
|
|
226
|
-
let numerator = inputAmountWithFee.mul(outputReserves);
|
|
227
|
-
let denominator = inputReserves.muln(1000).add(inputAmountWithFee);
|
|
228
|
-
let expectedOut = numerator.div(denominator);
|
|
229
|
-
let minExpectedOut;
|
|
230
|
-
if (slippageBps) {
|
|
231
|
-
minExpectedOut = PriceMath.subtractSlippage(expectedOut, slippageBps);
|
|
232
|
-
}
|
|
233
|
-
let newBaseReserves, newQuoteReserves;
|
|
234
|
-
if (swapType.buy) {
|
|
235
|
-
newBaseReserves = baseReserves.sub(expectedOut);
|
|
236
|
-
newQuoteReserves = quoteReserves.add(inputAmount);
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
newBaseReserves = baseReserves.add(inputAmount);
|
|
240
|
-
newQuoteReserves = quoteReserves.sub(expectedOut);
|
|
241
|
-
}
|
|
242
|
-
return {
|
|
243
|
-
expectedOut,
|
|
244
|
-
newBaseReserves,
|
|
245
|
-
newQuoteReserves,
|
|
246
|
-
minExpectedOut,
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
simulateRemoveLiquidity(lpTokensToBurn, baseReserves, quoteReserves, lpTotalSupply, slippageBps) {
|
|
250
|
-
const expectedBaseOut = lpTokensToBurn.mul(baseReserves).div(lpTotalSupply);
|
|
251
|
-
const expectedQuoteOut = lpTokensToBurn
|
|
252
|
-
.mul(quoteReserves)
|
|
253
|
-
.div(lpTotalSupply);
|
|
254
|
-
let minBaseOut, minQuoteOut;
|
|
255
|
-
if (slippageBps) {
|
|
256
|
-
minBaseOut = PriceMath.subtractSlippage(expectedBaseOut, slippageBps);
|
|
257
|
-
minQuoteOut = PriceMath.subtractSlippage(expectedQuoteOut, slippageBps);
|
|
258
|
-
}
|
|
259
|
-
return {
|
|
260
|
-
expectedBaseOut,
|
|
261
|
-
expectedQuoteOut,
|
|
262
|
-
minBaseOut,
|
|
263
|
-
minQuoteOut,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
181
|
async getDecimals(mint) {
|
|
267
182
|
return unpackMint(mint, await this.provider.connection.getAccountInfo(mint))
|
|
268
183
|
.decimals;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmmClient.js","sourceRoot":"","sources":["../../src/v0.3/AmmClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmmClient.js","sourceRoot":"","sources":["../../src/v0.3/AmmClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAqB,GAAG,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAEL,UAAU,EACV,6BAA6B,EAC7B,iDAAiD,GAClD,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASxD,MAAM,OAAO,SAAS;IACJ,QAAQ,CAAiB;IACzB,OAAO,CAAsB;IAC7B,IAAI,CAA8B;IAElD,YACE,QAAwB,EACxB,YAAuB,EACvB,IAAiC;QAEjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAa,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,0BAAiD;QAEjD,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,0BAA0B,CAAC;QAEvE,MAAM,IAAI,GAAgC,EAAE,CAAC;QAE7C,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,SAAS,IAAI,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,QAAmB,EACnB,QAAmB,EACnB,SAAoB,EACpB,sBAA8B,EAC9B,iCAA0C;QAE1C,IAAI,CAAC,iCAAiC,EAAE;YACtC,iCAAiC,GAAG,sBAAsB,GAAG,IAAI,CAAC;SACnE;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEjE,IAAI,YAAY,GAAG,UAAU,CAC3B,QAAQ,EACR,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CACxD,CAAC,QAAQ,CAAC;QACX,IAAI,aAAa,GAAG,UAAU,CAC5B,SAAS,EACT,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CACzD,CAAC,QAAQ,CAAC;QAEX,IAAI,CAAC,0BAA0B,EAAE,uCAAuC,CAAC,GACvE,SAAS,CAAC,YAAY,CACpB,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,iCAAiC,CAClC,CAAC;QAEJ,MAAM,IAAI,CAAC,WAAW,CACpB,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,uCAAuC,CACxC,CAAC,GAAG,EAAE,CAAC;QAER,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gDAAgD;IAChD,WAAW,CACT,QAAmB,EACnB,SAAoB,EACpB,sBAA0B,EAC1B,iCAAqC;QAErC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,CAAC;QAE1D,IAAI,YAAY,GAAG,6BAA6B,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,aAAa,GAAG,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,SAAS,CAAC;YACT,sBAAsB;YACtB,iCAAiC;SAClC,CAAC;aACD,QAAQ,CAAC;YACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC7B,GAAG;YACH,MAAM;YACN,QAAQ;YACR,SAAS;YACT,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAc,EACd,WAAoB,EACpB,UAAmB;QAEnB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,YAAY,GAAG,UAAU,CAC3B,SAAS,CAAC,MAAM,EAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAChE,CAAC,MAAM,CAAC;QAET,IAAI,iBAAiC,CAAC;QACtC,IAAI,gBAAgC,CAAC;QAErC,IAAI,WAAW,IAAI,SAAS,EAAE;YAC5B,IAAI,aAAa,GAAG,UAAU,CAC5B,SAAS,CAAC,SAAS,EACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CACnE,CAAC,QAAQ,CAAC;YACX,iBAAiB,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CACzC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,CACtC,CAAC;SACH;QAED,IAAI,UAAU,IAAI,SAAS,EAAE;YAC3B,IAAI,YAAY,GAAG,UAAU,CAC3B,SAAS,CAAC,QAAQ,EAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAClE,CAAC,QAAQ,CAAC;YACX,gBAAgB,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CACvC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CACrC,CAAC;SACH;QAED,IAAI,YAAY,IAAI,EAAE,EAAE;YACtB,IAAI,WAAW,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE;gBACvD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;aACH;YAED,8CAA8C;YAC9C,4CAA4C;YAE5C,OAAO,MAAM,IAAI,CAAC,cAAc,CAC9B,GAAG,EACH,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,SAAS,EACnB,iBAAuB,EACvB,gBAAsB,EACtB,IAAI,EAAE,CAAC,CAAC,CAAC,CACV,CAAC,GAAG,EAAE,CAAC;SACT;QAED,gEAAgE;QAChE,yCAAyC;QACzC,8DAA8D;QAE9D,IAAI,GAAG,GAAG,OAAO,CAAC,oBAAoB,CACpC,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,YAAY,CAAC,EACpB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CACvB,GAAG,EACH,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,SAAS,EACnB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,gBAAgB,CACrB,CAAC,GAAG,EAAE,CAAC;IACV,CAAC;IAED,cAAc,CACZ,GAAc,EACd,QAAmB,EACnB,SAAoB,EACpB,WAAe,EACf,aAAiB,EACjB,WAAe,EACf,OAAkB,IAAI,CAAC,QAAQ,CAAC,SAAS;QAEzC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,YAAY,CAAC;YACZ,WAAW;YACX,aAAa;YACb,WAAW;SACZ,CAAC;aACD,QAAQ,CAAC;YACR,IAAI;YACJ,GAAG;YACH,MAAM;YACN,aAAa;YACb,eAAe,EAAE,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC9D,gBAAgB,EAAE,6BAA6B,CAAC,SAAS,EAAE,IAAI,CAAC;YAChE,YAAY,EAAE,6BAA6B,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;YAChE,aAAa,EAAE,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;SACnE,CAAC;aACD,eAAe,CAAC;YACf,iDAAiD,CAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,aAAa,EACb,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,MAAM,CACP;SACF,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB,CACf,OAAkB,EAClB,QAAmB,EACnB,SAAoB,EACpB,cAAkB,EAClB,aAAiB,EACjB,cAAkB;QAElB,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEnE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,eAAe,CAAC;YACf,cAAc;YACd,aAAa;YACb,cAAc;SACf,CAAC;aACD,QAAQ,CAAC;YACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC7B,GAAG,EAAE,OAAO;YACZ,MAAM;YACN,aAAa,EAAE,6BAA6B,CAC1C,MAAM,EACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB;YACD,eAAe,EAAE,6BAA6B,CAC5C,QAAQ,EACR,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB;YACD,gBAAgB,EAAE,6BAA6B,CAC7C,SAAS,EACT,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB;YACD,YAAY,EAAE,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;YACpE,aAAa,EAAE,6BAA6B,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;SACvE,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAAc,EACd,QAAkB,EAClB,WAAmB,EACnB,eAAuB;QAEvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE9D,IAAI,iBAAqB,CAAC;QAC1B,IAAI,qBAAyB,CAAC;QAC9B,IAAI,QAAQ,CAAC,GAAG,EAAE;YAChB,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAChE,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;SACxE;aAAM;YACL,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAC/D,qBAAqB,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;SACzE;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CACtB,GAAG,EACH,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,SAAS,EACnB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,CACtB,CAAC,GAAG,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CACJ,GAAc,EACd,QAAmB,EACnB,SAAoB,EACpB,QAAkB,EAClB,WAAe,EACf,eAAmB;QAEnB,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO;aACxB,IAAI,CAAC;YACJ,QAAQ;YACR,WAAW;YACX,eAAe;SAChB,CAAC;aACD,QAAQ,CAAC;YACR,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC7B,GAAG;YACH,eAAe,EAAE,6BAA6B,CAC5C,QAAQ,EACR,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CACL;YACD,gBAAgB,EAAE,6BAA6B,CAC7C,SAAS,EACT,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CACL;YACD,YAAY,EAAE,6BAA6B,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC;YAChE,aAAa,EAAE,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC;SACnE,CAAC;aACD,eAAe,CAAC;YACf,yDAAyD;YACzD,iDAAiD,CAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,6BAA6B,CAC3B,cAAc,EACd,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,EACD,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,cAAc,CACf;SACF,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAc;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,GAAc;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;YACnD,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IAEnB,wDAAwD;IACxD,+DAA+D;IAC/D,0CAA0C;IAC1C,sCAAsC;IACtC,mBAAmB;IACnB,IAAI;IAEJ,KAAK,CAAC,MAAM,CAAC,GAAc;QACzB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAe;QAC/B,OAAO,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACzE,QAAQ,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Program } from "@coral-xyz/anchor";
|
|
2
2
|
import { ComputeBudgetProgram, Keypair, Transaction, } from "@solana/web3.js";
|
|
3
|
-
import { PriceMath } from "./utils/
|
|
3
|
+
import { PriceMath } from "./utils/ammMath.js";
|
|
4
4
|
import { IDL as AutocratIDL } from "./types/autocrat.js";
|
|
5
5
|
import BN from "bn.js";
|
|
6
6
|
import { AMM_PROGRAM_ID, AUTOCRAT_PROGRAM_ID, CONDITIONAL_VAULT_PROGRAM_ID, MAINNET_USDC, USDC_DECIMALS, } from "./constants.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocratClient.js","sourceRoot":"","sources":["../../src/v0.3/AutocratClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocratClient.js","sourceRoot":"","sources":["../../src/v0.3/AutocratClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
import { AmmAccount } from "../types/index.js";
|
|
3
|
+
import { SwapType } from "../AmmClient.js";
|
|
4
|
+
export type AddLiquiditySimulation = {
|
|
5
|
+
baseAmount: BN;
|
|
6
|
+
quoteAmount: BN;
|
|
7
|
+
expectedLpTokens: BN;
|
|
8
|
+
minLpTokens?: BN;
|
|
9
|
+
maxBaseAmount?: BN;
|
|
10
|
+
};
|
|
11
|
+
export type SwapSimulation = {
|
|
12
|
+
expectedOut: BN;
|
|
13
|
+
newBaseReserves: BN;
|
|
14
|
+
newQuoteReserves: BN;
|
|
15
|
+
minExpectedOut?: BN;
|
|
16
|
+
};
|
|
17
|
+
export type RemoveLiquiditySimulation = {
|
|
18
|
+
expectedBaseOut: BN;
|
|
19
|
+
expectedQuoteOut: BN;
|
|
20
|
+
minBaseOut?: BN;
|
|
21
|
+
minQuoteOut?: BN;
|
|
22
|
+
};
|
|
23
|
+
export declare class AmmMath {
|
|
24
|
+
static getHumanPriceFromReserves(baseReserves: BN, quoteReserves: BN, baseDecimals: number, quoteDecimals: number): number;
|
|
25
|
+
static getAmmPriceFromReserves(baseReserves: BN, quoteReserves: BN): BN;
|
|
26
|
+
static getChainAmount(humanAmount: number, decimals: number): BN;
|
|
27
|
+
static getHumanAmount(chainAmount: BN, decimals: number): number;
|
|
28
|
+
static getHumanPrice(ammPrice: BN, baseDecimals: number, quoteDecimals: number): number;
|
|
29
|
+
static getAmmPrice(humanPrice: number, baseDecimals: number, quoteDecimals: number): BN;
|
|
30
|
+
static getAmmPrices(baseDecimals: number, quoteDecimals: number, ...prices: number[]): BN[];
|
|
31
|
+
static scale(number: number, decimals: number): BN;
|
|
32
|
+
static addSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
33
|
+
static subtractSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
34
|
+
static getTwap(amm: AmmAccount): BN;
|
|
35
|
+
static simulateAddLiquidity(baseReserves: BN, quoteReserves: BN, lpMintSupply: number, baseAmount?: BN, quoteAmount?: BN, slippageBps?: BN): AddLiquiditySimulation;
|
|
36
|
+
static simulateSwap(inputAmount: BN, swapType: SwapType, baseReserves: BN, quoteReserves: BN, slippageBps?: BN): SwapSimulation;
|
|
37
|
+
static simulateRemoveLiquidity(lpTokensToBurn: BN, baseReserves: BN, quoteReserves: BN, lpTotalSupply: BN, slippageBps?: BN): RemoveLiquiditySimulation;
|
|
38
|
+
}
|
|
39
|
+
export { AmmMath as PriceMath };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
const BN_TEN = new BN(10);
|
|
3
|
+
const PRICE_SCALE = BN_TEN.pow(new BN(12));
|
|
4
|
+
const PRICE_SCALE_NUMBER = 1e12;
|
|
5
|
+
export class AmmMath {
|
|
6
|
+
static getHumanPriceFromReserves(baseReserves, quoteReserves, baseDecimals, quoteDecimals) {
|
|
7
|
+
return this.getHumanPrice(this.getAmmPriceFromReserves(baseReserves, quoteReserves), baseDecimals, quoteDecimals);
|
|
8
|
+
}
|
|
9
|
+
static getAmmPriceFromReserves(baseReserves, quoteReserves) {
|
|
10
|
+
return quoteReserves.mul(PRICE_SCALE).div(baseReserves);
|
|
11
|
+
}
|
|
12
|
+
static getChainAmount(humanAmount, decimals) {
|
|
13
|
+
// you have to do it this weird way because BN can't be constructed with
|
|
14
|
+
// numbers larger than 2**50
|
|
15
|
+
const [integerPart, fractionalPart = ""] = humanAmount
|
|
16
|
+
.toString()
|
|
17
|
+
.split(".");
|
|
18
|
+
return new BN(integerPart + fractionalPart)
|
|
19
|
+
.mul(new BN(10).pow(new BN(decimals)))
|
|
20
|
+
.div(new BN(10).pow(new BN(fractionalPart.length)));
|
|
21
|
+
}
|
|
22
|
+
static getHumanAmount(chainAmount, decimals) {
|
|
23
|
+
return chainAmount.toNumber() / 10 ** decimals;
|
|
24
|
+
}
|
|
25
|
+
static getHumanPrice(ammPrice, baseDecimals, quoteDecimals) {
|
|
26
|
+
let decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
27
|
+
let price1e12 = quoteDecimals > baseDecimals
|
|
28
|
+
? ammPrice.div(decimalScalar)
|
|
29
|
+
: ammPrice.mul(decimalScalar);
|
|
30
|
+
return price1e12.toNumber() / 1e12;
|
|
31
|
+
}
|
|
32
|
+
static getAmmPrice(humanPrice, baseDecimals, quoteDecimals) {
|
|
33
|
+
let price1e12 = new BN(humanPrice * PRICE_SCALE_NUMBER);
|
|
34
|
+
let decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
35
|
+
let scaledPrice = quoteDecimals > baseDecimals
|
|
36
|
+
? price1e12.mul(decimalScalar)
|
|
37
|
+
: price1e12.div(decimalScalar);
|
|
38
|
+
return scaledPrice;
|
|
39
|
+
}
|
|
40
|
+
static getAmmPrices(baseDecimals, quoteDecimals, ...prices) {
|
|
41
|
+
// Map through each price, scaling it using the scalePrice method
|
|
42
|
+
return prices.map((price) => this.getAmmPrice(price, baseDecimals, quoteDecimals));
|
|
43
|
+
}
|
|
44
|
+
static scale(number, decimals) {
|
|
45
|
+
return new BN(number * 10 ** decimals);
|
|
46
|
+
// return new BN(number).mul(new BN(10).pow(new BN(decimals)));
|
|
47
|
+
}
|
|
48
|
+
static addSlippage(chainAmount, slippageBps) {
|
|
49
|
+
return chainAmount.mul(slippageBps.addn(10_000)).divn(10_000);
|
|
50
|
+
}
|
|
51
|
+
static subtractSlippage(chainAmount, slippageBps) {
|
|
52
|
+
return chainAmount.mul(new BN(10_000).sub(slippageBps)).divn(10_000);
|
|
53
|
+
}
|
|
54
|
+
static getTwap(amm) {
|
|
55
|
+
return amm.oracle.aggregator.div(amm.oracle.lastUpdatedSlot.sub(amm.createdAtSlot));
|
|
56
|
+
}
|
|
57
|
+
static simulateAddLiquidity(baseReserves, quoteReserves, lpMintSupply, baseAmount, quoteAmount, slippageBps) {
|
|
58
|
+
if (lpMintSupply == 0) {
|
|
59
|
+
throw new Error("This AMM doesn't have existing liquidity so we can't fill in the blanks");
|
|
60
|
+
}
|
|
61
|
+
if (baseAmount == undefined && quoteAmount == undefined) {
|
|
62
|
+
throw new Error("Must specify either a base amount or a quote amount");
|
|
63
|
+
}
|
|
64
|
+
let expectedLpTokens;
|
|
65
|
+
if (quoteAmount == undefined) {
|
|
66
|
+
quoteAmount = baseAmount?.mul(quoteReserves).div(baseReserves);
|
|
67
|
+
}
|
|
68
|
+
baseAmount = quoteAmount?.mul(baseReserves).div(quoteReserves).addn(1);
|
|
69
|
+
expectedLpTokens = quoteAmount
|
|
70
|
+
?.mul(new BN(lpMintSupply))
|
|
71
|
+
.div(quoteReserves);
|
|
72
|
+
let minLpTokens, maxBaseAmount;
|
|
73
|
+
if (slippageBps) {
|
|
74
|
+
minLpTokens = AmmMath.subtractSlippage(expectedLpTokens, slippageBps);
|
|
75
|
+
maxBaseAmount = AmmMath.addSlippage(baseAmount, slippageBps);
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
quoteAmount: quoteAmount,
|
|
79
|
+
baseAmount: baseAmount,
|
|
80
|
+
expectedLpTokens,
|
|
81
|
+
minLpTokens,
|
|
82
|
+
maxBaseAmount,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static simulateSwap(inputAmount, swapType, baseReserves, quoteReserves, slippageBps) {
|
|
86
|
+
if (baseReserves.eqn(0) || quoteReserves.eqn(0)) {
|
|
87
|
+
throw new Error("reserves must be non-zero");
|
|
88
|
+
}
|
|
89
|
+
let inputReserves, outputReserves;
|
|
90
|
+
if (swapType.buy) {
|
|
91
|
+
inputReserves = quoteReserves;
|
|
92
|
+
outputReserves = baseReserves;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
inputReserves = baseReserves;
|
|
96
|
+
outputReserves = quoteReserves;
|
|
97
|
+
}
|
|
98
|
+
let inputAmountWithFee = inputAmount.muln(990);
|
|
99
|
+
let numerator = inputAmountWithFee.mul(outputReserves);
|
|
100
|
+
let denominator = inputReserves.muln(1000).add(inputAmountWithFee);
|
|
101
|
+
let expectedOut = numerator.div(denominator);
|
|
102
|
+
let minExpectedOut;
|
|
103
|
+
if (slippageBps) {
|
|
104
|
+
minExpectedOut = AmmMath.subtractSlippage(expectedOut, slippageBps);
|
|
105
|
+
}
|
|
106
|
+
let newBaseReserves, newQuoteReserves;
|
|
107
|
+
if (swapType.buy) {
|
|
108
|
+
newBaseReserves = baseReserves.sub(expectedOut);
|
|
109
|
+
newQuoteReserves = quoteReserves.add(inputAmount);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
newBaseReserves = baseReserves.add(inputAmount);
|
|
113
|
+
newQuoteReserves = quoteReserves.sub(expectedOut);
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
expectedOut,
|
|
117
|
+
newBaseReserves,
|
|
118
|
+
newQuoteReserves,
|
|
119
|
+
minExpectedOut,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
static simulateRemoveLiquidity(lpTokensToBurn, baseReserves, quoteReserves, lpTotalSupply, slippageBps) {
|
|
123
|
+
const expectedBaseOut = lpTokensToBurn.mul(baseReserves).div(lpTotalSupply);
|
|
124
|
+
const expectedQuoteOut = lpTokensToBurn
|
|
125
|
+
.mul(quoteReserves)
|
|
126
|
+
.div(lpTotalSupply);
|
|
127
|
+
let minBaseOut, minQuoteOut;
|
|
128
|
+
if (slippageBps) {
|
|
129
|
+
minBaseOut = AmmMath.subtractSlippage(expectedBaseOut, slippageBps);
|
|
130
|
+
minQuoteOut = AmmMath.subtractSlippage(expectedQuoteOut, slippageBps);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
expectedBaseOut,
|
|
134
|
+
expectedQuoteOut,
|
|
135
|
+
minBaseOut,
|
|
136
|
+
minQuoteOut,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Add backwards compatibility alias
|
|
141
|
+
export { AmmMath as PriceMath };
|
|
142
|
+
//# sourceMappingURL=ammMath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ammMath.js","sourceRoot":"","sources":["../../../src/v0.3/utils/ammMath.ts"],"names":[],"mappings":"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"}
|
package/dist/v0.3/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v0.3/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v0.3/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAe,oBAAoB,EAAa,MAAM,iBAAiB,CAAC;AAE/E,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,0DAAW,CAAA;IACX,wDAAW,CAAA;IACX,4DAAc,CAAA;AAChB,CAAC,EAJW,eAAe,GAAf,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAoB,SAAS,EAAE,EAAE,CAC/D,oBAAoB,CAAC,mBAAmB,CAAC;IACvC,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE,CAC3C,oBAAoB,CAAC,mBAAmB,CAAC;IACvC,aAAa,EAAE,EAAE;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAiB,EACjB,UAAmB,EACnB,QAAQ,GAAG,KAAK,EACH,EAAE;IACf,OAAO;QACL,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,UAAU;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,EAAU;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
package/dist/v0.4/AmmClient.d.ts
CHANGED
|
@@ -9,25 +9,6 @@ export type CreateAmmClientParams = {
|
|
|
9
9
|
provider: AnchorProvider;
|
|
10
10
|
ammProgramId?: PublicKey;
|
|
11
11
|
};
|
|
12
|
-
export type AddLiquiditySimulation = {
|
|
13
|
-
baseAmount: BN;
|
|
14
|
-
quoteAmount: BN;
|
|
15
|
-
expectedLpTokens: BN;
|
|
16
|
-
minLpTokens?: BN;
|
|
17
|
-
maxBaseAmount?: BN;
|
|
18
|
-
};
|
|
19
|
-
export type SwapSimulation = {
|
|
20
|
-
expectedOut: BN;
|
|
21
|
-
newBaseReserves: BN;
|
|
22
|
-
newQuoteReserves: BN;
|
|
23
|
-
minExpectedOut?: BN;
|
|
24
|
-
};
|
|
25
|
-
export type RemoveLiquiditySimulation = {
|
|
26
|
-
expectedBaseOut: BN;
|
|
27
|
-
expectedQuoteOut: BN;
|
|
28
|
-
minBaseOut?: BN;
|
|
29
|
-
minQuoteOut?: BN;
|
|
30
|
-
};
|
|
31
12
|
export declare class AmmClient {
|
|
32
13
|
readonly provider: AnchorProvider;
|
|
33
14
|
readonly program: Program<AmmIDLType>;
|
|
@@ -281,23 +262,5 @@ export declare class AmmClient {
|
|
|
281
262
|
} & {
|
|
282
263
|
name: "crankThatTwap";
|
|
283
264
|
}>;
|
|
284
|
-
getTwap(amm: Amm): BN;
|
|
285
|
-
simulateAddLiquidity(baseReserves: BN, quoteReserves: BN, lpMintSupply: number, baseAmount?: BN, quoteAmount?: BN, slippageBps?: BN): AddLiquiditySimulation;
|
|
286
|
-
simulateSwapInner(inputAmount: BN, inputReserves: BN, outputReserves: BN): BN;
|
|
287
|
-
simulateSwap(inputAmount: BN, swapType: SwapType, baseReserves: BN, quoteReserves: BN, slippageBps?: BN): SwapSimulation;
|
|
288
|
-
simulateRemoveLiquidity(lpTokensToBurn: BN, baseReserves: BN, quoteReserves: BN, lpTotalSupply: BN, slippageBps?: BN): RemoveLiquiditySimulation;
|
|
289
265
|
getDecimals(mint: PublicKey): Promise<number>;
|
|
290
|
-
/**
|
|
291
|
-
* Calculates the optimal swap amount and mergeable tokens without using square roots.
|
|
292
|
-
* @param userBalanceIn BN – Tokens that a user wants to dispose of.
|
|
293
|
-
* @param ammReserveIn BN – Amount of tokens in the AMM of the token that the user wants to dispose of.
|
|
294
|
-
* @param ammReserveOut BN – Amount of tokens in the AMM of the token that the user wants to receive.
|
|
295
|
-
* @returns An object containing the optimal swap amount, expected quote received, and expected mergeable tokens.
|
|
296
|
-
*/
|
|
297
|
-
calculateOptimalSwapForMerge(userBalanceIn: BN, ammReserveIn: BN, ammReserveOut: BN, slippageBps: BN): {
|
|
298
|
-
optimalSwapAmount: BN;
|
|
299
|
-
userInAfterSwap: BN;
|
|
300
|
-
expectedOut: BN;
|
|
301
|
-
minimumExpectedOut: BN;
|
|
302
|
-
};
|
|
303
266
|
}
|
package/dist/v0.4/AmmClient.js
CHANGED
|
@@ -5,7 +5,7 @@ import { AMM_PROGRAM_ID } from "./constants.js";
|
|
|
5
5
|
import { getAmmLpMintAddr, getAmmAddr } from "./utils/pda.js";
|
|
6
6
|
// import { MethodsBuilder } from "@coral-xyz/anchor/dist/cjs/program/namespace/methods";
|
|
7
7
|
import { unpackMint, getAssociatedTokenAddressSync, createAssociatedTokenAccountIdempotentInstruction, } from "@solana/spl-token";
|
|
8
|
-
import { PriceMath } from "./utils/priceMath.js";
|
|
8
|
+
import { AmmMath, PriceMath } from "./utils/priceMath.js";
|
|
9
9
|
export class AmmClient {
|
|
10
10
|
provider;
|
|
11
11
|
program;
|
|
@@ -88,7 +88,7 @@ export class AmmClient {
|
|
|
88
88
|
// quoteAmount == undefined ? undefined : new BN(quoteAmount);
|
|
89
89
|
// let baseAmountCasted: BN | undefined =
|
|
90
90
|
// baseAmount == undefined ? undefined : new BN(baseAmount);
|
|
91
|
-
let sim =
|
|
91
|
+
let sim = AmmMath.simulateAddLiquidity(storedAmm.baseAmount, storedAmm.quoteAmount, Number(lpMintSupply), baseAmountCasted, quoteAmountCasted);
|
|
92
92
|
await this.addLiquidityIx(amm, storedAmm.baseMint, storedAmm.quoteMint, sim.quoteAmount, sim.baseAmount, sim.expectedLpTokens).rpc();
|
|
93
93
|
}
|
|
94
94
|
addLiquidityIx(amm, baseMint, quoteMint, quoteAmount, maxBaseAmount, minLpTokens, user = this.provider.publicKey) {
|
|
@@ -178,141 +178,9 @@ export class AmmClient {
|
|
|
178
178
|
amm,
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
// getter functions
|
|
182
|
-
// async getLTWAP(ammAddr: PublicKey): Promise<number> {
|
|
183
|
-
// const amm = await this.program.account.amm.fetch(ammAddr);
|
|
184
|
-
// return amm.twapLastObservationUq64X32
|
|
185
|
-
// .div(new BN(2).pow(new BN(32)))
|
|
186
|
-
// .toNumber();
|
|
187
|
-
// }
|
|
188
|
-
getTwap(amm) {
|
|
189
|
-
return amm.oracle.aggregator.div(amm.oracle.lastUpdatedSlot.sub(amm.createdAtSlot));
|
|
190
|
-
}
|
|
191
|
-
simulateAddLiquidity(baseReserves, quoteReserves, lpMintSupply, baseAmount, quoteAmount, slippageBps) {
|
|
192
|
-
if (lpMintSupply == 0) {
|
|
193
|
-
throw new Error("This AMM doesn't have existing liquidity so we can't fill in the blanks");
|
|
194
|
-
}
|
|
195
|
-
if (baseAmount == undefined && quoteAmount == undefined) {
|
|
196
|
-
throw new Error("Must specify either a base amount or a quote amount");
|
|
197
|
-
}
|
|
198
|
-
let expectedLpTokens;
|
|
199
|
-
if (quoteAmount == undefined) {
|
|
200
|
-
quoteAmount = baseAmount?.mul(quoteReserves).div(baseReserves);
|
|
201
|
-
}
|
|
202
|
-
baseAmount = quoteAmount?.mul(baseReserves).div(quoteReserves).addn(1);
|
|
203
|
-
expectedLpTokens = quoteAmount
|
|
204
|
-
?.mul(new BN(lpMintSupply))
|
|
205
|
-
.div(quoteReserves);
|
|
206
|
-
let minLpTokens, maxBaseAmount;
|
|
207
|
-
if (slippageBps) {
|
|
208
|
-
minLpTokens = PriceMath.subtractSlippage(expectedLpTokens, slippageBps);
|
|
209
|
-
maxBaseAmount = PriceMath.addSlippage(baseAmount, slippageBps);
|
|
210
|
-
}
|
|
211
|
-
return {
|
|
212
|
-
quoteAmount: quoteAmount,
|
|
213
|
-
baseAmount: baseAmount,
|
|
214
|
-
expectedLpTokens,
|
|
215
|
-
minLpTokens,
|
|
216
|
-
maxBaseAmount,
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
simulateSwapInner(inputAmount, inputReserves, outputReserves) {
|
|
220
|
-
if (inputReserves.eqn(0) || outputReserves.eqn(0)) {
|
|
221
|
-
throw new Error("reserves must be non-zero");
|
|
222
|
-
}
|
|
223
|
-
let inputAmountWithFee = inputAmount.muln(990);
|
|
224
|
-
let numerator = inputAmountWithFee.mul(outputReserves);
|
|
225
|
-
let denominator = inputReserves.muln(1000).add(inputAmountWithFee);
|
|
226
|
-
return numerator.div(denominator);
|
|
227
|
-
}
|
|
228
|
-
simulateSwap(inputAmount, swapType, baseReserves, quoteReserves, slippageBps) {
|
|
229
|
-
let inputReserves, outputReserves;
|
|
230
|
-
if (swapType.buy) {
|
|
231
|
-
inputReserves = quoteReserves;
|
|
232
|
-
outputReserves = baseReserves;
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
inputReserves = baseReserves;
|
|
236
|
-
outputReserves = quoteReserves;
|
|
237
|
-
}
|
|
238
|
-
let expectedOut = this.simulateSwapInner(inputAmount, inputReserves, outputReserves);
|
|
239
|
-
let minExpectedOut;
|
|
240
|
-
if (slippageBps) {
|
|
241
|
-
minExpectedOut = PriceMath.subtractSlippage(expectedOut, slippageBps);
|
|
242
|
-
}
|
|
243
|
-
let newBaseReserves, newQuoteReserves;
|
|
244
|
-
if (swapType.buy) {
|
|
245
|
-
newBaseReserves = baseReserves.sub(expectedOut);
|
|
246
|
-
newQuoteReserves = quoteReserves.add(inputAmount);
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
newBaseReserves = baseReserves.add(inputAmount);
|
|
250
|
-
newQuoteReserves = quoteReserves.sub(expectedOut);
|
|
251
|
-
}
|
|
252
|
-
return {
|
|
253
|
-
expectedOut,
|
|
254
|
-
newBaseReserves,
|
|
255
|
-
newQuoteReserves,
|
|
256
|
-
minExpectedOut,
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
simulateRemoveLiquidity(lpTokensToBurn, baseReserves, quoteReserves, lpTotalSupply, slippageBps) {
|
|
260
|
-
const expectedBaseOut = lpTokensToBurn.mul(baseReserves).div(lpTotalSupply);
|
|
261
|
-
const expectedQuoteOut = lpTokensToBurn
|
|
262
|
-
.mul(quoteReserves)
|
|
263
|
-
.div(lpTotalSupply);
|
|
264
|
-
let minBaseOut, minQuoteOut;
|
|
265
|
-
if (slippageBps) {
|
|
266
|
-
minBaseOut = PriceMath.subtractSlippage(expectedBaseOut, slippageBps);
|
|
267
|
-
minQuoteOut = PriceMath.subtractSlippage(expectedQuoteOut, slippageBps);
|
|
268
|
-
}
|
|
269
|
-
return {
|
|
270
|
-
expectedBaseOut,
|
|
271
|
-
expectedQuoteOut,
|
|
272
|
-
minBaseOut,
|
|
273
|
-
minQuoteOut,
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
181
|
async getDecimals(mint) {
|
|
277
182
|
return unpackMint(mint, await this.provider.connection.getAccountInfo(mint))
|
|
278
183
|
.decimals;
|
|
279
184
|
}
|
|
280
|
-
/**
|
|
281
|
-
* Calculates the optimal swap amount and mergeable tokens without using square roots.
|
|
282
|
-
* @param userBalanceIn BN – Tokens that a user wants to dispose of.
|
|
283
|
-
* @param ammReserveIn BN – Amount of tokens in the AMM of the token that the user wants to dispose of.
|
|
284
|
-
* @param ammReserveOut BN – Amount of tokens in the AMM of the token that the user wants to receive.
|
|
285
|
-
* @returns An object containing the optimal swap amount, expected quote received, and expected mergeable tokens.
|
|
286
|
-
*/
|
|
287
|
-
calculateOptimalSwapForMerge(userBalanceIn, ammReserveIn, ammReserveOut, slippageBps) {
|
|
288
|
-
// essentially, we want to calculate the swap amount so that the remaining user balance = received token amount
|
|
289
|
-
// solve this system of equations for swapAmount, outputAmount (we only care about swap amount tho)
|
|
290
|
-
// (baseReserve + swapAmount) * (quoteReserve - outputAmount) = baseReserve * quoteReserve
|
|
291
|
-
// baseAmount - swapAmount = outputAmount
|
|
292
|
-
//solve equation
|
|
293
|
-
// (baseReserve + .99*swapAmount) * (quoteReserve - (userTokens - swapAmount)) = baseReserve * quoteReserve
|
|
294
|
-
// multiplying out the left hand side and subtracting baseReserve * quoteReserve from both sides yields the following:
|
|
295
|
-
// baseReserve*quoteReserve - baseReserve*userTokens + baseReserve*swapAmount + .99*swapAmount*quoteReserve - .99*swapAmount*userTokens + .99*swapAmount^2 = baseReserve*quoteReserve
|
|
296
|
-
// .99*swapAmount^2 + baseReserve*swapAmount + .99*swapAmount*quoteReserve - baseReserve*userTokens - .99*swapAmount*userTokens = 0
|
|
297
|
-
// in the quadratic equation, a = .99, b = (baseReserve + .99*quoteReserve - .99*userTokens), c = -baseReserve*userTokens
|
|
298
|
-
// x = (-b + sqrt(b^2 - 4ac)) / 2a
|
|
299
|
-
let a = 0.99;
|
|
300
|
-
let b = Number(ammReserveIn) +
|
|
301
|
-
0.99 * Number(ammReserveOut) -
|
|
302
|
-
0.99 * Number(userBalanceIn);
|
|
303
|
-
let c = -Number(ammReserveIn) * Number(userBalanceIn);
|
|
304
|
-
let x = (-b + Math.sqrt(b ** 2 - 4 * a * c)) / (2 * a);
|
|
305
|
-
//this should mathematically return a positive number assuming userBalanceIn, ammReserveIn, and ammReserveOut are all positive (which they should be)
|
|
306
|
-
// -b + Math.sqrt(b ** 2 - 4 * a * c) > 0 because -4*a*c > 0 and sqrt(b**2 + positive number) > b
|
|
307
|
-
const swapAmount = x;
|
|
308
|
-
let expectedOut = this.simulateSwapInner(new BN(swapAmount), ammReserveIn, ammReserveOut);
|
|
309
|
-
let minimumExpectedOut = Number(expectedOut) - (Number(expectedOut) * Number(slippageBps)) / 10000;
|
|
310
|
-
return {
|
|
311
|
-
optimalSwapAmount: new BN(swapAmount),
|
|
312
|
-
userInAfterSwap: new BN(Number(userBalanceIn) - swapAmount),
|
|
313
|
-
expectedOut: expectedOut,
|
|
314
|
-
minimumExpectedOut: new BN(minimumExpectedOut),
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
185
|
}
|
|
318
186
|
//# sourceMappingURL=AmmClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmmClient.js","sourceRoot":"","sources":["../../src/v0.4/AmmClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AmmClient.js","sourceRoot":"","sources":["../../src/v0.4/AmmClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,54 @@
|
|
|
1
1
|
import BN from "bn.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { Amm } from "../types/index.js";
|
|
3
|
+
import { SwapType } from "../AmmClient.js";
|
|
4
|
+
import { AmmMath as V3AmmMath } from "../../v0.3/utils/ammMath.js";
|
|
5
|
+
export type AddLiquiditySimulation = {
|
|
6
|
+
baseAmount: BN;
|
|
7
|
+
quoteAmount: BN;
|
|
8
|
+
expectedLpTokens: BN;
|
|
9
|
+
minLpTokens?: BN;
|
|
10
|
+
maxBaseAmount?: BN;
|
|
11
|
+
};
|
|
12
|
+
export type SwapSimulation = {
|
|
13
|
+
expectedOut: BN;
|
|
14
|
+
newBaseReserves: BN;
|
|
15
|
+
newQuoteReserves: BN;
|
|
16
|
+
minExpectedOut?: BN;
|
|
17
|
+
};
|
|
18
|
+
export type RemoveLiquiditySimulation = {
|
|
19
|
+
expectedBaseOut: BN;
|
|
20
|
+
expectedQuoteOut: BN;
|
|
21
|
+
minBaseOut?: BN;
|
|
22
|
+
minQuoteOut?: BN;
|
|
23
|
+
};
|
|
24
|
+
export declare class AmmMath {
|
|
25
|
+
static getHumanPriceFromReserves: typeof V3AmmMath.getHumanPriceFromReserves;
|
|
26
|
+
static getAmmPriceFromReserves: typeof V3AmmMath.getAmmPriceFromReserves;
|
|
27
|
+
static getChainAmount: typeof V3AmmMath.getChainAmount;
|
|
28
|
+
static getHumanAmount: typeof V3AmmMath.getHumanAmount;
|
|
29
|
+
static getAmmPrice: typeof V3AmmMath.getAmmPrice;
|
|
30
|
+
static getAmmPrices: typeof V3AmmMath.getAmmPrices;
|
|
31
|
+
static scale: typeof V3AmmMath.scale;
|
|
32
|
+
static addSlippage: typeof V3AmmMath.addSlippage;
|
|
33
|
+
static subtractSlippage: typeof V3AmmMath.subtractSlippage;
|
|
34
|
+
static simulateAddLiquidity: typeof V3AmmMath.simulateAddLiquidity;
|
|
35
|
+
static simulateRemoveLiquidity: typeof V3AmmMath.simulateRemoveLiquidity;
|
|
6
36
|
static getHumanPrice(ammPrice: BN, baseDecimals: number, quoteDecimals: number): number;
|
|
7
|
-
static
|
|
8
|
-
static
|
|
9
|
-
static
|
|
10
|
-
|
|
11
|
-
|
|
37
|
+
static getTwap(amm: Amm): BN;
|
|
38
|
+
static simulateSwapInner(inputAmount: BN, inputReserves: BN, outputReserves: BN): BN;
|
|
39
|
+
static simulateSwap(inputAmount: BN, swapType: SwapType, baseReserves: BN, quoteReserves: BN, slippageBps?: BN): SwapSimulation;
|
|
40
|
+
/**
|
|
41
|
+
* Calculates the optimal swap amount and mergeable tokens without using square roots.
|
|
42
|
+
* @param userBalanceIn BN – Tokens that a user wants to dispose of.
|
|
43
|
+
* @param ammReserveIn BN – Amount of tokens in the AMM of the token that the user wants to dispose of.
|
|
44
|
+
* @param ammReserveOut BN – Amount of tokens in the AMM of the token that the user wants to receive.
|
|
45
|
+
* @returns An object containing the optimal swap amount, expected quote received, and expected mergeable tokens.
|
|
46
|
+
*/
|
|
47
|
+
static calculateOptimalSwapForMerge(userBalanceIn: BN, ammReserveIn: BN, ammReserveOut: BN, slippageBps: BN): {
|
|
48
|
+
optimalSwapAmount: BN;
|
|
49
|
+
userInAfterSwap: BN;
|
|
50
|
+
expectedOut: BN;
|
|
51
|
+
minimumExpectedOut: BN;
|
|
52
|
+
};
|
|
12
53
|
}
|
|
54
|
+
export { AmmMath as PriceMath };
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import BN from "bn.js";
|
|
2
|
+
import { AmmMath as V3AmmMath } from "../../v0.3/utils/ammMath.js";
|
|
2
3
|
const BN_TEN = new BN(10);
|
|
3
4
|
const PRICE_SCALE = BN_TEN.pow(new BN(12));
|
|
4
5
|
const PRICE_SCALE_NUMBER = 1e12;
|
|
5
|
-
export class
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
static getChainAmount
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
static getHumanAmount(chainAmount, decimals) {
|
|
20
|
-
return chainAmount.toNumber() / 10 ** decimals;
|
|
21
|
-
}
|
|
6
|
+
export class AmmMath {
|
|
7
|
+
// Re-export common methods from v0.3
|
|
8
|
+
static getHumanPriceFromReserves = V3AmmMath.getHumanPriceFromReserves;
|
|
9
|
+
static getAmmPriceFromReserves = V3AmmMath.getAmmPriceFromReserves;
|
|
10
|
+
static getChainAmount = V3AmmMath.getChainAmount;
|
|
11
|
+
static getHumanAmount = V3AmmMath.getHumanAmount;
|
|
12
|
+
static getAmmPrice = V3AmmMath.getAmmPrice;
|
|
13
|
+
static getAmmPrices = V3AmmMath.getAmmPrices;
|
|
14
|
+
static scale = V3AmmMath.scale;
|
|
15
|
+
static addSlippage = V3AmmMath.addSlippage;
|
|
16
|
+
static subtractSlippage = V3AmmMath.subtractSlippage;
|
|
17
|
+
static simulateAddLiquidity = V3AmmMath.simulateAddLiquidity;
|
|
18
|
+
static simulateRemoveLiquidity = V3AmmMath.simulateRemoveLiquidity;
|
|
22
19
|
static getHumanPrice(ammPrice, baseDecimals, quoteDecimals) {
|
|
23
20
|
const decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
24
21
|
const price1e12 = quoteDecimals > baseDecimals
|
|
@@ -33,27 +30,87 @@ export class PriceMath {
|
|
|
33
30
|
return price1e12.div(new BN(1e12)).toNumber();
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
static
|
|
37
|
-
|
|
38
|
-
let decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
39
|
-
let scaledPrice = quoteDecimals > baseDecimals
|
|
40
|
-
? price1e12.mul(decimalScalar)
|
|
41
|
-
: price1e12.div(decimalScalar);
|
|
42
|
-
return scaledPrice;
|
|
33
|
+
static getTwap(amm) {
|
|
34
|
+
return amm.oracle.aggregator.div(amm.oracle.lastUpdatedSlot.sub(amm.createdAtSlot));
|
|
43
35
|
}
|
|
44
|
-
static
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
36
|
+
static simulateSwapInner(inputAmount, inputReserves, outputReserves) {
|
|
37
|
+
if (inputReserves.eqn(0) || outputReserves.eqn(0)) {
|
|
38
|
+
throw new Error("reserves must be non-zero");
|
|
39
|
+
}
|
|
40
|
+
let inputAmountWithFee = inputAmount.muln(990);
|
|
41
|
+
let numerator = inputAmountWithFee.mul(outputReserves);
|
|
42
|
+
let denominator = inputReserves.muln(1000).add(inputAmountWithFee);
|
|
43
|
+
return numerator.div(denominator);
|
|
51
44
|
}
|
|
52
|
-
static
|
|
53
|
-
|
|
45
|
+
static simulateSwap(inputAmount, swapType, baseReserves, quoteReserves, slippageBps) {
|
|
46
|
+
let inputReserves, outputReserves;
|
|
47
|
+
if (swapType.buy) {
|
|
48
|
+
inputReserves = quoteReserves;
|
|
49
|
+
outputReserves = baseReserves;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
inputReserves = baseReserves;
|
|
53
|
+
outputReserves = quoteReserves;
|
|
54
|
+
}
|
|
55
|
+
let expectedOut = this.simulateSwapInner(inputAmount, inputReserves, outputReserves);
|
|
56
|
+
let minExpectedOut;
|
|
57
|
+
if (slippageBps) {
|
|
58
|
+
minExpectedOut = AmmMath.subtractSlippage(expectedOut, slippageBps);
|
|
59
|
+
}
|
|
60
|
+
let newBaseReserves, newQuoteReserves;
|
|
61
|
+
if (swapType.buy) {
|
|
62
|
+
newBaseReserves = baseReserves.sub(expectedOut);
|
|
63
|
+
newQuoteReserves = quoteReserves.add(inputAmount);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
newBaseReserves = baseReserves.add(inputAmount);
|
|
67
|
+
newQuoteReserves = quoteReserves.sub(expectedOut);
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
expectedOut,
|
|
71
|
+
newBaseReserves,
|
|
72
|
+
newQuoteReserves,
|
|
73
|
+
minExpectedOut,
|
|
74
|
+
};
|
|
54
75
|
}
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Calculates the optimal swap amount and mergeable tokens without using square roots.
|
|
78
|
+
* @param userBalanceIn BN – Tokens that a user wants to dispose of.
|
|
79
|
+
* @param ammReserveIn BN – Amount of tokens in the AMM of the token that the user wants to dispose of.
|
|
80
|
+
* @param ammReserveOut BN – Amount of tokens in the AMM of the token that the user wants to receive.
|
|
81
|
+
* @returns An object containing the optimal swap amount, expected quote received, and expected mergeable tokens.
|
|
82
|
+
*/
|
|
83
|
+
static calculateOptimalSwapForMerge(userBalanceIn, ammReserveIn, ammReserveOut, slippageBps) {
|
|
84
|
+
// essentially, we want to calculate the swap amount so that the remaining user balance = received token amount
|
|
85
|
+
// solve this system of equations for swapAmount, outputAmount (we only care about swap amount tho)
|
|
86
|
+
// (baseReserve + swapAmount) * (quoteReserve - outputAmount) = baseReserve * quoteReserve
|
|
87
|
+
// baseAmount - swapAmount = outputAmount
|
|
88
|
+
//solve equation
|
|
89
|
+
// (baseReserve + .99*swapAmount) * (quoteReserve - (userTokens - swapAmount)) = baseReserve * quoteReserve
|
|
90
|
+
// multiplying out the left hand side and subtracting baseReserve * quoteReserve from both sides yields the following:
|
|
91
|
+
// baseReserve*quoteReserve - baseReserve*userTokens + baseReserve*swapAmount + .99*swapAmount*quoteReserve - .99*swapAmount*userTokens + .99*swapAmount^2 = baseReserve*quoteReserve
|
|
92
|
+
// .99*swapAmount^2 + baseReserve*swapAmount + .99*swapAmount*quoteReserve - baseReserve*userTokens - .99*swapAmount*userTokens = 0
|
|
93
|
+
// in the quadratic equation, a = .99, b = (baseReserve + .99*quoteReserve - .99*userTokens), c = -baseReserve*userTokens
|
|
94
|
+
// x = (-b + sqrt(b^2 - 4ac)) / 2a
|
|
95
|
+
let a = 0.99;
|
|
96
|
+
let b = Number(ammReserveIn) +
|
|
97
|
+
0.99 * Number(ammReserveOut) -
|
|
98
|
+
0.99 * Number(userBalanceIn);
|
|
99
|
+
let c = -Number(ammReserveIn) * Number(userBalanceIn);
|
|
100
|
+
let x = (-b + Math.sqrt(b ** 2 - 4 * a * c)) / (2 * a);
|
|
101
|
+
//this should mathematically return a positive number assuming userBalanceIn, ammReserveIn, and ammReserveOut are all positive (which they should be)
|
|
102
|
+
// -b + Math.sqrt(b ** 2 - 4 * a * c) > 0 because -4*a*c > 0 and sqrt(b**2 + positive number) > b
|
|
103
|
+
const swapAmount = x;
|
|
104
|
+
let expectedOut = this.simulateSwapInner(new BN(swapAmount), ammReserveIn, ammReserveOut);
|
|
105
|
+
let minimumExpectedOut = Number(expectedOut) - (Number(expectedOut) * Number(slippageBps)) / 10000;
|
|
106
|
+
return {
|
|
107
|
+
optimalSwapAmount: new BN(swapAmount),
|
|
108
|
+
userInAfterSwap: new BN(Number(userBalanceIn) - swapAmount),
|
|
109
|
+
expectedOut: expectedOut,
|
|
110
|
+
minimumExpectedOut: new BN(minimumExpectedOut),
|
|
111
|
+
};
|
|
57
112
|
}
|
|
58
113
|
}
|
|
114
|
+
// Add backwards compatibility alias
|
|
115
|
+
export { AmmMath as PriceMath };
|
|
59
116
|
//# sourceMappingURL=priceMath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../../src/v0.4/utils/priceMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../../src/v0.4/utils/priceMath.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import BN from "bn.js";
|
|
2
|
-
export declare class PriceMath {
|
|
3
|
-
static getAmmPriceFromReserves(baseReserves: BN, quoteReserves: BN): BN;
|
|
4
|
-
static getChainAmount(humanAmount: number, decimals: number): BN;
|
|
5
|
-
static getHumanAmount(chainAmount: BN, decimals: number): number;
|
|
6
|
-
static getHumanPrice(ammPrice: BN, baseDecimals: number, quoteDecimals: number): number;
|
|
7
|
-
static getAmmPrice(humanPrice: number, baseDecimals: number, quoteDecimals: number): BN;
|
|
8
|
-
static getAmmPrices(baseDecimals: number, quoteDecimals: number, ...prices: number[]): BN[];
|
|
9
|
-
static scale(number: number, decimals: number): BN;
|
|
10
|
-
static addSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
11
|
-
static subtractSlippage(chainAmount: BN, slippageBps: BN): BN;
|
|
12
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import BN from "bn.js";
|
|
2
|
-
const BN_TEN = new BN(10);
|
|
3
|
-
const PRICE_SCALE = BN_TEN.pow(new BN(12));
|
|
4
|
-
const PRICE_SCALE_NUMBER = 1e12;
|
|
5
|
-
export class PriceMath {
|
|
6
|
-
static getAmmPriceFromReserves(baseReserves, quoteReserves) {
|
|
7
|
-
return quoteReserves.mul(PRICE_SCALE).div(baseReserves);
|
|
8
|
-
}
|
|
9
|
-
static getChainAmount(humanAmount, decimals) {
|
|
10
|
-
// you have to do it this weird way because BN can't be constructed with
|
|
11
|
-
// numbers larger than 2**50
|
|
12
|
-
const [integerPart, fractionalPart = ""] = humanAmount
|
|
13
|
-
.toString()
|
|
14
|
-
.split(".");
|
|
15
|
-
return new BN(integerPart + fractionalPart)
|
|
16
|
-
.mul(new BN(10).pow(new BN(decimals)))
|
|
17
|
-
.div(new BN(10).pow(new BN(fractionalPart.length)));
|
|
18
|
-
}
|
|
19
|
-
static getHumanAmount(chainAmount, decimals) {
|
|
20
|
-
return chainAmount.toNumber() / 10 ** decimals;
|
|
21
|
-
}
|
|
22
|
-
static getHumanPrice(ammPrice, baseDecimals, quoteDecimals) {
|
|
23
|
-
let decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
24
|
-
let price1e12 = quoteDecimals > baseDecimals
|
|
25
|
-
? ammPrice.div(decimalScalar)
|
|
26
|
-
: ammPrice.mul(decimalScalar);
|
|
27
|
-
return price1e12.toNumber() / 1e12;
|
|
28
|
-
}
|
|
29
|
-
static getAmmPrice(humanPrice, baseDecimals, quoteDecimals) {
|
|
30
|
-
let price1e12 = new BN(humanPrice * PRICE_SCALE_NUMBER);
|
|
31
|
-
let decimalScalar = BN_TEN.pow(new BN(quoteDecimals - baseDecimals).abs());
|
|
32
|
-
let scaledPrice = quoteDecimals > baseDecimals
|
|
33
|
-
? price1e12.mul(decimalScalar)
|
|
34
|
-
: price1e12.div(decimalScalar);
|
|
35
|
-
return scaledPrice;
|
|
36
|
-
}
|
|
37
|
-
static getAmmPrices(baseDecimals, quoteDecimals, ...prices) {
|
|
38
|
-
// Map through each price, scaling it using the scalePrice method
|
|
39
|
-
return prices.map((price) => this.getAmmPrice(price, baseDecimals, quoteDecimals));
|
|
40
|
-
}
|
|
41
|
-
static scale(number, decimals) {
|
|
42
|
-
return new BN(number * 10 ** decimals);
|
|
43
|
-
// return new BN(number).mul(new BN(10).pow(new BN(decimals)));
|
|
44
|
-
}
|
|
45
|
-
static addSlippage(chainAmount, slippageBps) {
|
|
46
|
-
return chainAmount.mul(slippageBps.addn(10_000)).divn(10_000);
|
|
47
|
-
}
|
|
48
|
-
static subtractSlippage(chainAmount, slippageBps) {
|
|
49
|
-
return chainAmount.mul(new BN(10_000).sub(slippageBps)).divn(10_000);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=priceMath.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"priceMath.js","sourceRoot":"","sources":["../../../src/v0.3/utils/priceMath.ts"],"names":[],"mappings":"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"}
|