aftermath-ts-sdk 0.0.137 → 0.0.139
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/general/utils/fixed.d.ts +15 -0
- package/dist/general/utils/fixed.d.ts.map +1 -0
- package/dist/general/utils/fixed.js +15 -0
- package/dist/general/utils/helpers.d.ts +9 -0
- package/dist/general/utils/helpers.d.ts.map +1 -1
- package/dist/general/utils/helpers.js +9 -0
- package/dist/packages/pools/api/poolsApi.d.ts +7 -0
- package/dist/packages/pools/api/poolsApi.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApi.js +26 -3
- package/dist/packages/pools/api/poolsApiHelpers.d.ts +15 -1
- package/dist/packages/pools/api/poolsApiHelpers.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApiHelpers.js +56 -6
- package/dist/packages/pools/pool.d.ts +6 -1
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pool.js +15 -3
- package/dist/packages/pools/poolsTypes.d.ts +11 -6
- package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
- package/dist/packages/pools/utils/cmmmCalculations.d.ts +22 -8
- package/dist/packages/pools/utils/cmmmCalculations.d.ts.map +1 -1
- package/dist/packages/pools/utils/cmmmCalculations.js +1007 -260
- package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts.map +1 -1
- package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.js +12 -2
- package/dist/packages/staking/api/stakingApi.d.ts +4 -1
- package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApi.js +3 -0
- package/dist/packages/staking/api/stakingApiCasting.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApiCasting.js +0 -1
- package/dist/packages/staking/api/stakingApiCastingTypes.d.ts +0 -1
- package/dist/packages/staking/api/stakingApiCastingTypes.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApiHelpers.d.ts +2 -0
- package/dist/packages/staking/api/stakingApiHelpers.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApiHelpers.js +12 -0
- package/dist/packages/staking/staking.d.ts +2 -1
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/staking/staking.js +5 -0
- package/dist/packages/staking/stakingTypes.d.ts +3 -2
- package/dist/packages/staking/stakingTypes.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type OnChainNumber = bigint;
|
|
2
|
+
export type LocalNumber = number;
|
|
3
|
+
export declare class Fixed {
|
|
4
|
+
static fixedOneN: number;
|
|
5
|
+
static fixedOneB: bigint;
|
|
6
|
+
static convertFromInt: (n: OnChainNumber) => LocalNumber;
|
|
7
|
+
static convertToInt: (n: LocalNumber) => OnChainNumber;
|
|
8
|
+
static directCast: (n: OnChainNumber) => LocalNumber;
|
|
9
|
+
static directUncast: (n: LocalNumber) => OnChainNumber;
|
|
10
|
+
static complement: (n: LocalNumber) => number;
|
|
11
|
+
}
|
|
12
|
+
export type OnChainRawInteger = OnChainNumber;
|
|
13
|
+
export type OnChainUnitaryParameter = OnChainNumber;
|
|
14
|
+
export type OnChainScalar = OnChainNumber;
|
|
15
|
+
//# sourceMappingURL=fixed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixed.d.ts","sourceRoot":"","sources":["../../../src/general/utils/fixed.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,qBAAa,KAAK;IACd,OAAc,SAAS,EAAE,MAAM,CAA6B;IAC5D,OAAc,SAAS,EAAE,MAAM,CAAiC;IAIhE,OAAc,cAAc,MAAO,aAAa,KAAG,WAAW,CAAc;IAC/E,OAAc,YAAY,MAAO,WAAW,KAAG,aAAa,CAA0B;IACnF,OAAc,UAAU,MAAO,aAAa,KAAG,WAAW,CAAgC;IAC1F,OAAc,YAAY,MAAO,WAAW,KAAG,aAAa,CAE1D;IAEF,OAAc,UAAU,MAAO,WAAW,YAAqC;CAClF;AAKD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAG9C,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Fixed = void 0;
|
|
4
|
+
class Fixed {
|
|
5
|
+
}
|
|
6
|
+
exports.Fixed = Fixed;
|
|
7
|
+
Fixed.fixedOneN = 1000000000000000000;
|
|
8
|
+
Fixed.fixedOneB = BigInt("1000000000000000000");
|
|
9
|
+
// These terms come from their on chain counterparts. They are backwards from the point of view of js.
|
|
10
|
+
// On chain direct cast means e.g. taking ((x: u64) as u256).
|
|
11
|
+
Fixed.convertFromInt = (n) => Number(n);
|
|
12
|
+
Fixed.convertToInt = (n) => BigInt(Math.floor(n));
|
|
13
|
+
Fixed.directCast = (n) => Number(n) / Fixed.fixedOneN;
|
|
14
|
+
Fixed.directUncast = (n) => BigInt(Math.floor(n * Fixed.fixedOneN));
|
|
15
|
+
Fixed.complement = (n) => Math.max(0, 1 - Math.max(0, n));
|
|
@@ -19,6 +19,15 @@ export declare class Helpers {
|
|
|
19
19
|
static sumBigInt: (arr: bigint[]) => bigint;
|
|
20
20
|
static closeEnough: (a: number, b: number, tolerance: number) => boolean;
|
|
21
21
|
static closeEnoughBigInt: (a: bigint, b: bigint, tolerance: number) => boolean;
|
|
22
|
+
static veryCloseInt: (a: number, b: number, fixedOne: number) => boolean;
|
|
23
|
+
static blendedOperations: {
|
|
24
|
+
mulNNN: (a: number, b: number) => number;
|
|
25
|
+
mulNNB: (a: number, b: number) => bigint;
|
|
26
|
+
mulNBN: (a: number, b: bigint) => number;
|
|
27
|
+
mulNBB: (a: number, b: bigint) => bigint;
|
|
28
|
+
mulBBN: (a: bigint, b: bigint) => number;
|
|
29
|
+
mulBBB: (a: bigint, b: bigint) => bigint;
|
|
30
|
+
};
|
|
22
31
|
static capitalizeOnlyFirstLetter: (str: string) => string;
|
|
23
32
|
static parseJsonWithBigint: (json: string, unsafeStringNumberConversion?: boolean) => any;
|
|
24
33
|
static deepCopy: <T>(target: T) => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/general/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,qBAAa,OAAO;IAKnB,gBAAuB,aAAa,iCAA2B;IAC/D,gBAAuB,MAAM,0BAAoB;IACjD,gBAAuB,WAAW,+BAAyB;IAC3D,gBAAuB,OAAO,2BAAqB;IACnD,gBAAuB,GAAG,uBAAiB;IAC3C,gBAAuB,YAAY,gCAA0B;IAM7D,OAAc,0BAA0B,SACjC,aAAa,KACjB,aAAa,CAAiC;IAEjD,OAAc,sBAAsB,SAC7B,aAAa,KACjB,aAAa,CAqBd;IAMF,OAAc,QAAQ,QAAS,MAAM,KAAG,OAAO,CAA6B;IAE5E,OAAc,GAAG,QAAS,MAAM,EAAE,YACQ;IAE1C,OAAc,SAAS,QAAS,MAAM,EAAE,YACU;IAElD,OAAc,WAAW,MAAO,MAAM,KAAK,MAAM,aAAa,MAAM,aACrB;IAE/C,OAAc,iBAAiB,MAC3B,MAAM,KACN,MAAM,aACE,MAAM,aACwC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/general/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,qBAAa,OAAO;IAKnB,gBAAuB,aAAa,iCAA2B;IAC/D,gBAAuB,MAAM,0BAAoB;IACjD,gBAAuB,WAAW,+BAAyB;IAC3D,gBAAuB,OAAO,2BAAqB;IACnD,gBAAuB,GAAG,uBAAiB;IAC3C,gBAAuB,YAAY,gCAA0B;IAM7D,OAAc,0BAA0B,SACjC,aAAa,KACjB,aAAa,CAAiC;IAEjD,OAAc,sBAAsB,SAC7B,aAAa,KACjB,aAAa,CAqBd;IAMF,OAAc,QAAQ,QAAS,MAAM,KAAG,OAAO,CAA6B;IAE5E,OAAc,GAAG,QAAS,MAAM,EAAE,YACQ;IAE1C,OAAc,SAAS,QAAS,MAAM,EAAE,YACU;IAElD,OAAc,WAAW,MAAO,MAAM,KAAK,MAAM,aAAa,MAAM,aACrB;IAE/C,OAAc,iBAAiB,MAC3B,MAAM,KACN,MAAM,aACE,MAAM,aACwC;IAE1D,OAAc,YAAY,MAAO,MAAM,KAAK,MAAM,YAAY,MAAM,aACA;IAEpE,OAAc,iBAAiB;oBAClB,MAAM,KAAK,MAAM,KAAG,MAAM;oBAC1B,MAAM,KAAK,MAAM,KAAG,MAAM;oBAC1B,MAAM,KAAK,MAAM,KAAG,MAAM;oBAC1B,MAAM,KAAK,MAAM,KAAG,MAAM;oBAC1B,MAAM,KAAK,MAAM,KAAG,MAAM;oBAC1B,MAAM,KAAK,MAAM,KAAG,MAAM;MACrC;IAMF,OAAc,yBAAyB,QAAS,MAAM,YACI;IAM1D,OAAc,mBAAmB,SAC1B,MAAM,iDAiBT;IAMJ,OAAc,QAAQ,sBAwBpB;IAEF,OAAc,UAAU,QAAS,GAAG,EAAE,YAcpC;IAEF,OAAc,WAAW,uBAA2C;IAEpE,OAAc,KAAK,OAAQ,MAAM,sBAA2C;IAE5E,OAAc,SAAS,eAC4C;WAMrD,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE;CAMjE"}
|
|
@@ -56,6 +56,15 @@ Helpers.sum = (arr) => arr.reduce((prev, cur) => prev + cur, 0);
|
|
|
56
56
|
Helpers.sumBigInt = (arr) => arr.reduce((prev, cur) => prev + cur, BigInt(0));
|
|
57
57
|
Helpers.closeEnough = (a, b, tolerance) => Math.abs(a - b) <= tolerance * Math.max(a, b);
|
|
58
58
|
Helpers.closeEnoughBigInt = (a, b, tolerance) => Helpers.closeEnough(Number(a), Number(b), tolerance);
|
|
59
|
+
Helpers.veryCloseInt = (a, b, fixedOne) => Math.abs(Math.floor(a / fixedOne) - Math.floor(b / fixedOne)) <= 1;
|
|
60
|
+
Helpers.blendedOperations = {
|
|
61
|
+
mulNNN: (a, b) => a * b,
|
|
62
|
+
mulNNB: (a, b) => BigInt(Math.floor(a * b)),
|
|
63
|
+
mulNBN: (a, b) => a * Number(b),
|
|
64
|
+
mulNBB: (a, b) => BigInt(Math.floor(a * Number(b))),
|
|
65
|
+
mulBBN: (a, b) => Number(a * b),
|
|
66
|
+
mulBBB: (a, b) => a * b,
|
|
67
|
+
};
|
|
59
68
|
/////////////////////////////////////////////////////////////////////
|
|
60
69
|
//// Display
|
|
61
70
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -30,6 +30,13 @@ export declare class PoolsApi {
|
|
|
30
30
|
slippage: Slippage;
|
|
31
31
|
referrer?: SuiAddress;
|
|
32
32
|
}) => Promise<SerializedTransaction>;
|
|
33
|
+
fetchAllCoinWithdrawTransaction: (inputs: {
|
|
34
|
+
walletAddress: SuiAddress;
|
|
35
|
+
pool: Pool;
|
|
36
|
+
lpCoinAmount: Balance;
|
|
37
|
+
slippage: Slippage;
|
|
38
|
+
referrer?: SuiAddress;
|
|
39
|
+
}) => Promise<SerializedTransaction>;
|
|
33
40
|
fetchTradeTransaction: (inputs: {
|
|
34
41
|
walletAddress: SuiAddress;
|
|
35
42
|
pool: Pool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolsApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACN,OAAO,EACP,0BAA0B,EAC1B,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,0BAA0B,EAC1B,QAAQ,EACR,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,IAAI,EAAS,MAAM,IAAI,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIvD,qBAAa,QAAQ;IAWR,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,SAAgB,OAAO,kBAAC;gBAMK,QAAQ,EAAE,YAAY;IAa5C,gBAAgB,YACb,OAAO,UACR,MAAM,wEAwBZ;IAEI,kBAAkB,YACf,OAAO,UACR,MAAM,0EAwBZ;IAEI,mBAAmB,YAChB,OAAO,UACR,MAAM,2EAwBZ;IAMI,SAAS,aAAoB,QAAQ,iDAK1C;IAEK,UAAU,cAAqB,QAAQ,EAAE,mDAK9C;IAEK,aAAa,sDAGlB;IAMK,uBAAuB,WAAkB;QAC/C,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC;QACX,SAAS,EAAE,cAAc,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAKhC;IAEK,wBAAwB,WAAkB;QAChD,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC;QACX,mBAAmB,EAAE,cAAc,CAAC;QACpC,YAAY,EAAE,OAAO,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAKhC;IAEK,qBAAqB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC;QACX,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAKhC;IAEK,wBAAwB,WAAkB;QAChD,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,qBAAqB,CAAC,CAIhC;IAEK,0BAA0B,WAAkB;QAClD,aAAa,EAAE,UAAU,CAAC;QAC1B,UAAU,EAAE,QAAQ,CAAC;QACrB,cAAc,EAAE,0BAA0B,CAAC;QAC3C,SAAS,EAAE;YACV,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,cAAc,EAAE,OAAO,CAAC;SACxB,EAAE,CAAC;QACJ,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;QACpB,eAAe,EAAE,QAAQ,CAAC;KAC1B,KAAG,QAAQ,qBAAqB,CAAC,CAuChC;IAMK,8BAA8B,eACxB,QAAQ,KAClB,QAAQ,QAAQ,CAAC,CAUlB;IAEK,mBAAmB,0BAQxB;IAOK,cAAc,SACd,IAAI,gBACI,YAAY,KACxB,QAAQ,SAAS,CAAC,CAiEnB;IASK,mBAAmB,aACf,SAAS,WACV,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"poolsApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,10 @@ class PoolsApi {
|
|
|
107
107
|
const transaction = yield this.Helpers.fetchBuildWithdrawTx(inputs);
|
|
108
108
|
return this.Provider.Transactions().fetchSetGasBudgetAndSerializeTransaction(transaction);
|
|
109
109
|
});
|
|
110
|
+
this.fetchAllCoinWithdrawTransaction = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
const transaction = yield this.Helpers.fetchBuildAllCoinWithdrawTx(inputs);
|
|
112
|
+
return this.Provider.Transactions().fetchSetGasBudgetAndSerializeTransaction(transaction);
|
|
113
|
+
});
|
|
110
114
|
this.fetchTradeTransaction = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
111
115
|
const transaction = yield this.Helpers.fetchBuildTradeTx(inputs);
|
|
112
116
|
return this.Provider.Transactions().fetchSetGasBudgetAndSerializeTransaction(transaction);
|
|
@@ -188,15 +192,34 @@ class PoolsApi {
|
|
|
188
192
|
// TODO: rename this function and/or move it ?
|
|
189
193
|
this.fetchLpCoinsToPrice = (provider, lpCoins) => __awaiter(this, void 0, void 0, function* () {
|
|
190
194
|
// PRODUCTION: remove all notions of sdk from api functions !
|
|
191
|
-
const
|
|
195
|
+
const unsafeLpCoinPoolObjectIds = yield Promise.all(lpCoins.map((lpCoinType) => __awaiter(this, void 0, void 0, function* () {
|
|
196
|
+
try {
|
|
197
|
+
return yield provider
|
|
198
|
+
.Pools()
|
|
199
|
+
.getPoolObjectIdForLpCoinType({ lpCoinType });
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
return "";
|
|
203
|
+
}
|
|
204
|
+
})));
|
|
205
|
+
const safeIndexes = [];
|
|
206
|
+
const lpCoinPoolObjectIds = unsafeLpCoinPoolObjectIds.filter((id, index) => {
|
|
207
|
+
const isValid = id !== "";
|
|
208
|
+
if (isValid)
|
|
209
|
+
safeIndexes.push(index);
|
|
210
|
+
return isValid;
|
|
211
|
+
});
|
|
192
212
|
const lpCoinPools = yield provider
|
|
193
213
|
.Pools()
|
|
194
214
|
.getPools({ objectIds: lpCoinPoolObjectIds });
|
|
195
215
|
const poolStats = yield Promise.all(lpCoinPools.map((lpPool) => lpPool.getStats()));
|
|
196
216
|
let lpCoinsToPrice = {};
|
|
197
217
|
for (const [index, lpCoin] of lpCoins.entries()) {
|
|
198
|
-
|
|
199
|
-
|
|
218
|
+
let coinPrice = -1;
|
|
219
|
+
if (safeIndexes.includes(index)) {
|
|
220
|
+
coinPrice = poolStats[index].lpPrice;
|
|
221
|
+
}
|
|
222
|
+
lpCoinsToPrice = Object.assign(Object.assign({}, lpCoinsToPrice), { [lpCoin]: coinPrice });
|
|
200
223
|
}
|
|
201
224
|
return lpCoinsToPrice;
|
|
202
225
|
});
|
|
@@ -46,10 +46,18 @@ export declare class PoolsApiHelpers {
|
|
|
46
46
|
lpCoinId: ObjectId | TransactionArgument;
|
|
47
47
|
lpCoinType: CoinType;
|
|
48
48
|
expectedAmountsOut: Balance[];
|
|
49
|
-
|
|
49
|
+
coinTypes: CoinType[];
|
|
50
50
|
slippage: Slippage;
|
|
51
51
|
withTransfer?: boolean;
|
|
52
52
|
}) => TransactionArgument;
|
|
53
|
+
allCoinWithdrawTx: (inputs: {
|
|
54
|
+
tx: TransactionBlock;
|
|
55
|
+
poolId: ObjectId;
|
|
56
|
+
lpCoinId: ObjectId | TransactionArgument;
|
|
57
|
+
lpCoinType: CoinType;
|
|
58
|
+
coinTypes: CoinType[];
|
|
59
|
+
withTransfer?: boolean;
|
|
60
|
+
}) => TransactionArgument;
|
|
53
61
|
publishLpCoinTx: (inputs: {
|
|
54
62
|
tx: TransactionBlock;
|
|
55
63
|
}) => ({
|
|
@@ -150,6 +158,12 @@ export declare class PoolsApiHelpers {
|
|
|
150
158
|
slippage: Slippage;
|
|
151
159
|
referrer?: SuiAddress;
|
|
152
160
|
}) => Promise<TransactionBlock>;
|
|
161
|
+
fetchBuildAllCoinWithdrawTx: (inputs: {
|
|
162
|
+
walletAddress: SuiAddress;
|
|
163
|
+
pool: Pool;
|
|
164
|
+
lpCoinAmount: Balance;
|
|
165
|
+
referrer?: SuiAddress;
|
|
166
|
+
}) => Promise<TransactionBlock>;
|
|
153
167
|
buildPublishLpCoinTx: (inputs: {
|
|
154
168
|
walletAddress: SuiAddress;
|
|
155
169
|
}) => TransactionBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolsApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EAGnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,EACb,uBAAuB,EACvB,0BAA0B,EAC1B,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EAEtB,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,MAAM,gBAAgB,CAAC;AAGxB,OAAc,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAI1B,qBAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"poolsApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApiHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,8 @@ class PoolsApiHelpers {
|
|
|
53
53
|
const objectIds = yield this.Provider.Events().fetchAllEvents((cursor, limit) => this.Provider.Events().fetchCastEventsWithCursor({
|
|
54
54
|
MoveEventType: eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, "events", "CreatedPoolEvent"),
|
|
55
55
|
}, (eventOnChain) => eventOnChain.parsedJson.pool_id, cursor, limit));
|
|
56
|
-
|
|
56
|
+
const filteredIds = objectIds.filter((id) => !PoolsApiHelpers.constants.blacklistedPoolIds.includes(id));
|
|
57
|
+
return filteredIds;
|
|
57
58
|
});
|
|
58
59
|
/////////////////////////////////////////////////////////////////////
|
|
59
60
|
//// Dev Inspects
|
|
@@ -118,8 +119,8 @@ class PoolsApiHelpers {
|
|
|
118
119
|
});
|
|
119
120
|
};
|
|
120
121
|
this.multiCoinWithdrawTx = (inputs) => {
|
|
121
|
-
const { tx, poolId, lpCoinId, expectedAmountsOut,
|
|
122
|
-
const poolSize =
|
|
122
|
+
const { tx, poolId, lpCoinId, expectedAmountsOut, coinTypes, lpCoinType, slippage, withTransfer, } = inputs;
|
|
123
|
+
const poolSize = coinTypes.length;
|
|
123
124
|
return tx.add({
|
|
124
125
|
kind: "MoveCall",
|
|
125
126
|
target: utils_1.Helpers.transactions.createTransactionTarget(withTransfer
|
|
@@ -127,7 +128,7 @@ class PoolsApiHelpers {
|
|
|
127
128
|
: this.addresses.pools.packages.amm, withTransfer
|
|
128
129
|
? PoolsApiHelpers.constants.moduleNames.interface
|
|
129
130
|
: PoolsApiHelpers.constants.moduleNames.withdraw, `withdraw_${poolSize}_coins`),
|
|
130
|
-
typeArguments: [lpCoinType, ...
|
|
131
|
+
typeArguments: [lpCoinType, ...coinTypes],
|
|
131
132
|
arguments: [
|
|
132
133
|
tx.object(poolId),
|
|
133
134
|
tx.object(this.addresses.pools.objects.poolRegistry),
|
|
@@ -141,9 +142,31 @@ class PoolsApiHelpers {
|
|
|
141
142
|
],
|
|
142
143
|
});
|
|
143
144
|
};
|
|
145
|
+
this.allCoinWithdrawTx = (inputs) => {
|
|
146
|
+
const { tx, poolId, lpCoinId, coinTypes, lpCoinType, withTransfer } = inputs;
|
|
147
|
+
const poolSize = coinTypes.length;
|
|
148
|
+
return tx.add({
|
|
149
|
+
kind: "MoveCall",
|
|
150
|
+
target: utils_1.Helpers.transactions.createTransactionTarget(withTransfer
|
|
151
|
+
? this.addresses.pools.packages.ammInterface
|
|
152
|
+
: this.addresses.pools.packages.amm, withTransfer
|
|
153
|
+
? PoolsApiHelpers.constants.moduleNames.interface
|
|
154
|
+
: PoolsApiHelpers.constants.moduleNames.withdraw, `all_coin_withdraw_${poolSize}_coins`),
|
|
155
|
+
typeArguments: [lpCoinType, ...coinTypes],
|
|
156
|
+
arguments: [
|
|
157
|
+
tx.object(poolId),
|
|
158
|
+
tx.object(this.addresses.pools.objects.poolRegistry),
|
|
159
|
+
tx.object(this.addresses.pools.objects.protocolFeeVault),
|
|
160
|
+
tx.object(this.addresses.pools.objects.treasury),
|
|
161
|
+
tx.object(this.addresses.pools.objects.insuranceFund),
|
|
162
|
+
tx.object(this.addresses.referralVault.objects.referralVault),
|
|
163
|
+
typeof lpCoinId === "string" ? tx.object(lpCoinId) : lpCoinId,
|
|
164
|
+
],
|
|
165
|
+
});
|
|
166
|
+
};
|
|
144
167
|
this.publishLpCoinTx = (inputs) => {
|
|
145
168
|
const { tx } = inputs;
|
|
146
|
-
const compiledModulesAndDeps = JSON.parse(`{"modules":["
|
|
169
|
+
const compiledModulesAndDeps = JSON.parse(`{"modules":["oRzrCwYAAAAJAQAGAgYIAw4LBBkCBRsQBytPCHpgCtoBBQzfAQ0AAgIDAQcAAAIAAgECAAAGAAEAAQQDAQECAQICCAAHCAEAAQgAAgkABwgBBUFGX0xQCVR4Q29udGV4dAVhZl9scA1hbW1faW50ZXJmYWNlDmNyZWF0ZV9scF9jb2luC2R1bW15X2ZpZWxkBGluaXQKdHhfY29udGV4dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAITrjjbvbkwWswAhXLcNgQmxJj+yuKv50mWJoNBcn191gACAQUBAAAAAAEECwALATgAAgA="],"dependencies":["0xadf8553fc429ed873633d18df297b8c1081f7d9080c60e9f70296bc464b6aeec","0x13ae38dbbdb9305acc008572dc360426c498fecae2afe74996268341727d7dd6","0x321a50c956db8b0b8fe53af2756e33212e18ea1a6ba82b9dd4308114b6944289","0x0000000000000000000000000000000000000000000000000000000000000001","0x3f84a34a349dfc02cf3f7b90d13a7b81e4956c9d5b77345ae251d79f1db1e44d","0x484d68333fe65c4910a5c708c9aa6469bfc59d343bc5ed898a18226ae422959f","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0x373c265b27110d08e500ebb2a2e40aab08e1dd7d7f40eb878094ed260c4e5afa","0x543763e9d064c12274dc08a8099824f90cba4334190b805fd360e0d34dad0309"],"digest":[23,92,91,106,221,67,5,140,177,219,29,237,180,148,146,248,27,194,142,243,33,50,220,35,113,82,255,83,103,114,27,201]}`);
|
|
147
170
|
return tx.publish({
|
|
148
171
|
modules: compiledModulesAndDeps.modules.map((m) => Array.from((0, sui_js_1.fromB64)(m))),
|
|
149
172
|
dependencies: compiledModulesAndDeps.dependencies.map((addr) => (0, sui_js_1.normalizeSuiObjectId)(addr)),
|
|
@@ -282,13 +305,39 @@ class PoolsApiHelpers {
|
|
|
282
305
|
poolId: pool.pool.objectId,
|
|
283
306
|
lpCoinType: pool.pool.lpCoinType,
|
|
284
307
|
expectedAmountsOut: coinAmounts,
|
|
285
|
-
|
|
308
|
+
coinTypes: coinTypes,
|
|
286
309
|
lpCoinId,
|
|
287
310
|
slippage,
|
|
288
311
|
withTransfer: true,
|
|
289
312
|
});
|
|
290
313
|
return tx;
|
|
291
314
|
});
|
|
315
|
+
this.fetchBuildAllCoinWithdrawTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
316
|
+
const { walletAddress, pool, lpCoinAmount, referrer } = inputs;
|
|
317
|
+
const tx = new sui_js_1.TransactionBlock();
|
|
318
|
+
tx.setSender(walletAddress);
|
|
319
|
+
if (referrer)
|
|
320
|
+
this.Provider.ReferralVault().Helpers.addUpdateReferrerCommandToTransaction({
|
|
321
|
+
tx,
|
|
322
|
+
referrer,
|
|
323
|
+
});
|
|
324
|
+
const lpCoinId = yield this.Provider.Coin().Helpers.fetchCoinWithAmountTx({
|
|
325
|
+
tx,
|
|
326
|
+
walletAddress,
|
|
327
|
+
coinType: pool.pool.lpCoinType,
|
|
328
|
+
coinAmount: lpCoinAmount,
|
|
329
|
+
});
|
|
330
|
+
const coinTypes = Object.keys(pool.pool.coins);
|
|
331
|
+
this.allCoinWithdrawTx({
|
|
332
|
+
tx,
|
|
333
|
+
poolId: pool.pool.objectId,
|
|
334
|
+
lpCoinType: pool.pool.lpCoinType,
|
|
335
|
+
coinTypes,
|
|
336
|
+
lpCoinId,
|
|
337
|
+
withTransfer: true,
|
|
338
|
+
});
|
|
339
|
+
return tx;
|
|
340
|
+
});
|
|
292
341
|
this.buildPublishLpCoinTx = (inputs) => {
|
|
293
342
|
const tx = new sui_js_1.TransactionBlock();
|
|
294
343
|
tx.setSender(inputs.walletAddress);
|
|
@@ -474,4 +523,5 @@ PoolsApiHelpers.constants = {
|
|
|
474
523
|
withdraw: "WithdrawEvent",
|
|
475
524
|
},
|
|
476
525
|
defaultLpCoinIconImageUrl: "https://aftermath.finance/coins/lp/af_lp.svg",
|
|
526
|
+
blacklistedPoolIds: [""],
|
|
477
527
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiPoolDepositBody, ApiPoolTradeBody, ApiPoolWithdrawBody, Balance, CoinType, CoinsToBalance, PoolDataPoint, PoolVolumeDataTimeframeKey, PoolObject, PoolStats, ApiEventsBody, PoolDepositEvent, PoolWithdrawEvent, PoolTradeEvent } from "../../types";
|
|
1
|
+
import { ApiPoolDepositBody, ApiPoolTradeBody, ApiPoolWithdrawBody, Balance, CoinType, CoinsToBalance, PoolDataPoint, PoolVolumeDataTimeframeKey, PoolObject, PoolStats, ApiEventsBody, PoolDepositEvent, PoolWithdrawEvent, PoolTradeEvent, ApiPoolAllCoinWithdrawBody } from "../../types";
|
|
2
2
|
import { Caller } from "../../general/utils/caller";
|
|
3
3
|
export declare class Pool extends Caller {
|
|
4
4
|
readonly pool: PoolObject;
|
|
@@ -13,6 +13,7 @@ export declare class Pool extends Caller {
|
|
|
13
13
|
}): Promise<PoolDataPoint[]>;
|
|
14
14
|
getDepositTransaction(inputs: ApiPoolDepositBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
15
15
|
getWithdrawTransaction(inputs: ApiPoolWithdrawBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
16
|
+
getAllCoinWithdrawTransaction(inputs: ApiPoolAllCoinWithdrawBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
16
17
|
getTradeTransaction(inputs: ApiPoolTradeBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
17
18
|
getDepositEvents(inputs: ApiEventsBody): Promise<{
|
|
18
19
|
events: PoolDepositEvent[];
|
|
@@ -64,6 +65,10 @@ export declare class Pool extends Caller {
|
|
|
64
65
|
amountsOutDirection: CoinsToBalance;
|
|
65
66
|
referral?: boolean;
|
|
66
67
|
}) => CoinsToBalance;
|
|
68
|
+
getAllCoinWithdrawAmountsOut: (inputs: {
|
|
69
|
+
lpRatio: number;
|
|
70
|
+
referral?: boolean;
|
|
71
|
+
}) => CoinsToBalance;
|
|
67
72
|
getWithdrawLpRatio: (inputs: {
|
|
68
73
|
lpCoinAmountOut: bigint;
|
|
69
74
|
}) => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,UAAU,EACV,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EAEd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIpD,qBAAa,IAAK,SAAQ,MAAM;aAoBd,IAAI,EAAE,UAAU;aAChB,OAAO,CAAC;IAhBzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAE/B;IAMK,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAOnB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,oBAAkB;IAU9B,QAAQ;IAId,QAAQ,CAAC,KAAK,EAAE,SAAS;IAInB,SAAS,CAAC,MAAM,EAAE;QAC9B,SAAS,EAAE,0BAA0B,CAAC;KACtC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQf,qBAAqB,CAAC,MAAM,EAAE,kBAAkB;IAOhD,sBAAsB,CAAC,MAAM,EAAE,mBAAmB;IAOlD,mBAAmB,CAAC,MAAM,EAAE,gBAAgB;IAW5C,gBAAgB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAetC,iBAAiB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAevC,cAAc,CAAC,MAAM,EAAE,aAAa;;;;;;;IAmB1C,YAAY,WAAY;QAC9B,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,YAOC;IAEK,iBAAiB,WAAY;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,gBAAgB,WAAY;QAClC,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,qBAAqB,WAAY;QACvC,SAAS,EAAE,cAAc,CAAC;QAE1B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB;qBACa,OAAO;iBACX,MAAM;MAmBd;IAEK,qBAAqB,WAAY;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,cAAc,CAAC;QAEpC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,cAAc,CAahB;IAEK,kBAAkB,WAAY;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,UAAU,EACV,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EAEd,0BAA0B,EAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIpD,qBAAa,IAAK,SAAQ,MAAM;aAoBd,IAAI,EAAE,UAAU;aAChB,OAAO,CAAC;IAhBzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAE/B;IAMK,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAOnB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,oBAAkB;IAU9B,QAAQ;IAId,QAAQ,CAAC,KAAK,EAAE,SAAS;IAInB,SAAS,CAAC,MAAM,EAAE;QAC9B,SAAS,EAAE,0BAA0B,CAAC;KACtC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQf,qBAAqB,CAAC,MAAM,EAAE,kBAAkB;IAOhD,sBAAsB,CAAC,MAAM,EAAE,mBAAmB;IAOlD,6BAA6B,CACzC,MAAM,EAAE,0BAA0B;IAQtB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB;IAW5C,gBAAgB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAetC,iBAAiB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAevC,cAAc,CAAC,MAAM,EAAE,aAAa;;;;;;;IAmB1C,YAAY,WAAY;QAC9B,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,YAOC;IAEK,iBAAiB,WAAY;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,gBAAgB,WAAY;QAClC,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,qBAAqB,WAAY;QACvC,SAAS,EAAE,cAAc,CAAC;QAE1B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB;qBACa,OAAO;iBACX,MAAM;MAmBd;IAEK,qBAAqB,WAAY;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,cAAc,CAAC;QAEpC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,cAAc,CAahB;IAEK,4BAA4B,WAAY;QAC9C,OAAO,EAAE,MAAM,CAAC;QAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,cAAc,CAehB;IAEK,kBAAkB,WAAY;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,KAAG,MAAM,CACR;CAGjE"}
|
|
@@ -73,7 +73,7 @@ class Pool extends caller_1.Caller {
|
|
|
73
73
|
if (calcedLpRatio >= utils_1.Casting.fixedOneBigInt)
|
|
74
74
|
throw new Error("lpRatio >= 1");
|
|
75
75
|
const lpRatio = utils_1.Casting.bigIntToFixedNumber(calcedLpRatio);
|
|
76
|
-
const lpAmountOut = BigInt(Math.floor(Number(this.pool.lpCoinSupply) * (1 -
|
|
76
|
+
const lpAmountOut = BigInt(Math.floor(Number(this.pool.lpCoinSupply) * (1 / lpRatio - 1)));
|
|
77
77
|
return {
|
|
78
78
|
lpAmountOut,
|
|
79
79
|
lpRatio,
|
|
@@ -87,8 +87,15 @@ class Pool extends caller_1.Caller {
|
|
|
87
87
|
}
|
|
88
88
|
return amountsOut;
|
|
89
89
|
};
|
|
90
|
-
this.
|
|
91
|
-
|
|
90
|
+
this.getAllCoinWithdrawAmountsOut = (inputs) => {
|
|
91
|
+
if (inputs.lpRatio >= 1)
|
|
92
|
+
throw new Error("lpRatio >= 1");
|
|
93
|
+
const amountsOut = Object.entries(this.pool.coins).reduce((acc, [coin, info]) => {
|
|
94
|
+
return Object.assign(Object.assign({}, acc), { [coin]: BigInt(Math.floor(Number(info.balance) * inputs.lpRatio)) });
|
|
95
|
+
}, {});
|
|
96
|
+
return amountsOut;
|
|
97
|
+
};
|
|
98
|
+
this.getWithdrawLpRatio = (inputs) => Number(inputs.lpCoinAmountOut) / Number(this.pool.lpCoinSupply);
|
|
92
99
|
this.pool = pool;
|
|
93
100
|
}
|
|
94
101
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -120,6 +127,11 @@ class Pool extends caller_1.Caller {
|
|
|
120
127
|
return this.fetchApiTransaction("transactions/withdraw", inputs);
|
|
121
128
|
});
|
|
122
129
|
}
|
|
130
|
+
getAllCoinWithdrawTransaction(inputs) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
return this.fetchApiTransaction("transactions/all-coin-withdraw", inputs);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
123
135
|
getTradeTransaction(inputs) {
|
|
124
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
125
137
|
return this.fetchApiTransaction("transactions/trade", inputs);
|
|
@@ -99,12 +99,10 @@ export interface ApiPoolWithdrawBody {
|
|
|
99
99
|
slippage: Slippage;
|
|
100
100
|
referrer?: SuiAddress;
|
|
101
101
|
}
|
|
102
|
-
export interface
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
export interface ApiPoolObjectIdForLpCoinTypeBody {
|
|
107
|
-
lpCoinType: CoinType;
|
|
102
|
+
export interface ApiPoolAllCoinWithdrawBody {
|
|
103
|
+
walletAddress: SuiAddress;
|
|
104
|
+
lpCoinAmount: Balance;
|
|
105
|
+
referrer?: SuiAddress;
|
|
108
106
|
}
|
|
109
107
|
export interface ApiPublishLpCoinBody {
|
|
110
108
|
walletAddress: SuiAddress;
|
|
@@ -123,4 +121,11 @@ export interface ApiCreatePoolBody {
|
|
|
123
121
|
poolFlatness: 0 | 1;
|
|
124
122
|
createPoolCapId: ObjectId;
|
|
125
123
|
}
|
|
124
|
+
export interface ApiPoolSpotPriceBody {
|
|
125
|
+
coinInType: CoinType;
|
|
126
|
+
coinOutType: CoinType;
|
|
127
|
+
}
|
|
128
|
+
export interface ApiPoolObjectIdForLpCoinTypeBody {
|
|
129
|
+
lpCoinType: CoinType;
|
|
130
|
+
}
|
|
126
131
|
//# sourceMappingURL=poolsTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolsTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/poolsTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,KAAK,EACL,MAAM,EAEN,QAAQ,EACR,SAAS,EAET,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAS7D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAMlC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CACjB;AAMD,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC9C,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC/C,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACnE,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;CACzB;AAMD,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"poolsTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/poolsTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Balance, CoinType, CoinsToBalance, PoolObject } from "../../../types";
|
|
2
|
+
import { LocalNumber, OnChainScalar } from "../../../general/utils/fixed";
|
|
2
3
|
export declare class CmmmCalculations {
|
|
3
4
|
private static minWeight;
|
|
4
5
|
private static maxWeightedTokens;
|
|
@@ -8,21 +9,34 @@ export declare class CmmmCalculations {
|
|
|
8
9
|
private static maxInvariantRatio;
|
|
9
10
|
private static maxNewtonAttempts;
|
|
10
11
|
private static convergenceBound;
|
|
11
|
-
private static
|
|
12
|
-
private static
|
|
13
|
-
private static convertToInt;
|
|
14
|
-
private static directCast;
|
|
15
|
-
private static directUncast;
|
|
12
|
+
private static tolerance;
|
|
13
|
+
private static validityTolerance;
|
|
16
14
|
static calcInvariant: (pool: PoolObject) => number;
|
|
17
15
|
static calcInvariantQuadratic: (prod: number, sum: number, flatness: number) => number;
|
|
18
16
|
static calcInvariantComponents: (pool: PoolObject, index: CoinType) => [prod: number, sum: number, p0: number, s0: number, h: number];
|
|
19
|
-
private static getTokenBalanceGivenInvariantAndAllOtherBalances;
|
|
20
17
|
static calcSpotPrice: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType) => number;
|
|
21
18
|
static calcSpotPriceWithFees: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, ignoreFees?: boolean) => number;
|
|
22
19
|
private static calcSpotPriceBody;
|
|
23
20
|
static calcOutGivenIn: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, amountIn: Balance) => Balance;
|
|
24
21
|
static calcInGivenOut: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, amountOut: Balance) => Balance;
|
|
25
|
-
static
|
|
26
|
-
static
|
|
22
|
+
static calcSwapFixedIn: (pool: PoolObject, amountsIn: CoinsToBalance, amountsOutDirection: CoinsToBalance) => OnChainScalar;
|
|
23
|
+
static calcSwapFixedOut: (pool: PoolObject, amountsInDirection: CoinsToBalance, amountsOut: CoinsToBalance) => OnChainScalar;
|
|
24
|
+
static calcDepositFixedAmounts: (pool: PoolObject, amountsIn: CoinsToBalance) => OnChainScalar;
|
|
25
|
+
private static calcDepositFixedAmountsInitialEstimate;
|
|
26
|
+
static calcWithdrawFlpAmountsOut: (pool: PoolObject, amountsOutDirection: CoinsToBalance, lpRatio: LocalNumber) => CoinsToBalance;
|
|
27
|
+
private static calcWithdrawFlpAmountsOutInitialEstimate;
|
|
28
|
+
static calcAllCoinDeposit: (pool: PoolObject, amountsIn: CoinsToBalance) => CoinsToBalance;
|
|
29
|
+
static calcAllCoinWithdraw: (pool: PoolObject, amountsOut: CoinsToBalance) => CoinsToBalance;
|
|
30
|
+
private static getTokenBalanceGivenInvariantAndAllOtherBalances;
|
|
31
|
+
static checkValidSwap: (pool: PoolObject, amountsIn: CoinsToBalance, amountsInScalar: LocalNumber, amountsOut: CoinsToBalance, amountsOutScalar: LocalNumber) => boolean;
|
|
32
|
+
static checkValid1dSwap: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, amountInB: Balance, amountOutB: Balance) => boolean;
|
|
33
|
+
static checkValidDeposit: (pool: PoolObject, amountsIn: CoinsToBalance, lpRatioRaw: OnChainScalar) => boolean;
|
|
34
|
+
static checkValidWithdraw: (pool: PoolObject, amountsOutSrc: CoinsToBalance, lpRatio: LocalNumber) => boolean;
|
|
35
|
+
static getEstimateOutGivenIn: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, amountIn: Balance) => Balance;
|
|
36
|
+
static getEstimateInGivenOut: (pool: PoolObject, coinTypeIn: CoinType, coinTypeOut: CoinType, amountOut: Balance) => Balance;
|
|
37
|
+
static getEstimateSwapFixedIn: (pool: PoolObject, amountsIn: CoinsToBalance, amountsOutDirection: CoinsToBalance) => LocalNumber;
|
|
38
|
+
static getEstimateSwapFixedOut: (pool: PoolObject, amountsInDirection: CoinsToBalance, amountsOut: CoinsToBalance) => LocalNumber;
|
|
39
|
+
static getEstimateDepositFixedAmounts: (pool: PoolObject, amountsIn: CoinsToBalance) => LocalNumber;
|
|
40
|
+
static getEstimateWithdrawFlpAmountsOut: (pool: PoolObject, amountsOutDirection: CoinsToBalance, lpRatio: LocalNumber) => LocalNumber;
|
|
27
41
|
}
|
|
28
42
|
//# sourceMappingURL=cmmmCalculations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmmmCalculations.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/utils/cmmmCalculations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cmmmCalculations.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/utils/cmmmCalculations.ts"],"names":[],"mappings":"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"}
|