aftermath-ts-sdk 0.0.140 → 0.0.142

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.
@@ -35,6 +35,7 @@ export declare class Helpers {
35
35
  static uniqueArray: <T>(arr: T[]) => T[];
36
36
  static sleep: (ms: number) => Promise<unknown>;
37
37
  static createUid: () => string;
38
+ static filterObject: <Value>(obj: Record<string, Value>, predicate: (key: string, value: Value) => boolean) => Record<string, Value>;
38
39
  static isArrayOfStrings(value: unknown): value is string[];
39
40
  }
40
41
  //# sourceMappingURL=helpers.d.ts.map
@@ -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;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"}
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;oBAE1B,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;IAEnE,OAAc,YAAY,uDAER,MAAM,mBAAmB,OAAO,2BAWjB;WAMnB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE;CAMjE"}
@@ -126,3 +126,9 @@ Helpers.indexOfMax = (arr) => {
126
126
  Helpers.uniqueArray = (arr) => [...new Set(arr)];
127
127
  Helpers.sleep = (ms) => new Promise((r) => setTimeout(r, ms));
128
128
  Helpers.createUid = () => Date.now().toString(36) + Math.random().toString(36).substring(2);
129
+ Helpers.filterObject = (obj, predicate) => Object.keys(obj).reduce((acc, key) => {
130
+ const val = obj[key];
131
+ if (!predicate(key, val))
132
+ return acc;
133
+ return Object.assign(Object.assign({}, acc), { [key]: val });
134
+ }, {});
@@ -67,7 +67,7 @@ class NftAmmMarket extends caller_1.Caller {
67
67
  });
68
68
  };
