aftermath-ts-sdk 0.0.127 → 0.0.129

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.
@@ -1 +1 @@
1
- {"version":3,"file":"inspectionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/api/inspectionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,qBAAa,qBAAqB;IAKrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,2BAA2B,OAAc,gBAAgB,uBAE9D;IAGK,yBAAyB,WAAkB;QACjD,EAAE,EAAE,gBAAgB,CAAC;KACrB,KAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAqBnB;CACF"}
1
+ {"version":3,"file":"inspectionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/api/inspectionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,qBAAa,qBAAqB;IAKrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,2BAA2B,OAAc,gBAAgB,uBAE9D;IAGK,yBAAyB,WAAkB;QACjD,EAAE,EAAE,gBAAgB,CAAC;KACrB,KAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAwBnB;CACF"}
@@ -33,8 +33,11 @@ class InspectionsApiHelpers {
33
33
  sender: signer,
34
34
  transactionBlock: inputs.tx,
35
35
  });
36
- if (response.effects.status.status === "failure")
36
+ if (response.effects.status.status === "failure") {
37
+ console.error(response.error);
38
+ console.error(response.effects.status.error);
37
39
  throw Error("dev inspect move call failed");
40
+ }
38
41
  if (!response.results)
39
42
  throw Error("dev inspect move call returned no results");
40
43
  const returnVals = response.results[0].returnValues;
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/api/transactionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,gCAAgC,EAChC,gBAAgB,EAChB,iBAAiB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,2BAA2B,UAC1B,gCAAgC,WAC9B,iBAAiB,UAClB,MAAM,KACZ,QAAQ,sBAAsB,CAAC,CAkBhC;IAEK,+BAA+B,OACjC,gBAAgB,KAClB,QAAQ,gBAAgB,CAAC,CAkB1B;IAEK,wCAAwC,OAC1C,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC,KAC9C,QAAQ,qBAAqB,CAAC,CAI/B;IAUF,OAAc,uBAAuB,mBACpB,MAAM,eACT,MAAM,gBACL,MAAM,KAClB,GAAG,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CACkB;IAEtD,OAAc,kBAAkB;cAErB,IAAI;;;MACyC;CACxD"}
1
+ {"version":3,"file":"transactionsApiHelpers.d.ts","sourceRoot":"","sources":["../../../src/general/api/transactionsApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,gCAAgC,EAChC,gBAAgB,EAChB,iBAAiB,EAIjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,2BAA2B,UAC1B,gCAAgC,WAC9B,iBAAiB,UAClB,MAAM,KACZ,QAAQ,sBAAsB,CAAC,CAkBhC;IAEK,+BAA+B,OACjC,gBAAgB,KAClB,QAAQ,gBAAgB,CAAC,CAoB1B;IAEK,wCAAwC,OAC1C,gBAAgB,GAAG,QAAQ,gBAAgB,CAAC,KAC9C,QAAQ,qBAAqB,CAAC,CAI/B;IAUF,OAAc,uBAAuB,mBACpB,MAAM,eACT,MAAM,gBACL,MAAM,KAClB,GAAG,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE,CACkB;IAEtD,OAAc,kBAAkB;cAErB,IAAI;;;MACyC;CACxD"}
@@ -50,7 +50,8 @@ class TransactionsApiHelpers {
50
50
  const gasUsed = (0, sui_js_1.getTotalGasUsedUpperBound)(txResponse.effects);
51
51
  if (gasUsed === undefined)
52
52
  throw Error("dry run move call failed");
53
- tx.setGasBudget(gasUsed);
53
+ const safeGasBudget = gasUsed + gasUsed / BigInt(10);
54
+ tx.setGasBudget(safeGasBudget);
54
55
  tx.setGasPrice(referenceGasPrice);
55
56
  return tx;
56
57
  });
@@ -32,7 +32,8 @@ export interface StakingAddresses {
32
32
  }