69
69
  this.getWithdrawFractionalizedCoinAmountOut = (inputs) => {
70
- const lpRatio = this.pool.getWithdrawLpRatio({
70
+ const lpRatio = this.pool.getMultiCoinWithdrawLpRatio({
71
71
  lpCoinAmountOut: inputs.lpCoinAmount,
72
72
  });
73
73
  const amountsOut = this.pool.getWithdrawAmountsOut({
@@ -1 +1 @@
1
- {"version":3,"file":"poolsApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolsApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/pools/api/poolsApi.ts"],"names":[],"mappings":"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"}
@@ -214,13 +214,16 @@ class PoolsApi {
214
214
  .getPools({ objectIds: lpCoinPoolObjectIds });
215
215
  const poolStats = yield Promise.all(lpCoinPools.map((lpPool) => lpPool.getStats()));
216
216
  let lpCoinsToPrice = {};
217
- for (const [index, lpCoin] of lpCoins.entries()) {
218
- let coinPrice = -1;
219
- if (safeIndexes.includes(index)) {
220
- coinPrice = poolStats[index].lpPrice;
221
- }
217
+ for (const [index, safeIndex] of safeIndexes.entries()) {
218
+ const lpCoin = lpCoins[safeIndex];
219
+ const coinPrice = poolStats[index].lpPrice;
222
220
  lpCoinsToPrice = Object.assign(Object.assign({}, lpCoinsToPrice), { [lpCoin]: coinPrice });
223
221
  }
222
+ for (const [index, lpCoin] of lpCoins.entries()) {
223
+ if (safeIndexes.includes(index))
224
+ continue;
225
+ lpCoinsToPrice = Object.assign(Object.assign({}, lpCoinsToPrice), { [lpCoin]: -1 });
226
+ }
224
227
  return lpCoinsToPrice;
225
228
  });
226
229
  /////////////////////////////////////////////////////////////////////
@@ -285,7 +285,7 @@ class PoolsApiHelpers {
285
285
  tx,
286
286
  referrer,
287
287
  });
288
- const lpRatio = pool.getWithdrawLpRatio({
288
+ const lpRatio = pool.getMultiCoinWithdrawLpRatio({
289
289
  lpCoinAmountOut: lpCoinAmount,
290
290
  });
291
291
  const amountsOut = pool.getWithdrawAmountsOut({
@@ -69,7 +69,10 @@ export declare class Pool extends Caller {
69
69
  lpRatio: number;
70
70
  referral?: boolean;
71
71
  }) => CoinsToBalance;
72
- getWithdrawLpRatio: (inputs: {
72
+ getMultiCoinWithdrawLpRatio: (inputs: {
73
+ lpCoinAmountOut: bigint;
74
+ }) => number;
75
+ getAllCoinWithdrawLpRatio: (inputs: {
73
76
  lpCoinAmountOut: bigint;
74
77
  }) => number;
75
78
  }
@@ -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,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"}
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,2BAA2B,WAAY;QAC7C,eAAe,EAAE,MAAM,CAAC;KACxB,KAAG,MAAM,CAEsB;IAEzB,yBAAyB,WAAY;QAC3C,eAAe,EAAE,MAAM,CAAC;KACxB,KAAG,MAAM,CACuD;CACjE"}
@@ -95,7 +95,9 @@ class Pool extends caller_1.Caller {
95
95
  }, {});
96
96
  return amountsOut;
97
97
  };
98
- this.getWithdrawLpRatio = (inputs) => Number(inputs.lpCoinAmountOut) / Number(this.pool.lpCoinSupply);
98
+ this.getMultiCoinWithdrawLpRatio = (inputs) => Number(this.pool.lpCoinSupply - inputs.lpCoinAmountOut) /
99
+ Number(this.pool.lpCoinSupply);
100
+ this.getAllCoinWithdrawLpRatio = (inputs) => Number(inputs.lpCoinAmountOut) / Number(this.pool.lpCoinSupply);
99
101
  this.pool = pool;
100
102
  }
101
103
  /////////////////////////////////////////////////////////////////////
@@ -33,8 +33,6 @@ export declare class RouterApi {
33
33
  externalFee?: RouterExternalFee;
34
34
  }) => Promise<RouterCompleteTradeRoute>;
35
35
  fetchTransactionForCompleteTradeRoute(inputs: {
36
- network: SuiNetwork | Url;
37
- provider: AftermathApi;
38
36
  walletAddress: SuiAddress;
39
37
  completeRoute: RouterCompleteTradeRoute;
40
38
  slippage: Slippage;
@@ -1 +1 @@
1
- {"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,GAAG,EAEH,+BAA+B,EAE/B,kBAAkB,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,qBAAa,SAAS;IAapB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,kBAAkB,EAAE;IAThD,SAAgB,OAAO,8BAAC;IACxB,SAAgB,YAAY,wBAAC;gBAOX,QAAQ,EAAE,YAAY,EACvB,SAAS,GAAE,kBAAkB,EAAkB;IAWzD,SAAS,iBAAqC;IAC9C,IAAI,mBAAuC;IAC3C,QAAQ,oBAAwC;IAChD,KAAK,iBAAqC;IAC1C,MAAM,kBAAsC;IAU5C,sBAAsB,iDAK3B;IAMK,2BAA2B,WAAkB;QACnD,KAAK,EAAE,+BAA+B,CAAC;KACvC,gEAEC;IAMK,oCAAoC,WAAkB;QAC5D,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;QAC1B,KAAK,EAAE,+BAA+B,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KAGhC,KAAG,QAAQ,wBAAwB,CAAC,CAiCnC;IAwBW,qCAAqC,CAAC,MAAM,EAAE;QAE1D,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;QAC1B,QAAQ,EAAE,YAAY,CAAC;QACvB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CASlC"}
1
+ {"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,GAAG,EAEH,+BAA+B,EAE/B,kBAAkB,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,qBAAa,SAAS;IAapB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,kBAAkB,EAAE;IAThD,SAAgB,OAAO,8BAAC;IACxB,SAAgB,YAAY,wBAAC;gBAOX,QAAQ,EAAE,YAAY,EACvB,SAAS,GAAE,kBAAkB,EAAkB;IAWzD,SAAS,iBAAqC;IAC9C,IAAI,mBAAuC;IAC3C,QAAQ,oBAAwC;IAChD,KAAK,iBAAqC;IAC1C,MAAM,kBAAsC;IAU5C,sBAAsB,iDAK3B;IAMK,2BAA2B,WAAkB;QACnD,KAAK,EAAE,+BAA+B,CAAC;KACvC,gEAEC;IAMK,oCAAoC,WAAkB;QAC5D,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;QAC1B,KAAK,EAAE,+BAA+B,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KAGhC,KAAG,QAAQ,wBAAwB,CAAC,CAiCnC;IAwBW,qCAAqC,CAAC,MAAM,EAAE;QAC1D,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CASlC"}
@@ -1,7 +1,7 @@
1
1
  import { SuiAddress, TransactionBlock } from "@mysten/sui.js";
2
2
  import { AftermathApi } from "../../../general/providers/aftermathApi";
3
3
  import { RouterCompleteTradeRoute, RouterProtocolName, RouterSerializablePool } from "../routerTypes";
4
- import { Balance, CoinType, Slippage, SuiNetwork, Url } from "../../../types";
4
+ import { Balance, CoinType, Slippage } from "../../../types";
5
5
  export declare class RouterSynchronousApiHelpers {
6
6
  private readonly Provider;
7
7
  private readonly protocolNamesToApi;
@@ -18,8 +18,6 @@ export declare class RouterSynchronousApiHelpers {
18
18
  protocols: RouterProtocolName[];
19
19
  }) => Promise<CoinType[]>;
20
20
  fetchBuildTransactionForCompleteTradeRoute(inputs: {
21
- network: SuiNetwork | Url;
22
- provider: AftermathApi;
23
21
  walletAddress: SuiAddress;
24
22
  completeRoute: RouterCompleteTradeRoute;
25
23
  slippage: Slippage;
@@ -1 +1 @@
1
- {"version":3,"file":"routerSynchronousApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerSynchronousApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAW9E,qBAAa,2BAA2B;IA0B3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArBrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CASjC;IAEF,gBAAuB,SAAS;;;;MAI9B;gBAM2B,QAAQ,EAAE,YAAY;IAQ5C,aAAa,WAAkB;QACrC,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,sBAAsB,EAAE,CAAC,CAanC;IAMK,mBAAmB,WAAkB;QAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,QAAQ,EAAE,CAAC,CAgBrB;IAMW,0CAA0C,CAAC,MAAM,EAAE;QAC/D,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;QAC1B,QAAQ,EAAE,YAAY,CAAC;QACvB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoH7B,OAAc,uBAAuB,WAAY;QAChD,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,KAAG,OAAO,EAAE,CAqBX;IAUF,OAAO,CAAC,qBAAqB,CAK3B;CACF"}
1
+ {"version":3,"file":"routerSynchronousApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerSynchronousApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAW9E,qBAAa,2BAA2B;IA0B3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArBrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CASjC;IAEF,gBAAuB,SAAS;;;;MAI9B;gBAM2B,QAAQ,EAAE,YAAY;IAQ5C,aAAa,WAAkB;QACrC,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,sBAAsB,EAAE,CAAC,CAanC;IAMK,mBAAmB,WAAkB;QAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,QAAQ,EAAE,CAAC,CAgBrB;IAMW,0CAA0C,CAAC,MAAM,EAAE;QAC/D,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkH7B,OAAc,uBAAuB,WAAY;QAChD,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,KAAG,OAAO,EAAE,CAqBX;IAUF,OAAO,CAAC,qBAAqB,CAK3B;CACF"}
@@ -73,7 +73,7 @@ class RouterSynchronousApiHelpers {
73
73
  /////////////////////////////////////////////////////////////////////
74
74
  fetchBuildTransactionForCompleteTradeRoute(inputs) {
75
75
  return __awaiter(this, void 0, void 0, function* () {
76
- const { network, provider, walletAddress, completeRoute, slippage } = inputs;
76
+ const { walletAddress, completeRoute, slippage } = inputs;
77
77
  const referrer = completeRoute.referrer;
78
78
  const externalFee = completeRoute.externalFee;
79
79
  if (externalFee &&
@@ -94,30 +94,28 @@ class RouterSynchronousApiHelpers {
94
94
  coinAmount: completeRoute.coinIn.amount,
95
95
  });
96
96
  let coinsOut = [];
97
- const splitCoins = [
98
- ...(completeRoute.routes.length > 1
99
- ? tx.add({
100
- kind: "SplitCoins",
101
- coin: coinInArg,
102
- amounts: completeRoute.routes
103
- .slice(0, -1)
104
- .map((route) => tx.pure(route.coinIn.amount)),
105
- })
106
- : []),
107
- coinInArg,
108
- ];
97
+ let splitCoins = [];
98
+ if (completeRoute.routes.length > 1) {
99
+ splitCoins = tx.add({
100
+ kind: "SplitCoins",
101
+ coin: coinInArg,
102
+ amounts: completeRoute.routes
103
+ .slice(1)
104
+ .map((route) => tx.pure(route.coinIn.amount)),
105
+ });
106
+ }
109
107
  for (const [routeIndex, route] of completeRoute.routes.entries()) {
110
- const splitCoinArg = splitCoins[routeIndex];
108
+ const splitCoinArg = routeIndex === 0 ? coinInArg : splitCoins[routeIndex - 1];
111
109
  let coinIn = splitCoinArg;
112
110
  for (const path of route.paths) {
113
111
  const poolForPath = (0, routerPoolInterface_1.createRouterPool)({
114
112
  pool: path.pool,
115
- network,
113
+ network: "",
116
114
  });
117
115
  if (!coinIn)
118
116
  throw new Error("no coin in argument given for router trade command");
119
117
  const newCoinIn = poolForPath.addTradeCommandToTransaction({
120
- provider,
118
+ provider: this.Provider,
121
119
  tx,
122
120
  coinIn,
123
121
  coinInAmount: route.coinIn.amount,
@@ -39,7 +39,7 @@ class AftermathRouterPool {
39
39
  this.getTradeAmountOut = (inputs) => {
40
40
  // withdraw
41
41
  if (inputs.coinInType === this.pool.lpCoinType) {
42
- const lpRatio = this.poolClass.getWithdrawLpRatio({
42
+ const lpRatio = this.poolClass.getMultiCoinWithdrawLpRatio({
43
43
  lpCoinAmountOut: inputs.coinInAmount,
44
44
  });
45
45
  // TODO: move this estimation to helper function within sdk
@@ -84,7 +84,7 @@ class AftermathRouterPool {
84
84
  }
85
85
  // deposit
86
86
  if (inputs.coinOutType === this.pool.lpCoinType) {
87
- const expectedLpRatio = this.poolClass.getWithdrawLpRatio({
87
+ const expectedLpRatio = this.poolClass.getMultiCoinWithdrawLpRatio({
88
88
  lpCoinAmountOut: inputs.expectedAmountOut,
89
89
  });
90
90
  return inputs.provider.Pools().Helpers.multiCoinDepositTx(Object.assign(Object.assign({}, inputs), { poolId: this.pool.objectId,
@@ -110,7 +110,7 @@ class AftermathRouterPool {
110
110
  }
111
111
  // reverse deposit (withdraw)
112
112
  if (inputs.coinOutType === this.pool.lpCoinType) {
113
- const lpRatio = this.poolClass.getWithdrawLpRatio({
113
+ const lpRatio = this.poolClass.getMultiCoinWithdrawLpRatio({
114
114
  lpCoinAmountOut: inputs.coinOutAmount,
115
115
  });
116
116
  const amountsOuts = this.poolClass.getWithdrawAmountsOut({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aftermath-ts-sdk",
3
- "version": "0.0.140",
3
+ "version": "0.0.142",
4
4
  "description": "Aftermath TypeScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",