33
33
  export interface PoolsAddresses {
34
34
  packages: {
35
- cmmm: SuiAddress;
35
+ amm: SuiAddress;
36
+ ammInterface: SuiAddress;
36
37
  };
37
38
  objects: {
38
39
  poolRegistry: ObjectId;
@@ -97,7 +98,7 @@ export interface CetusAddresses {
97
98
  }
98
99
  export interface TurbosAddresses {
99
100
  packages: {
100
- poolFetcher: SuiAddress;
101
+ clmm: SuiAddress;
101
102
  wrapper: SuiAddress;
102
103
  };
103
104
  objects: {
@@ -1 +1 @@
1
- {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../src/general/types/configTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../../src/general/types/configTypes.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class Casting {
16
16
  static fixedOneBigInt: bigint;
17
17
  static fixedOneNumber: number;
18
18
  static u64MaxBigInt: bigint;
19
+ static u128MaxBigInt: bigint;
19
20
  static zeroBigInt: bigint;
20
21
  static numberToFixedBigInt: (a: number) => bigint;
21
22
  static bigIntToFixedNumber: (a: bigint) => number;
@@ -1 +1 @@
1
- {"version":3,"file":"casting.d.ts","sourceRoot":"","sources":["../../../src/general/utils/casting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,qBAAa,OAAO;IAKnB,OAAc,KAAK,yBAAmB;IACtC,OAAc,KAAK,yBAAmB;IACtC,OAAc,MAAM,0BAAoB;IACxC,OAAc,OAAO,2BAAqB;IAC1C,OAAc,GAAG,uBAAiB;IAClC,OAAc,MAAM,0BAAoB;IAUxC,OAAc,cAAc,EAAE,MAAM,CAAiC;IACrE,OAAc,cAAc,EAAE,MAAM,CAA+B;IACnE,OAAc,YAAY,EAAE,MAAM,CAAgC;IAClE,OAAc,UAAU,EAAE,MAAM,CAAa;IAU7C,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACV;IAC7C,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACtB;IAEjC,OAAc,mBAAmB,WAAY,MAAM,OAAO,MAAM,KAAG,MAAM,CAC/B;IAM1C,OAAc,eAAe,UAAW,IAAI,EAAE,YACN;IAExC,OAAc,eAAe,UAAW,IAAI,EAAE,YAO3C;IAEH,OAAc,gBAAgB,UAAW,IAAI,EAAE,KAAG,UAAU,CACX;IAEjD,OAAc,sBAAsB,UAAW,IAAI,EAAE,KAAG,GAAG,CACT;IAElD,OAAc,kBAAkB,QAAS,MAAM,cAS7C;IAEF,OAAc,0BAA0B,sBAAuB,MAAM,YAEnE;CACF"}
1
+ {"version":3,"file":"casting.d.ts","sourceRoot":"","sources":["../../../src/general/utils/casting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,qBAAa,OAAO;IAKnB,OAAc,KAAK,yBAAmB;IACtC,OAAc,KAAK,yBAAmB;IACtC,OAAc,MAAM,0BAAoB;IACxC,OAAc,OAAO,2BAAqB;IAC1C,OAAc,GAAG,uBAAiB;IAClC,OAAc,MAAM,0BAAoB;IAUxC,OAAc,cAAc,EAAE,MAAM,CAAiC;IACrE,OAAc,cAAc,EAAE,MAAM,CAA+B;IACnE,OAAc,YAAY,EAAE,MAAM,CAAgC;IAClE,OAAc,aAAa,EAAE,MAAM,CAEjC;IACF,OAAc,UAAU,EAAE,MAAM,CAAa;IAU7C,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACV;IAC7C,OAAc,mBAAmB,MAAO,MAAM,KAAG,MAAM,CACtB;IAEjC,OAAc,mBAAmB,WAAY,MAAM,OAAO,MAAM,KAAG,MAAM,CAC/B;IAM1C,OAAc,eAAe,UAAW,IAAI,EAAE,YACN;IAExC,OAAc,eAAe,UAAW,IAAI,EAAE,YAO3C;IAEH,OAAc,gBAAgB,UAAW,IAAI,EAAE,KAAG,UAAU,CACX;IAEjD,OAAc,sBAAsB,UAAW,IAAI,EAAE,KAAG,GAAG,CACT;IAElD,OAAc,kBAAkB,QAAS,MAAM,cAS7C;IAEF,OAAc,0BAA0B,sBAAuB,MAAM,YAEnE;CACF"}
@@ -31,6 +31,7 @@ Casting.nftAmm = nftAmmApiCasting_1.NftAmmApiCasting;
31
31
  Casting.fixedOneBigInt = BigInt("1000000000000000000");
32
32
  Casting.fixedOneNumber = Number(_a.fixedOneBigInt);
33
33
  Casting.u64MaxBigInt = BigInt("0xFFFFFFFFFFFFFFFF");
34
+ Casting.u128MaxBigInt = BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
34
35
  Casting.zeroBigInt = BigInt(0);
35
36
  /////////////////////////////////////////////////////////////////////
36
37
  //// Functions
@@ -20,7 +20,13 @@ export declare class CoinApiHelpers {
20
20
  coinType: CoinType;
21
21
  coinAmount: Balance;
22
22
  }) => Promise<TransactionArgument>;
23
- fetchCoinsWithAmountTx: (tx: TransactionBlock, walletAddress: SuiAddress, coinTypes: CoinType[], coinAmounts: Balance[]) => Promise<TransactionArgument[]>;
23
+ fetchCoinsWithAmountTx: (inputs: {
24
+ tx: TransactionBlock;
25
+ walletAddress: SuiAddress;
26
+ coinTypes: CoinType[];
27
+ coinAmounts: Balance[];
28
+ }) => Promise<TransactionArgument[]>;
29
+ private fetchCoinsUntilAmountReachedOrEnd;
24
30
  private static coinWithAmountTx;
25
31
  }
26
32
  //# sourceMappingURL=coinApiHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coinApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/coin/api/coinApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAEhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,qBAAa,cAAc;IAKd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,iBAAiB,SAAgB,QAAQ,qBAS9C;IAIK,iCAAiC,SACjC,QAAQ,UACN,MAAM,qBAIb;IAEK,+BAA+B,SAC/B,QAAQ,WACL,OAAO,qBAIf;IAEK,oBAAoB,UAAiB,QAAQ,EAAE,qCAYpD;IAEK,yBAAyB,UACxB,QAAQ,EAAE,WACR,MAAM,EAAE,uBAahB;IAEW,6BAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CACrE,MAAM,CACL,QAAQ,EACR;QACC,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACd,CACD,CACD;IA2BD,OAAc,0BAA0B,UAAW,QAAQ,EAAE,gBACG;IAMzD,qBAAqB,WAAkB;QAC7C,EAAE,EAAE,gBAAgB,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACpB,KAAG,QAAQ,mBAAmB,CAAC,CAgB9B;IAEK,sBAAsB,OACxB,gBAAgB,iBACL,UAAU,aACd,QAAQ,EAAE,eACR,OAAO,EAAE,KACpB,QAAQ,mBAAmB,EAAE,CAAC,CAyB/B;IAUF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAuD7B;CACF"}
1
+ {"version":3,"file":"coinApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/coin/api/coinApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIvE,qBAAa,cAAc;IAKd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,YAAY;IAY5C,iBAAiB,SAAgB,QAAQ,qBAS9C;IAIK,iCAAiC,SACjC,QAAQ,UACN,MAAM,qBAIb;IAEK,+BAA+B,SAC/B,QAAQ,WACL,OAAO,qBAIf;IAEK,oBAAoB,UAAiB,QAAQ,EAAE,qCAYpD;IAEK,yBAAyB,UACxB,QAAQ,EAAE,WACR,MAAM,EAAE,uBAahB;IAEW,6BAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CACrE,MAAM,CACL,QAAQ,EACR;QACC,QAAQ,EAAE,WAAW,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;KACd,CACD,CACD;IA2BD,OAAc,0BAA0B,UAAW,QAAQ,EAAE,gBACG;IAMzD,qBAAqB,WAAkB;QAC7C,EAAE,EAAE,gBAAgB,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACpB,KAAG,QAAQ,mBAAmB,CAAC,CAW9B;IAEK,sBAAsB,WAAkB;QAC9C,EAAE,EAAE,gBAAgB,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,EAAE,OAAO,EAAE,CAAC;KACvB,KAAG,QAAQ,mBAAmB,EAAE,CAAC,CA4BhC;IAUF,OAAO,CAAC,iCAAiC,CAmCvC;IAMF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAgD7B;CACF"}
@@ -66,35 +66,54 @@ class CoinApiHelpers {
66
66
  this.fetchCoinWithAmountTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
67
67
  const { tx, walletAddress, coinType, coinAmount } = inputs;
68
68
  tx.setSender(walletAddress);
69
- // PRODUCTION: handle cursoring until necessary coin amount is found
70
- const paginatedCoins = yield this.Provider.provider.getCoins({
71
- owner: walletAddress,
72
- coinType,
73
- });
69
+ const coinData = yield this.fetchCoinsUntilAmountReachedOrEnd(inputs);
74
70
  return CoinApiHelpers.coinWithAmountTx({
75
71
  tx,
76
- paginatedCoins,
72
+ coinData,
77
73
  coinAmount,
78
74
  });
79
75
  });
80
- this.fetchCoinsWithAmountTx = (tx, walletAddress, coinTypes, coinAmounts) => __awaiter(this, void 0, void 0, function* () {
76
+ this.fetchCoinsWithAmountTx = (inputs) => __awaiter(this, void 0, void 0, function* () {
77
+ const { tx, walletAddress, coinTypes, coinAmounts } = inputs;
81
78
  tx.setSender(walletAddress);
82
79
  // TODO: handle cursoring until necessary coin amount is found
83
- const allPaginatedCoins = yield Promise.all(coinTypes.map((coinType) => this.Provider.provider.getCoins({
84
- owner: walletAddress,
85
- coinType,
80
+ const allCoinsData = yield Promise.all(coinTypes.map((coinType, index) => __awaiter(this, void 0, void 0, function* () {
81
+ return this.fetchCoinsUntilAmountReachedOrEnd(Object.assign(Object.assign({}, inputs), { coinAmount: coinAmounts[index], coinType }));
86
82
  })));
87
83
  let coinArgs = [];
88
- for (const [index, coinData] of allPaginatedCoins.entries()) {
84
+ for (const [index, coinData] of allCoinsData.entries()) {
89
85
  const coinArg = CoinApiHelpers.coinWithAmountTx({
90
86
  tx,
91
- paginatedCoins: coinData,
87
+ coinData,
92
88
  coinAmount: coinAmounts[index],
93
89
  });
94
90
  coinArgs = [...coinArgs, coinArg];
95
91
  }
96
92
  return coinArgs;
97
93
  });
94
+ /////////////////////////////////////////////////////////////////////
95
+ //// Private Methods
96
+ /////////////////////////////////////////////////////////////////////
97
+ /////////////////////////////////////////////////////////////////////
98
+ //// Helpers
99
+ /////////////////////////////////////////////////////////////////////
100
+ this.fetchCoinsUntilAmountReachedOrEnd = (inputs) => __awaiter(this, void 0, void 0, function* () {
101
+ let allCoinData = [];
102
+ let cursor = undefined;
103
+ do {
104
+ const paginatedCoins = yield this.Provider.provider.getCoins(Object.assign(Object.assign({}, inputs), { owner: inputs.walletAddress, cursor }));
105
+ const coinData = paginatedCoins.data.filter((data) => !data.lockedUntilEpoch && BigInt(data.balance) > BigInt(0));
106
+ allCoinData = [...allCoinData, ...coinData];
107
+ const totalAmount = helpers_1.Helpers.sumBigInt(allCoinData.map((data) => BigInt(data.balance)));
108
+ if (totalAmount >= inputs.coinAmount)
109
+ return allCoinData;
110
+ if (paginatedCoins.data.length === 0 ||
111
+ !paginatedCoins.hasNextPage ||
112
+ !paginatedCoins.nextCursor)
113
+ return allCoinData;
114
+ cursor = paginatedCoins.nextCursor;
115
+ } while (true);
116
+ });
98
117
  this.Provider = Provider;
99
118
  }
100
119
  fetchCoinsToDecimalsAndPrices(coins) {
@@ -121,25 +140,19 @@ CoinApiHelpers.formatCoinTypesForMoveCall = (coins) => coins.map((coin) => casti
121
140
  /////////////////////////////////////////////////////////////////////
122
141
  //// Private Static Methods
123
142
  /////////////////////////////////////////////////////////////////////
124
- /////////////////////////////////////////////////////////////////////
125
- //// Helpers
126
- /////////////////////////////////////////////////////////////////////
127
143
  CoinApiHelpers.coinWithAmountTx = (inputs) => {
128
- const { tx, paginatedCoins, coinAmount } = inputs;
129
- const isSuiCoin = coin_1.Coin.isSuiCoin(paginatedCoins.data[0].coinType);
130
- const coinObjects = paginatedCoins.data.filter((data) => BigInt(data.balance) > BigInt(0) &&
131
- (data.lockedUntilEpoch === null ||
132
- data.lockedUntilEpoch === undefined));
133
- const totalCoinBalance = helpers_1.Helpers.sumBigInt(coinObjects.map((data) => BigInt(data.balance)));
144
+ const { tx, coinData, coinAmount } = inputs;
145
+ const isSuiCoin = coin_1.Coin.isSuiCoin(coinData[0].coinType);
146
+ const totalCoinBalance = helpers_1.Helpers.sumBigInt(coinData.map((data) => BigInt(data.balance)));
134
147
  if (totalCoinBalance < coinAmount)
135
148
  throw new Error("wallet does not have coins of sufficient balance");
136
149
  if (isSuiCoin) {
137
- tx.setGasPayment(coinObjects.map((obj) => {
150
+ tx.setGasPayment(coinData.map((obj) => {
138
151
  return Object.assign(Object.assign({}, obj), { objectId: obj.coinObjectId });
139
152
  }));
140
153
  return tx.splitCoins(tx.gas, [tx.pure(coinAmount)]);
141
154
  }
142
- const coinObjectIds = coinObjects.map((data) => data.coinObjectId);
155
+ const coinObjectIds = coinData.map((data) => data.coinObjectId);
143
156
  const mergedCoinObjectId = coinObjectIds[0];
144
157
  if (coinObjectIds.length > 1) {
145
158
  tx.add({
@@ -25,6 +25,7 @@ export declare class TurbosApiHelpers {
25
25
  coinInAmount: Balance;
26
26
  feeCoinType: CoinType;
27
27
  walletAddress: SuiAddress;
28
+ sqrtPrice: bigint;
28
29
  }) => ({
29
30
  kind: "Input";
30
31
  index: number;
@@ -63,6 +64,7 @@ export declare class TurbosApiHelpers {
63
64
  coinInAmount: Balance;
64
65
  feeCoinType: CoinType;
65
66
  walletAddress: SuiAddress;
67
+ sqrtPrice: bigint;
66
68
  }) => ({
67
69
  kind: "Input";
68
70
  index: number;
@@ -138,6 +140,7 @@ export declare class TurbosApiHelpers {
138
140
  coinTypeA: CoinType;
139
141
  coinTypeB: CoinType;
140
142
  coinInAmount: Balance;
143
+ sqrtPrice: bigint;
141
144
  }) => ({
142
145
  kind: "Input";
143
146
  index: number;
@@ -181,8 +184,9 @@ export declare class TurbosApiHelpers {
181
184
  coinOutType: CoinType;
182
185
  coinInAmount: Balance;
183
186
  }) => Promise<TurbosCalcTradeResult>;
184
- private static poolFromSuiObjectResponse;
187
+ private static partialPoolFromSuiObjectResponse;
185
188
  private static isPoolForCoinTypes;
186
189
  private static isCoinA;
190
+ private static calcSqrtPriceLimit;
187
191
  }
188
192
  //# sourceMappingURL=turbosApiHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turbosApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApiHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turbosApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,UAAU,EAEV,mBAAmB,EACnB,gBAAgB,EAGhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,eAAe,EACf,QAAQ,EACR,cAAc,EACd,sBAAsB,EAEtB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGxE,qBAAa,gBAAgB;aA8BA,QAAQ,EAAE,YAAY;IAzBlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAK/B;IAMF,SAAgB,SAAS,EAAE;QAC1B,MAAM,EAAE,eAAe,CAAC;QACxB,KAAK,EAAE,cAAc,CAAC;QACtB,aAAa,EAAE,sBAAsB,CAAC;KACtC,CAAC;gBAU0B,QAAQ,EAAE,YAAY;IA8B3C,aAAa,QAAa,QAAQ,gBAAgB,EAAE,CAAC,CA6B1D;IAEK,qBAAqB,WAAkB;QAC7C,SAAS,EAAE,QAAQ,CAAC;QACpB,SAAS,EAAE,QAAQ,CAAC;KACpB,+BAeC;IAMK,mBAAmB,WAAY;QACrC,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,QAAQ,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACzC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,UAAU,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuCC;IAEK,mBAAmB,WAAY;QACrC,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,QAAQ,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACzC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,UAAU,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAuCC;IAEK,OAAO,WAAY;QACzB,EAAE,EAAE,gBAAgB,CAAC;QACrB,IAAI,EAAE,gBAAgB,CAAC;QACvB,QAAQ,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACzC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,EAAE,UAAU,CAAC;KAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAaC;IAMK,iBAAiB,WAAY;QACnC,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,SAAS,EAAE,QAAQ,CAAC;QACpB,SAAS,EAAE,QAAQ,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmDE;IAMI,iBAAiB,WAAkB;QACzC,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,gBAAgB,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,gBAAgB,CAAC,CAqB3B;IAMK,oBAAoB,WAAkB;QAC5C,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,gBAAgB,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAsDhC;IAUF,OAAO,CAAC,MAAM,CAAC,gCAAgC,CA6B7C;IAMF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAa/B;IAEF,OAAO,CAAC,MAAM,CAAC,OAAO,CACmC;IAEzD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAY/B;CACF"}
@@ -31,12 +31,19 @@ class TurbosApiHelpers {
31
31
  //// Objects
32
32
  /////////////////////////////////////////////////////////////////////
33
33
  this.fetchAllPools = () => __awaiter(this, void 0, void 0, function* () {
34
- const poolsSimpleInfo = yield this.Provider.DynamicFields().fetchCastAllDynamicFieldsOfType(this.addresses.turbos.objects.poolsTable, (objectIds) => this.Provider.Objects().fetchCastObjectBatch(objectIds, TurbosApiHelpers.poolFromSuiObjectResponse), () => true);
35
- return poolsSimpleInfo;
34
+ const poolsSimpleInfo = yield this.Provider.DynamicFields().fetchCastAllDynamicFieldsOfType(this.addresses.turbos.objects.poolsTable, (objectIds) => this.Provider.Objects().fetchCastObjectBatch(objectIds, TurbosApiHelpers.partialPoolFromSuiObjectResponse), () => true);
35
+ const sqrtPrices = yield this.Provider.Objects().fetchCastObjectBatch(poolsSimpleInfo.map((poolInfo) => poolInfo.id), (data) => {
36
+ var _a;
37
+ const sqrtPrice = (_a = (0, sui_js_1.getObjectFields)(data)) === null || _a === void 0 ? void 0 : _a.sqrt_price;
38
+ return BigInt(sqrtPrice);
39
+ });
40
+ const pools = poolsSimpleInfo.map((info, index) => {
41
+ return Object.assign(Object.assign({}, info), { sqrtPrice: sqrtPrices[index] });
42
+ });
43
+ return pools;
36
44
  });
37
45
  this.fetchPoolForCoinTypes = (inputs) => __awaiter(this, void 0, void 0, function* () {
38
46
  const allPools = yield this.fetchAllPools();
39
- console.log("allPools", allPools);
40
47
  // NOTE: will there ever be more than 1 valid pool (is this unsafe ?)
41
48
  const foundPool = allPools.find((pool) => TurbosApiHelpers.isPoolForCoinTypes(Object.assign({ pool }, inputs)));
42
49
  if (!foundPool)
@@ -49,7 +56,7 @@ class TurbosApiHelpers {
49
56
  this.tradeCoinAToCoinBTx = (inputs) => {
50
57
  const { tx, coinInId } = inputs;
51
58
  return tx.moveCall({
52
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.poolFetcher, TurbosApiHelpers.constants.moduleNames.swapRouter, "swap_a_b"),
59
+ target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.clmm, TurbosApiHelpers.constants.moduleNames.swapRouter, "swap_a_b"),
53
60
  typeArguments: [
54
61
  inputs.coinInType,
55
62
  inputs.coinOutType,
@@ -65,9 +72,9 @@ class TurbosApiHelpers {
65
72
  ],
66
73
  }),
67
74
  tx.pure(inputs.coinInAmount, "u64"),
68
- tx.pure(inputs.coinInAmount, "u64"),
69
- tx.pure("0", "u128"),
70
- tx.pure(true, "u128"),
75
+ tx.pure(utils_1.Casting.zeroBigInt.toString(), "u64"),
76
+ tx.pure(TurbosApiHelpers.calcSqrtPriceLimit(Object.assign(Object.assign({}, inputs), { isCoinAToCoinB: true })).toString(), "u128"),
77
+ tx.pure(true, "bool"),
71
78
  tx.pure(inputs.walletAddress, "address"),
72
79
  tx.pure(utils_1.Casting.u64MaxBigInt.toString(), "u64"),
73
80
  tx.object(sui_1.Sui.constants.addresses.suiClockId),
@@ -78,10 +85,10 @@ class TurbosApiHelpers {
78
85
  this.tradeCoinBToCoinATx = (inputs) => {
79
86
  const { tx, coinInId } = inputs;
80
87
  return tx.moveCall({
81
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.poolFetcher, TurbosApiHelpers.constants.moduleNames.swapRouter, "swap_b2a"),
88
+ target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.clmm, TurbosApiHelpers.constants.moduleNames.swapRouter, "swap_b_a"),
82
89
  typeArguments: [
83
- inputs.coinInType,
84
90
  inputs.coinOutType,
91
+ inputs.coinInType,
85
92
  inputs.feeCoinType,
86
93
  ],
87
94
  arguments: [
@@ -94,9 +101,9 @@ class TurbosApiHelpers {
94
101
  ],
95
102
  }),
96
103
  tx.pure(inputs.coinInAmount, "u64"),
97
- tx.pure(inputs.coinInAmount, "u64"),
98
- tx.pure("0", "u128"),
99
- tx.pure(true, "u128"),
104
+ tx.pure(utils_1.Casting.zeroBigInt.toString(), "u64"),
105
+ tx.pure(TurbosApiHelpers.calcSqrtPriceLimit(Object.assign(Object.assign({}, inputs), { isCoinAToCoinB: false })).toString(), "u128"),
106
+ tx.pure(true, "bool"),
100
107
  tx.pure(inputs.walletAddress, "address"),
101
108
  tx.pure(utils_1.Casting.u64MaxBigInt.toString(), "u64"),
102
109
  tx.object(sui_1.Sui.constants.addresses.suiClockId),
@@ -106,7 +113,7 @@ class TurbosApiHelpers {
106
113
  };
107
114
  this.tradeTx = (inputs) => {
108
115
  const { coinInType, pool } = inputs;
109
- const commandInputs = Object.assign(Object.assign({}, inputs), { poolObjectId: pool.id, feeCoinType: pool.feeCoinType });
116
+ const commandInputs = Object.assign(Object.assign(Object.assign({}, inputs), pool), { poolObjectId: pool.id });
110
117
  if (TurbosApiHelpers.isCoinA(coinInType, pool))
111
118
  return this.tradeCoinAToCoinBTx(commandInputs);
112
119
  return this.tradeCoinBToCoinATx(commandInputs);
@@ -116,8 +123,10 @@ class TurbosApiHelpers {
116
123
  /////////////////////////////////////////////////////////////////////
117
124
  this.calcTradeResultTx = (inputs) => {
118
125
  const { tx } = inputs;
126
+ const isCoinAToCoinB = utils_1.Helpers.addLeadingZeroesToType(inputs.coinInType) ===
127
+ utils_1.Helpers.addLeadingZeroesToType(inputs.coinTypeA);
119
128
  return tx.moveCall({
120
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.poolFetcher, TurbosApiHelpers.constants.moduleNames.poolFetcher, "compute_swap_result"),
129
+ target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.turbos.packages.clmm, TurbosApiHelpers.constants.moduleNames.poolFetcher, "compute_swap_result"),
121
130
  typeArguments: [
122
131
  inputs.coinTypeA,
123
132
  inputs.coinTypeB,
@@ -125,12 +134,10 @@ class TurbosApiHelpers {
125
134
  ],
126
135
  arguments: [
127
136
  tx.object(inputs.poolObjectId),
128
- tx.pure(utils_1.Helpers.addLeadingZeroesToType(inputs.coinInType) ===
129
- utils_1.Helpers.addLeadingZeroesToType(inputs.coinTypeA), "bool"),
137
+ tx.pure(isCoinAToCoinB, "bool"),
130
138
  tx.pure(inputs.coinInAmount, "u128"),
131
- // tx.pure("coinInAmount" in inputs, "bool"), // amount_specified_is_input
132
139
  tx.pure(true, "bool"),
133
- tx.pure(utils_1.Casting.u64MaxBigInt, "u128"),
140
+ tx.pure(TurbosApiHelpers.calcSqrtPriceLimit(Object.assign(Object.assign({}, inputs), { isCoinAToCoinB })).toString(), "u128"),
134
141
  tx.object(sui_1.Sui.constants.addresses.suiClockId),
135
142
  tx.object(this.addresses.turbos.objects.versioned),
136
143
  ],
@@ -177,7 +184,6 @@ class TurbosApiHelpers {
177
184
  fee_amount: bcs_1.BCS.U128,
178
185
  });
179
186
  const data = sui_js_1.bcs.de("ComputeSwapState", new Uint8Array(resultBytes));
180
- console.log("data", data);
181
187
  const amountIn = BigInt(data.amount_a) <= BigInt(0)
182
188
  ? BigInt(data.amount_b)
183
189
  : BigInt(data.amount_a);
@@ -189,7 +195,7 @@ class TurbosApiHelpers {
189
195
  };
190
196
  }
191
197
  catch (e) {
192
- console.log(e);
198
+ console.error(e);
193
199
  throw new Error("e");
194
200
  }
195
201
  });
@@ -225,7 +231,7 @@ TurbosApiHelpers.constants = {
225
231
  /////////////////////////////////////////////////////////////////////
226
232
  //// Casting
227
233
  /////////////////////////////////////////////////////////////////////
228
- TurbosApiHelpers.poolFromSuiObjectResponse = (data) => {
234
+ TurbosApiHelpers.partialPoolFromSuiObjectResponse = (data) => {
229
235
  var _a;
230
236
  const content = (_a = data.data) === null || _a === void 0 ? void 0 : _a.content;
231
237
  if ((content === null || content === void 0 ? void 0 : content.dataType) !== "moveObject")
@@ -250,3 +256,11 @@ TurbosApiHelpers.isPoolForCoinTypes = (inputs) => {
250
256
  pool.coinTypeB === utils_1.Helpers.addLeadingZeroesToType(coinType1)));
251
257
  };
252
258
  TurbosApiHelpers.isCoinA = (coin, pool) => utils_1.Helpers.addLeadingZeroesToType(coin) === pool.coinTypeA;
259
+ TurbosApiHelpers.calcSqrtPriceLimit = (inputs) => {
260
+ const { sqrtPrice, isCoinAToCoinB } = inputs;
261
+ const change = sqrtPrice / BigInt(100);
262
+ const sqrtPriceLimit = isCoinAToCoinB
263
+ ? sqrtPrice - change
264
+ : sqrtPrice + change;
265
+ return sqrtPriceLimit;
266
+ };
@@ -6,6 +6,7 @@ export interface TurbosPoolObject {
6
6
  coinTypeB: CoinType;
7
7
  fee: bigint;
8
8
  feeCoinType: CoinType;
9
+ sqrtPrice: bigint;
9
10
  }
10
11
  export interface TurbosCalcTradeResult {
11
12
  amountIn: Balance;
@@ -1 +1 @@
1
- {"version":3,"file":"turbosTypes.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAM3E,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,SACxB,sBAAsB,6BAS5B,CAAC"}
1
+ {"version":3,"file":"turbosTypes.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAM3E,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,SACxB,sBAAsB,6BAU5B,CAAC"}
@@ -6,6 +6,7 @@ const isTurbosPoolObject = (pool) => {
6
6
  "coinTypeA" in pool &&
7
7
  "coinTypeB" in pool &&
8
8
  "fee" in pool &&
9
- "feeCoinType" in pool);
9
+ "feeCoinType" in pool &&
10
+ "sqrtPrice" in pool);
10
11
  };
11
12
  exports.isTurbosPoolObject = isTurbosPoolObject;
@@ -94,7 +94,7 @@ export declare class PoolsApiHelpers {
94
94
  withdrawFee: PoolWithdrawFee;
95
95
  }[];
96
96
  lpCoinMetadata: PoolCreationLpCoinMetadata;
97
- createPoolCapId: ObjectId;
97
+ createPoolCapId: ObjectId | TransactionArgument;
98
98
  poolName: PoolName;
99
99
  poolFlatness: PoolFlatness;
100
100
  }) => Promise<({
@@ -1 +1 @@
1
- {"version":3,"file":"poolsApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApiHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolsApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApiHelpers.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ class PoolsApiHelpers {
51
51
  /////////////////////////////////////////////////////////////////////
52
52
  this.fetchAllPoolObjectIds = () => __awaiter(this, void 0, void 0, function* () {
53
53
  const objectIds = yield this.Provider.Events().fetchAllEvents((cursor, limit) => this.Provider.Events().fetchCastEventsWithCursor({
54
- MoveEventType: eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.cmmm, "events", "CreatedPoolEvent"),
54
+ MoveEventType: eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, "events", "CreatedPoolEvent"),
55
55
  }, (eventOnChain) => eventOnChain.parsedJson.pool_id, cursor, limit));
56
56
  return objectIds;
57
57
  });
@@ -61,7 +61,7 @@ class PoolsApiHelpers {
61
61
  this.poolObjectIdForLpCoinTypeDevInspectTransaction = (lpCoinType) => {
62
62
  const tx = new sui_js_1.TransactionBlock();
63
63
  tx.moveCall({
64
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.cmmm, PoolsApiHelpers.constants.moduleNames.poolRegistry, "lp_type_to_pool_id"),
64
+ target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.poolRegistry, "lp_type_to_pool_id"),
65
65
  typeArguments: [lpCoinType],
66
66
  arguments: [tx.object(this.addresses.pools.objects.poolRegistry)],
67
67
  });
@@ -74,7 +74,9 @@ class PoolsApiHelpers {
74
74
  const { tx, poolId, coinInId, coinInType, expectedAmountOut, coinOutType, lpCoinType, slippage, withTransfer, } = inputs;
75
75
  return tx.add({
76
76
  kind: "MoveCall",
77
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.cmmm, withTransfer
77
+ target: utils_1.Helpers.transactions.createTransactionTarget(withTransfer
78
+ ? this.addresses.pools.packages.ammInterface
79
+ : this.addresses.pools.packages.amm, withTransfer
78
80
  ? PoolsApiHelpers.constants.moduleNames.interface
79
81
  : PoolsApiHelpers.constants.moduleNames.swap, "swap_exact_in"),
80
82
  typeArguments: [lpCoinType, coinInType, coinOutType],
@@ -95,7 +97,9 @@ class PoolsApiHelpers {
95
97
  const poolSize = coinTypes.length;
96
98
  return tx.add({
97
99
  kind: "MoveCall",
98
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.cmmm, withTransfer
100
+ target: utils_1.Helpers.transactions.createTransactionTarget(withTransfer
101
+ ? this.addresses.pools.packages.ammInterface
102
+ : this.addresses.pools.packages.amm, withTransfer
99
103
  ? PoolsApiHelpers.constants.moduleNames.interface
100
104
  : PoolsApiHelpers.constants.moduleNames.deposit, `deposit_${poolSize}_coins`),
101
105
  typeArguments: [lpCoinType, ...coinTypes],
@@ -116,7 +120,9 @@ class PoolsApiHelpers {
116
120
  const poolSize = coinsOutType.length;
117
121
  return tx.add({
118
122
  kind: "MoveCall",
119
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.cmmm, withTransfer
123
+ target: utils_1.Helpers.transactions.createTransactionTarget(withTransfer
124
+ ? this.addresses.pools.packages.ammInterface
125
+ : this.addresses.pools.packages.amm, withTransfer
120
126
  ? PoolsApiHelpers.constants.moduleNames.interface
121
127
  : PoolsApiHelpers.constants.moduleNames.withdraw, `withdraw_${poolSize}_coins`),
122
128
  typeArguments: [lpCoinType, ...coinsOutType],
@@ -134,7 +140,7 @@ class PoolsApiHelpers {
134
140
  };
135
141
  this.publishLpCoinTx = (inputs) => {
136
142
  const { tx } = inputs;
137
- const compiledModulesAndDeps = JSON.parse(`{"modules":["oRzrCwYAAAAJAQAGAgYIAw4LBBkCBRsQBytLCHZgCtYBBQzbAQ0AAgIGAQcAAAIAAgECAAAFAAEAAQMDAQECAQICCAAHCAEAAQgAAgkABwgBBUFGX0xQCVR4Q29udGV4dAVhZl9scA5jcmVhdGVfbHBfY29pbgtkdW1teV9maWVsZARpbml0CWludGVyZmFjZQp0eF9jb250ZXh0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvjIyReIMxZLyJSleycrPI2b2ygqrRzNb1be8/riObVzAAIBBAEAAAAAAQQLAAsBOAACAA=="],"dependencies":["0xf8c8c9178833164bc894a57b272b3c8d9bdb282aad1ccd6f56def3fae239b573","0x4f816b8eed3de02323203269d7be61bf14407a15d256d4615ea920f7d5ad1262","0x0000000000000000000000000000000000000000000000000000000000000001","0xd22a10f22cdde9320cf562b1d163cff282e64b18b015cb50f8bf4d509f96b3f9","0x58d883d3bd0864e1930c986b19efc2455bc56ba278a9b835680b325f268018a4","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0xe6a15afcb898db13643af6a63e60a83ae93055827955535679a85b2842931543","0xc8f39eaeb34139f9afdbb5badecc9bb2ed919838e25071d681268b67f8020006"],"digest":[158,20,131,115,148,27,5,29,97,76,43,64,170,235,132,45,235,154,147,239,203,111,20,233,43,139,233,198,183,113,192,124]}`);
143
+ const compiledModulesAndDeps = JSON.parse(`{"modules":["oRzrCwYAAAAJAQAGAgYIAw4LBBkCBRsQBytPCHpgCtoBBQzfAQ0AAgIDAQcAAAIAAgECAAAGAAEAAQQDAQECAQICCAAHCAEAAQgAAgkABwgBBUFGX0xQCVR4Q29udGV4dAVhZl9scA1hbW1faW50ZXJmYWNlDmNyZWF0ZV9scF9jb2luC2R1bW15X2ZpZWxkBGluaXQKdHhfY29udGV4dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgxMs/ouXi+/rSum0yzxiFSLUTc0ih+kzcR/F7A4qCvgACAQUBAAAAAAEECwALATgAAgA="],"dependencies":["0xb23cecaeddffc468d9aa868b6a131e684ace07510369ca9ea85c74e977586c1b","0x20c4cb3fa2e5e2fbfad2ba6d32cf188548b5137348a1fa4cdc47f17b038a82be","0x321a50c956db8b0b8fe53af2756e33212e18ea1a6ba82b9dd4308114b6944289","0x0000000000000000000000000000000000000000000000000000000000000001","0x0cc3f2db459225fbff06f2f71870a6634db0ba434cd65d639f834c277b118f33","0x484d68333fe65c4910a5c708c9aa6469bfc59d343bc5ed898a18226ae422959f","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0x373c265b27110d08e500ebb2a2e40aab08e1dd7d7f40eb878094ed260c4e5afa","0x8557c63b231fef86509fdde6855b032d346c50936cd335f53d4619222d7440fd"],"digest":[29,202,155,21,186,184,248,96,90,139,220,9,34,120,72,201,120,13,25,208,232,174,130,249,2,28,176,5,147,59,11,147]}`);
138
144
  return tx.publish({
139
145
  modules: compiledModulesAndDeps.modules.map((m) => Array.from((0, sui_js_1.fromB64)(m))),
140
146
  dependencies: compiledModulesAndDeps.dependencies.map((addr) => (0, sui_js_1.normalizeSuiObjectId)(addr)),
@@ -153,7 +159,7 @@ class PoolsApiHelpers {
153
159
  });
154
160
  return tx.add({
155
161
  kind: "MoveCall",
156
- target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.cmmm, PoolsApiHelpers.constants.moduleNames.interface, `create_pool_${poolSize}_coins`),
162
+ target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.interface, `create_pool_${poolSize}_coins`),
157
163
  typeArguments: [lpCoinType, ...coinTypes],
158
164
  arguments: [
159
165
  typeof createPoolCapId === "string"
@@ -229,7 +235,9 @@ class PoolsApiHelpers {
229
235
  });
230
236
  // TODO: move this somewhere else and into its own func
231
237
  const expectedLpRatio = utils_1.Casting.numberToFixedBigInt(lpRatio);
232
- const coinIds = yield this.Provider.Coin().Helpers.fetchCoinsWithAmountTx(tx, walletAddress, coinTypes, coinAmounts);
238
+ const coinIds = yield this.Provider.Coin().Helpers.fetchCoinsWithAmountTx(Object.assign(Object.assign({}, inputs), { tx,
239
+ coinTypes,
240
+ coinAmounts }));
233
241
  this.multiCoinDepositTx({
234
242
  tx,
235
243
  poolId: pool.pool.objectId,
@@ -302,8 +310,8 @@ class PoolsApiHelpers {
302
310
  // throw new Error(
303
311
  // "no CreatePoolCap for LP Coin Type found owned by address"
304
312
  // );
305
- const coinArgs = yield this.Provider.Coin().Helpers.fetchCoinsWithAmountTx(tx, inputs.walletAddress, inputs.coinsInfo.map((info) => info.coinType), inputs.coinsInfo.map((info) => info.initialDeposit));
306
- this.fetchCreatePoolTx(Object.assign(Object.assign({ tx }, inputs), {
313
+ const coinArgs = yield this.Provider.Coin().Helpers.fetchCoinsWithAmountTx(Object.assign(Object.assign({ tx }, inputs), { coinTypes: inputs.coinsInfo.map((info) => info.coinType), coinAmounts: inputs.coinsInfo.map((info) => info.initialDeposit) }));
314
+ yield this.fetchCreatePoolTx(Object.assign(Object.assign({ tx }, inputs), {
307
315
  // createPoolCapId,
308
316
  coinsInfo: inputs.coinsInfo.map((info, index) => {
309
317
  return Object.assign(Object.assign({}, info), { coinId: coinArgs[index] });
@@ -400,9 +408,9 @@ class PoolsApiHelpers {
400
408
  /////////////////////////////////////////////////////////////////////
401
409
  //// Event Types
402
410
  /////////////////////////////////////////////////////////////////////
403
- this.tradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.cmmm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.swap);
404
- this.depositEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.cmmm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.deposit);
405
- this.withdrawEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.cmmm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.withdraw);
411
+ this.tradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.swap);
412
+ this.depositEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.deposit);
413
+ this.withdrawEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.withdraw);
406
414
  /////////////////////////////////////////////////////////////////////
407
415
  //// LP Coin Metadata
408
416
  /////////////////////////////////////////////////////////////////////
@@ -158,7 +158,7 @@ class RouterSynchronousApiHelpers {
158
158
  exports.RouterSynchronousApiHelpers = RouterSynchronousApiHelpers;
159
159
  RouterSynchronousApiHelpers.constants = {
160
160
  defaults: {
161
- tradePartitionCount: 10,
161
+ tradePartitionCount: 3,
162
162
  },
163
163
  };
164
164
  /////////////////////////////////////////////////////////////////////
@@ -22,10 +22,10 @@ function createRouterPool(inputs) {
22
22
  ? new nojoRouterPool_1.default(pool, network)
23
23
  : (0, deepBookTypes_1.isDeepBookPoolObject)(pool)
24
24
  ? new deepBookRouterPool_1.default(pool, network)
25
- : (0, cetusTypes_1.isCetusRouterPoolObject)(pool)
26
- ? new cetusRouterPool_1.default(pool, network)
27
- : (0, turbosTypes_1.isTurbosPoolObject)(pool)
28
- ? new turbosRouterPool_1.default(pool, network)
25
+ : (0, turbosTypes_1.isTurbosPoolObject)(pool)
26
+ ? new turbosRouterPool_1.default(pool, network)
27
+ : (0, cetusTypes_1.isCetusRouterPoolObject)(pool)
28
+ ? new cetusRouterPool_1.default(pool, network)
29
29
  : new aftermathRouterPool_1.default(pool, network);
30
30
  return constructedPool;
31
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aftermath-ts-sdk",
3
- "version": "0.0.127",
3
+ "version": "0.0.129",
4
4
  "description": "Aftermath TypeScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",