aftermath-ts-sdk 1.1.47 → 1.1.49

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.
Files changed (66) hide show
  1. package/dist/packages/external/cetus/cetusApi.d.ts +5 -1
  2. package/dist/packages/external/cetus/cetusApi.d.ts.map +1 -1
  3. package/dist/packages/external/cetus/cetusApi.js +5 -1
  4. package/dist/packages/external/deepBook/deepBookApi.d.ts +5 -1
  5. package/dist/packages/external/deepBook/deepBookApi.d.ts.map +1 -1
  6. package/dist/packages/external/deepBook/deepBookApi.js +8 -1
  7. package/dist/packages/external/flowX/flowXApi.d.ts +5 -1
  8. package/dist/packages/external/flowX/flowXApi.d.ts.map +1 -1
  9. package/dist/packages/external/flowX/flowXApi.js +8 -1
  10. package/dist/packages/external/turbos/turbosApi.d.ts +5 -1
  11. package/dist/packages/external/turbos/turbosApi.d.ts.map +1 -1
  12. package/dist/packages/external/turbos/turbosApi.js +5 -1
  13. package/dist/packages/router/api/routerApiHelpers.d.ts +5 -1
  14. package/dist/packages/router/api/routerApiHelpers.d.ts.map +1 -1
  15. package/dist/packages/router/api/routerApiHelpers.js +44 -0
  16. package/dist/packages/router/api/routerAsyncApiHelpers.d.ts.map +1 -1
  17. package/dist/packages/router/api/routerAsyncApiHelpers.js +9 -3
  18. package/dist/packages/router/router.d.ts +3 -3
  19. package/dist/packages/router/router.d.ts.map +1 -1
  20. package/dist/packages/router/routerTypes.d.ts +6 -1
  21. package/dist/packages/router/routerTypes.d.ts.map +1 -1
  22. package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts +5 -1
  23. package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts.map +1 -1
  24. package/dist/packages/router/utils/async/routerAsyncGraph.d.ts +1 -1
  25. package/dist/packages/router/utils/async/routerAsyncGraph.d.ts.map +1 -1
  26. package/dist/packages/router/utils/async/routerAsyncGraph.js +2 -2
  27. package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.d.ts +10 -2
  28. package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.d.ts.map +1 -1
  29. package/dist/packages/router/utils/synchronous/routerGraph.d.ts.map +1 -1
  30. package/dist/packages/router/utils/synchronous/routerGraph.js +9 -2
  31. package/dist/packages/router/utils/synchronous/routerPools/afSuiRouterPool.d.ts +10 -2
  32. package/dist/packages/router/utils/synchronous/routerPools/afSuiRouterPool.d.ts.map +1 -1
  33. package/dist/packages/router/utils/synchronous/routerPools/afSuiRouterPool.js +39 -14
  34. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts +10 -2
  35. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts.map +1 -1
  36. package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.js +151 -113
  37. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.d.ts +10 -2
  38. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.d.ts.map +1 -1
  39. package/dist/packages/router/utils/synchronous/routerPools/baySwapRouterPool.js +20 -6
  40. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.d.ts +10 -2
  41. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.d.ts.map +1 -1
  42. package/dist/packages/router/utils/synchronous/routerPools/blueMoveRouterPool.js +21 -9
  43. package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts +2 -2
  44. package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts.map +1 -1
  45. package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.d.ts +2 -2
  46. package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.d.ts.map +1 -1
  47. package/dist/packages/router/utils/synchronous/routerPools/deprecatedDeepBookRouterPool.d.ts +2 -2
  48. package/dist/packages/router/utils/synchronous/routerPools/deprecatedDeepBookRouterPool.d.ts.map +1 -1
  49. package/dist/packages/router/utils/synchronous/routerPools/deprecatedDeepBookRouterPool.js +5 -3
  50. package/dist/packages/router/utils/synchronous/routerPools/flowXRouterPool.d.ts +2 -2
  51. package/dist/packages/router/utils/synchronous/routerPools/flowXRouterPool.d.ts.map +1 -1
  52. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.d.ts +10 -2
  53. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.d.ts.map +1 -1
  54. package/dist/packages/router/utils/synchronous/routerPools/interestRouterPool.js +20 -5
  55. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.d.ts +10 -2
  56. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.d.ts.map +1 -1
  57. package/dist/packages/router/utils/synchronous/routerPools/kriyaRouterPool.js +19 -4
  58. package/dist/packages/router/utils/synchronous/routerPools/suiswapRouterPool.d.ts +10 -2
  59. package/dist/packages/router/utils/synchronous/routerPools/suiswapRouterPool.d.ts.map +1 -1
  60. package/dist/packages/router/utils/synchronous/routerPools/suiswapRouterPool.js +44 -6
  61. package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts +2 -2
  62. package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts.map +1 -1
  63. package/dist/packages/staking/api/stakingApi.d.ts +1 -0
  64. package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
  65. package/dist/packages/staking/api/stakingApi.js +3 -0
  66. package/package.json +1 -1
@@ -28,7 +28,11 @@ export declare class CetusApi implements RouterAsyncApiInterface<CetusPoolObject
28
28
  coinInType: CoinType;
29
29
  coinOutType: CoinType;
30
30
  coinInAmount: Balance;
31
- }) => Promise<Balance>;
31
+ }) => Promise<{
32
+ coinOutAmount: bigint;
33
+ feeInAmount: bigint;
34
+ feeOutAmount: bigint;
35
+ }>;
32
36
  fetchCalcTradeResult: (inputs: {
33
37
  pool: CetusPoolObject;
34
38
  coinInType: CoinType;
@@ -1 +1 @@
1
- {"version":3,"file":"cetusApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/cetus/cetusApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,oBAAoB,EACpB,eAAe,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,aAAa,EACb,OAAO,EACP,cAAc,EACd,QAAQ,EACR,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,qBAAa,QAAS,YAAW,uBAAuB,CAAC,eAAe,CAAC;IA2B5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAtBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAM/B;IAMF,SAAgB,SAAS,EAAE,cAAc,CAAC;IAE1C,SAAgB,WAAW,EAAE;QAC5B,IAAI,EAAE,aAAa,CAAC;KACpB,CAAC;gBAM2B,QAAQ,EAAE,YAAY;IAsB5C,aAAa,QAAa,QAAQ,eAAe,EAAE,CAAC,CAazD;IAEK,mBAAmB,WAAY;QACrC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB;2BACmB,eAAe,EAAE;yBACnB,eAAe,EAAE;MAoCjC;IAMK,mBAAmB,0BAQxB;IAEK,mBAAmB,WAAkB;QAC3C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,OAAO,CAAC,CAGlB;IAMK,oBAAoB,WAAkB;QAC5C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,oBAAoB,CAAC,CA+C/B;IAMK,mBAAmB,WACjB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;KACvB,SAyBA;IAEK,mBAAmB,WACjB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;KACvB,SAyBA;IAEK,OAAO,WACL,uBAAuB,GAAG;QACjC,IAAI,EAAE,eAAe,CAAC;KACtB,SAaA;IAMK,iBAAiB,WACf;QACP,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,SAAS,EAAE,QAAQ,CAAC;QACpB,SAAS,EAAE,QAAQ,CAAC;KACpB,GAAG,CACD;QACA,YAAY,EAAE,OAAO,CAAC;KACrB,GACD;QACA,aAAa,EAAE,OAAO,CAAC;KACtB,CACH,SA6CC;IAMI,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACtB,YAIC;IAUF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAa/B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAU9B;IAEF,OAAO,CAAC,MAAM,CAAC,OAAO,CAMpB;CACF"}
1
+ {"version":3,"file":"cetusApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/cetus/cetusApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,oBAAoB,EACpB,eAAe,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,aAAa,EACb,OAAO,EACP,cAAc,EACd,QAAQ,EACR,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,qBAAa,QAAS,YAAW,uBAAuB,CAAC,eAAe,CAAC;IA2B5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAtBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAM/B;IAMF,SAAgB,SAAS,EAAE,cAAc,CAAC;IAE1C,SAAgB,WAAW,EAAE;QAC5B,IAAI,EAAE,aAAa,CAAC;KACpB,CAAC;gBAM2B,QAAQ,EAAE,YAAY;IAsB5C,aAAa,QAAa,QAAQ,eAAe,EAAE,CAAC,CAazD;IAEK,mBAAmB,WAAY;QACrC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB;2BACmB,eAAe,EAAE;yBACnB,eAAe,EAAE;MAoCjC;IAMK,mBAAmB,0BAQxB;IAEK,mBAAmB,WAAkB;QAC3C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB;;;;OAOC;IAMK,oBAAoB,WAAkB;QAC5C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,oBAAoB,CAAC,CA+C/B;IAMK,mBAAmB,WACjB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;KACvB,SAyBA;IAEK,mBAAmB,WACjB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;KACvB,SAyBA;IAEK,OAAO,WACL,uBAAuB,GAAG;QACjC,IAAI,EAAE,eAAe,CAAC;KACtB,SAaA;IAMK,iBAAiB,WACf;QACP,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,SAAS,EAAE,QAAQ,CAAC;QACpB,SAAS,EAAE,QAAQ,CAAC;KACpB,GAAG,CACD;QACA,YAAY,EAAE,OAAO,CAAC;KACrB,GACD;QACA,aAAa,EAAE,OAAO,CAAC;KACtB,CACH,SA6CC;IAMI,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACtB,YAIC;IAUF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAa/B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAU9B;IAEF,OAAO,CAAC,MAAM,CAAC,OAAO,CAMpB;CACF"}
@@ -74,7 +74,11 @@ class CetusApi {
74
74
  });
75
75
  this.fetchTradeAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
76
76
  const tradeResult = yield this.fetchCalcTradeResult(inputs);
77
- return tradeResult.amountOut;
77
+ return {
78
+ coinOutAmount: tradeResult.amountOut,
79
+ feeInAmount: tradeResult.feeAmount,
80
+ feeOutAmount: BigInt(0),
81
+ };
78
82
  });
79
83
  // =========================================================================
80
84
  // Inspections
@@ -34,7 +34,11 @@ export declare class DeepBookApi implements RouterAsyncApiInterface<DeepBookPool
34
34
  coinInType: CoinType;
35
35
  coinOutType: CoinType;
36
36
  coinInAmount: Balance;
37
- }) => Promise<Balance>;
37
+ }) => Promise<{
38
+ coinOutAmount: bigint;
39
+ feeInAmount: bigint;
40
+ feeOutAmount: bigint;
41
+ }>;
38
42
  otherCoinInPool: (inputs: {
39
43
  coinType: CoinType;
40
44
  pool: PartialDeepBookPoolObject;
@@ -1 +1 @@
1
- {"version":3,"file":"deepBookApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/deepBook/deepBookApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACN,aAAa,EACb,OAAO,EAGP,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAG3F,qBAAa,WACZ,YAAW,uBAAuB,CAAC,kBAAkB,CAAC;IA8B1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAxBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAQ/B;IAMF,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAE7C,SAAgB,WAAW,EAAE;QAC5B,UAAU,EAAE,aAAa,CAAC;KAC1B,CAAC;gBAM2B,QAAQ,EAAE,YAAY;IAsB5C,aAAa,QAAa,QAAQ,kBAAkB,EAAE,CAAC,CAe5D;IAEK,oBAAoB,QAAa,QACvC,yBAAyB,EAAE,CAC3B,CA8CC;IAEK,wCAAwC,WAAkB;QAChE,IAAI,EAAE,yBAAyB,CAAC;KAChC,KAAG,QAAQ,kBAAkB,CAAC,CAqB7B;IAEK,4BAA4B,WAAkB;QACpD,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,QAAQ,CAAC,CAenB;IAMK,mBAAmB,WAAY;QACrC,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5B,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB;2BACmB,kBAAkB,EAAE;yBACtB,kBAAkB,EAAE;MAyCpC;IAEK,mBAAmB,WAAkB;QAC3C,IAAI,EAAE,yBAAyB,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,OAAO,CAAC,CAElB;IAEK,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,yBAAyB,CAAC;KAChC,YAIC;IAMK,uBAAuB,WAAY;QACzC,IAAI,EAAE,yBAAyB,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,OAAO,CAAC,CA6BlB;IAMK,kBAAkB,WAChB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KAChB,SAyBA;IAEK,kBAAkB,WAChB,uBAAuB,GAAG;QACjC,YAAY,EAAE,QAAQ,CAAC;KACvB,SAwBA;IAEK,SAAS,WAAY;QAC3B,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAgBC;IAEK,SAAS,WAAY;QAC3B,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAgBC;IAMK,YAAY,WAAY;QAC9B,EAAE,EAAE,gBAAgB,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAiBC;IAEK,eAAe,WAAY;QACjC,EAAE,EAAE,gBAAgB,CAAC;KACrB,SAWC;IAEK,aAAa,WAAY;QAC/B,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,UAAU,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC3C,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAmBC;IAEK,cAAc,WAAY;QAChC,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,WAAW,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC5C,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAmBC;IAEK,iBAAiB,WAAY;QACnC,EAAE,EAAE,gBAAgB,CAAC;QACrB,YAAY,EAAE,QAAQ,CAAC;QACvB,YAAY,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;KACxB,SAsBC;IAMK,OAAO,WACL,uBAAuB,GAAG;QACjC,IAAI,EAAE,yBAAyB,CAAC;KAChC,SAkBA;IAEK,wBAAwB,WAAY;QAC1C,EAAE,EAAE,gBAAgB,CAAC;QACrB,IAAI,EAAE,yBAAyB,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,SAkBC;IAMK,cAAc,WAAkB;QACtC,IAAI,EAAE,yBAAyB,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAG,QAAQ,kBAAkB,EAAE,CAAC,CAoD/B;IAMK,oBAAoB,WAAY;QACtC,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,gBAAgB,CASlB;IAEK,+BAA+B,WAAkB;QACvD,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,yBAAyB,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KACzB,KAAG,QAAQ,gBAAgB,CAAC,CAgC3B;IAEK,2BAA2B,WAAkB;QACnD,aAAa,EAAE,UAAU,CAAC;QAC1B,IAAI,EAAE,yBAAyB,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;KACpB,KAAG,QAAQ,gBAAgB,CAAC,CAkB3B;IAEK,sBAAsB,WAAkB;QAC9C,aAAa,EAAE,UAAU,CAAC;QAC1B,YAAY,EAAE,QAAQ,CAAC;QACvB,aAAa,EAAE,QAAQ,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KAChB,KAAG,QAAQ,gBAAgB,CAAC,CAoB3B;IAUF,OAAO,CAAC,4BAA4B,CAiClC;IAEF,OAAO,CAAC,4BAA4B,CA+BlC;IAUF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAe/B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAU9B;IAEF,OAAO,CAAC,MAAM,CAAC,cAAc,CAM3B;CACF"}
1
+ {"version":3,"file":"deepBookApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/deepBook/deepBookApi.ts"],"names":[],"mappings":"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"}
@@ -121,7 +121,14 @@ class DeepBookApi {
121
121
  };
122
122
  };
123
123
  this.fetchTradeAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
124
- return this.fetchCalcTradeAmountOut(inputs);
124
+ const coinOutAmount = yield this.fetchCalcTradeAmountOut(inputs);
125
+ const feeInAmount = BigInt(Math.round(Number(inputs.coinInAmount) *
126
+ (Number(inputs.pool.takerFeeRate) / 1000000000)));
127
+ return {
128
+ coinOutAmount,
129
+ feeInAmount,
130
+ feeOutAmount: BigInt(0),
131
+ };
125
132
  });
126
133
  this.otherCoinInPool = (inputs) => {
127
134
  return DeepBookApi.isBaseCoinType(inputs)
@@ -23,7 +23,11 @@ export declare class FlowXApi implements RouterAsyncApiInterface<FlowXPoolObject
23
23
  coinInType: CoinType;
24
24
  coinOutType: CoinType;
25
25
  coinInAmount: Balance;
26
- }) => Promise<Balance>;
26
+ }) => Promise<{
27
+ coinOutAmount: bigint;
28
+ feeInAmount: bigint;
29
+ feeOutAmount: bigint;
30
+ }>;
27
31
  otherCoinInPool: (inputs: {
28
32
  coinType: CoinType;
29
33
  pool: FlowXPoolObject;
@@ -1 +1 @@
1
- {"version":3,"file":"flowXApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/flowX/flowXApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,QAAS,YAAW,uBAAuB,CAAC,eAAe,CAAC;IAqB5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAI/B;IAMF,SAAgB,SAAS,EAAE,cAAc,CAAC;gBAMb,QAAQ,EAAE,YAAY;IAmB5C,aAAa,QAAa,QAAQ,eAAe,EAAE,CAAC,CAYzD;IAMK,mBAAmB,WAAY;QACrC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB;2BACmB,eAAe,EAAE;yBACnB,eAAe,EAAE;MA6CjC;IAEK,mBAAmB,WAAkB;QAC3C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,QAAQ,OAAO,CAAC,CAelB;IAEK,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACtB,YAIC;IAMK,OAAO,WAAY,uBAAuB,SAsB/C;IAUF,OAAO,CAAC,iBAAiB,CA6BvB;IAUF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAa/B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAU9B;IAEF,OAAO,CAAC,MAAM,CAAC,WAAW,CAMxB;CACF"}
1
+ {"version":3,"file":"flowXApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/flowX/flowXApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,QAAS,YAAW,uBAAuB,CAAC,eAAe,CAAC;IAqB5D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAhBrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAI/B;IAMF,SAAgB,SAAS,EAAE,cAAc,CAAC;gBAMb,QAAQ,EAAE,YAAY;IAmB5C,aAAa,QAAa,QAAQ,eAAe,EAAE,CAAC,CAYzD;IAMK,mBAAmB,WAAY;QACrC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB;2BACmB,eAAe,EAAE;yBACnB,eAAe,EAAE;MA6CjC;IAEK,mBAAmB,WAAkB;QAC3C,IAAI,EAAE,eAAe,CAAC;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB;;;;OAyBC;IAEK,eAAe,WAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACtB,YAIC;IAMK,OAAO,WAAY,uBAAuB,SAsB/C;IAUF,OAAO,CAAC,iBAAiB,CA6BvB;IAUF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAa/B;IAEF,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAU9B;IAEF,OAAO,CAAC,MAAM,CAAC,WAAW,CAMxB;CACF"}
@@ -73,7 +73,14 @@ class FlowXApi {
73
73
  };
74
74
  };
75
75
  this.fetchTradeAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
76
- return routerAsyncApiHelpers_1.RouterAsyncApiHelpers.devInspectTradeAmountOut(Object.assign(Object.assign({}, inputs), { Provider: this.Provider, devInspectTx: (txInputs) => this.tradeDevInspectTx(Object.assign(Object.assign(Object.assign({}, inputs), txInputs), { routerSwapCapCoinType: inputs.coinInType })) }));
76
+ const coinOutAmount = yield routerAsyncApiHelpers_1.RouterAsyncApiHelpers.devInspectTradeAmountOut(Object.assign(Object.assign({}, inputs), { Provider: this.Provider, devInspectTx: (txInputs) => this.tradeDevInspectTx(Object.assign(Object.assign(Object.assign({}, inputs), txInputs), { routerSwapCapCoinType: inputs.coinInType })) }));
77
+ // TODO: set correct fee (just assuming all fees are 0.3% for now)
78
+ const feeInAmount = BigInt(Math.round(Number(inputs.coinInAmount) * (0.3 / 100)));
79
+ return {
80
+ coinOutAmount,
81
+ feeInAmount,
82
+ feeOutAmount: BigInt(0),
83
+ };
77
84
  });
78
85
  this.otherCoinInPool = (inputs) => {
79
86
  return FlowXApi.isCoinTypeX(inputs)
@@ -53,7 +53,11 @@ export declare class TurbosApi implements RouterAsyncApiInterface<TurbosPoolObje
53
53
  coinInType: CoinType;
54
54
  coinOutType: CoinType;
55
55
  coinInAmount: Balance;
56
- }) => Promise<Balance>;
56
+ }) => Promise<{
57
+ coinOutAmount: bigint;
58
+ feeInAmount: bigint;
59
+ feeOutAmount: bigint;
60
+ }>;
57
61
  otherCoinInPool: (inputs: {
58
62
  coinType: CoinType;
59
63
  pool: TurbosPoolObject;
@@ -1 +1 @@
1
- {"version":3,"file":"turbosApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turbosApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/external/turbos/turbosApi.ts"],"names":[],"mappings":"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"}
@@ -165,7 +165,11 @@ class TurbosApi {
165
165
  });
166
166
  this.fetchTradeAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
167
167
  const tradeResult = yield this.fetchCalcTradeResult(inputs);
168
- return tradeResult.amountOut;
168
+ return {
169
+ coinOutAmount: tradeResult.amountOut,
170
+ feeInAmount: tradeResult.feeAmount,
171
+ feeOutAmount: BigInt(0),
172
+ };
169
173
  });
170
174
  this.otherCoinInPool = (inputs) => {
171
175
  return TurbosApi.otherCoinInPool(inputs);
@@ -1,9 +1,10 @@
1
1
  import { AftermathApi } from "../../../general/providers/aftermathApi";
2
- import { Balance, CoinType, RouterCompleteTradeRoute, ExternalFee, RouterProtocolName, RouterSerializableCompleteGraph, Slippage, SuiNetwork, AllRouterOptions, SuiAddress, RouterSerializablePool } from "../../../types";
2
+ import { Balance, CoinType, RouterCompleteTradeRoute, ExternalFee, RouterProtocolName, RouterSerializableCompleteGraph, Slippage, SuiNetwork, AllRouterOptions, SuiAddress, RouterSerializablePool, Percentage } from "../../../types";
3
3
  import { RouterAsyncApiHelpers } from "./routerAsyncApiHelpers";
4
4
  import { RouterSynchronousApiHelpers } from "./routerSynchronousApiHelpers";
5
5
  import { TransactionArgument, TransactionBlock } from "@mysten/sui.js/transactions";
6
6
  export declare class RouterApiHelpers {
7
+ private readonly Provider;
7
8
  private readonly options;
8
9
  readonly SynchronousHelpers: RouterSynchronousApiHelpers;
9
10
  readonly AsyncHelpers: RouterAsyncApiHelpers;
@@ -34,6 +35,9 @@ export declare class RouterApiHelpers {
34
35
  excludeProtocols?: RouterProtocolName[];
35
36
  }) => Promise<RouterCompleteTradeRoute>;
36
37
  private fetchCompleteTradeRoutesForLastRouteAsyncPool;
38
+ fetchCalcNetTradeFeePercentageFromCompleteTradeRoute(inputs: {
39
+ completeRoute: RouterCompleteTradeRoute;
40
+ }): Promise<Percentage>;
37
41
  fetchTransactionForCompleteTradeRoute(inputs: {
38
42
  tx: TransactionBlock;
39
43
  walletAddress: SuiAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"routerApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EAER,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EAKV,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAErC,qBAAa,gBAAgB;IAc3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IATzB,SAAgB,kBAAkB,8BAAC;IACnC,SAAgB,YAAY,wBAAC;gBAO5B,QAAQ,EAAE,YAAY,EACL,OAAO,EAAE,gBAAgB;IAiBpC,4BAA4B,WAAkB;QACpD,KAAK,EAAE,sBAAsB,EAAE,CAAC;KAChC,8CAEC;IAMK,oCAAoC,WAAkB;QAC5D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC;QACpB,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,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAoFnC;IAEK,qCAAqC,WAAkB;QAC7D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC;QACpB,KAAK,EAAE,+BAA+B,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAanC;IAEF,OAAO,CAAC,6CAA6C,CAwDnD;IAMW,qCAAqC,CAAC,MAAM,EAAE;QAC1D,EAAE,EAAE,gBAAgB,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAcrC,uBAAuB,WAAY;QACzC,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,OAAO,EAAE,CAmBX;IAUF,OAAO,CAAC,MAAM,CAAC,uCAAuC,CA2CpD;CACF"}
1
+ {"version":3,"file":"routerApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EAER,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EAKV,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,UAAU,EAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAIrC,qBAAa,gBAAgB;IAa3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IATzB,SAAgB,kBAAkB,8BAAC;IACnC,SAAgB,YAAY,wBAAC;gBAOX,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,gBAAgB;IAiBpC,4BAA4B,WAAkB;QACpD,KAAK,EAAE,sBAAsB,EAAE,CAAC;KAChC,8CAEC;IAMK,oCAAoC,WAAkB;QAC5D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC;QACpB,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,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAoFnC;IAEK,qCAAqC,WAAkB;QAC7D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC;QACpB,KAAK,EAAE,+BAA+B,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAanC;IAEF,OAAO,CAAC,6CAA6C,CAwDnD;IAEW,oDAAoD,CAAC,MAAM,EAAE;QACzE,aAAa,EAAE,wBAAwB,CAAC;KACxC,GAAG,OAAO,CAAC,UAAU,CAAC;IAiEV,qCAAqC,CAAC,MAAM,EAAE;QAC1D,EAAE,EAAE,gBAAgB,CAAC;QACrB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAcrC,uBAAuB,WAAY;QACzC,YAAY,EAAE,OAAO,CAAC;KACtB,KAAG,OAAO,EAAE,CAmBX;IAUF,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAiDpD;CACF"}
@@ -15,11 +15,14 @@ const routerGraph_1 = require("../utils/synchronous/routerGraph");
15
15
  const routerAsyncApiHelpers_1 = require("./routerAsyncApiHelpers");
16
16
  const routerSynchronousApiHelpers_1 = require("./routerSynchronousApiHelpers");
17
17
  const routerAsyncGraph_1 = require("../utils/async/routerAsyncGraph");
18
+ const utils_1 = require("../../../general/utils");
19
+ const __1 = require("../..");
18
20
  class RouterApiHelpers {
19
21
  // =========================================================================
20
22
  // Constructor
21
23
  // =========================================================================
22
24
  constructor(Provider, options) {
25
+ this.Provider = Provider;
23
26
  this.options = options;
24
27
  // =========================================================================
25
28
  // Public Methods
@@ -118,6 +121,47 @@ class RouterApiHelpers {
118
121
  this.SynchronousHelpers = new routerSynchronousApiHelpers_1.RouterSynchronousApiHelpers(Provider);
119
122
  this.AsyncHelpers = new routerAsyncApiHelpers_1.RouterAsyncApiHelpers(Provider, options.regular.async);
120
123
  }
124
+ fetchCalcNetTradeFeePercentageFromCompleteTradeRoute(inputs) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const { completeRoute } = inputs;
127
+ const coinsWithFees = completeRoute.routes
128
+ .reduce((acc, route) => [...acc, ...route.paths], [])
129
+ .reduce((acc, path) => [
130
+ ...acc,
131
+ {
132
+ coinType: path.coinIn.type,
133
+ fee: path.coinIn.tradeFee,
134
+ },
135
+ {
136
+ coinType: path.coinOut.type,
137
+ fee: path.coinOut.tradeFee,
138
+ },
139
+ ], [])
140
+ .filter((data) => data.fee > BigInt(0));
141
+ const coins = utils_1.Helpers.uniqueArray([
142
+ ...coinsWithFees.map((data) => data.coinType),
143
+ completeRoute.coinOut.type,
144
+ ]);
145
+ const [coinsToPrice, coinsToDecimals] = yield Promise.all([
146
+ this.Provider.Prices().fetchCoinsToPrice({
147
+ coins,
148
+ }),
149
+ this.Provider.Coin().fetchCoinsToDecimals({
150
+ coins,
151
+ }),
152
+ ]);
153
+ const netFeeUsd = coinsWithFees.reduce((acc, data) => acc +
154
+ (coinsToPrice[data.coinType] < 0
155
+ ? 0
156
+ : coinsToPrice[data.coinType]) *
157
+ __1.Coin.balanceWithDecimals(data.fee, coinsToDecimals[data.coinType]), 0);
158
+ const coinOutAmountUsd = (coinsToPrice[completeRoute.coinOut.type] < 0
159
+ ? 0
160
+ : coinsToPrice[completeRoute.coinOut.type]) *
161
+ __1.Coin.balanceWithDecimals(completeRoute.coinOut.amount, coinsToDecimals[completeRoute.coinOut.type]);
162
+ return coinOutAmountUsd <= 0 ? 0 : netFeeUsd / coinOutAmountUsd;
163
+ });
164
+ }
121
165
  // =========================================================================
122
166
  // Transaction Builders
123
167
  // =========================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"routerAsyncApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerAsyncApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAE3B,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAOjF,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAOrC,qBAAa,qBAAqB;IAoBhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhBzB,SAAgB,kBAAkB,EAAE,MAAM,CACzC,uBAAuB,EACvB,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAClC,CAKC;gBAOgB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,kBAAkB;IAOtC,aAAa,WAAkB;QACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;KACrC,KAAG,QAAQ,2BAA2B,EAAE,CAAC,CAYxC;IAEK,mBAAmB,WAAY;QACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;QACrC,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACrC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAG;QACH,eAAe,EAAE,2BAA2B,EAAE,CAAC;QAC/C,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;KACjD,CA+BC;IAEK,iBAAiB,WAAkB;QACzC,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACrC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,EAAE,CAAC;KACzB,KAAG,QAAQ,uBAAuB,CAAC,CAqDlC;IAMK,oBAAoB,WAAY;QACtC,IAAI,EAAE,2BAA2B,CAAC;KAClC,KAAG,uBAAuB,CAkBzB;IAUF,OAAc,wBAAwB;kBAC3B,YAAY;oBACV,QAAQ;qBACP,QAAQ;sBACP,OAAO;+BACE;YACtB,EAAE,EAAE,gBAAgB,CAAC;YACrB,WAAW,EAAE,UAAU,CAAC;YACxB,kBAAkB,EAAE,UAAU,CAAC;SAC/B;;;;;;;;;;;;;;;;;;;;UACE,QAAQ,OAAO,CAAC,CA4IlB;IAUF,OAAO,CAAC,qBAAqB,CAK3B;CACF"}
1
+ {"version":3,"file":"routerAsyncApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerAsyncApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAE3B,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAOjF,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AAOrC,qBAAa,qBAAqB;IAoBhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhBzB,SAAgB,kBAAkB,EAAE,MAAM,CACzC,uBAAuB,EACvB,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAClC,CAKC;gBAOgB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,kBAAkB;IAOtC,aAAa,WAAkB;QACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;KACrC,KAAG,QAAQ,2BAA2B,EAAE,CAAC,CAYxC;IAEK,mBAAmB,WAAY;QACrC,SAAS,EAAE,uBAAuB,EAAE,CAAC;QACrC,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACrC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAG;QACH,eAAe,EAAE,2BAA2B,EAAE,CAAC;QAC/C,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;KACjD,CA+BC;IAEK,iBAAiB,WAAkB;QACzC,KAAK,EAAE,2BAA2B,EAAE,CAAC;QACrC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,EAAE,CAAC;KACzB,KAAG,QAAQ,uBAAuB,CAAC,CAiElC;IAMK,oBAAoB,WAAY;QACtC,IAAI,EAAE,2BAA2B,CAAC;KAClC,KAAG,uBAAuB,CAkBzB;IAUF,OAAc,wBAAwB;kBAC3B,YAAY;oBACV,QAAQ;qBACP,QAAQ;sBACP,OAAO;+BACE;YACtB,EAAE,EAAE,gBAAgB,CAAC;YACrB,WAAW,EAAE,UAAU,CAAC;YACxB,kBAAkB,EAAE,UAAU,CAAC;SAC/B;;;;;;;;;;;;;;;;;;;;UACE,QAAQ,OAAO,CAAC,CA4IlB;IAUF,OAAO,CAAC,qBAAqB,CAK3B;CACF"}
@@ -77,20 +77,26 @@ class RouterAsyncApiHelpers {
77
77
  const resultsOrUndefined = yield Promise.all(apis.map((api, index) => __awaiter(this, void 0, void 0, function* () {
78
78
  try {
79
79
  const pool = inputs.pools[index];
80
- const amountsOut = yield Promise.all(coinInAmounts.map((amountIn) => __awaiter(this, void 0, void 0, function* () {
80
+ const tradeResults = yield Promise.all(coinInAmounts.map((amountIn) => __awaiter(this, void 0, void 0, function* () {
81
81
  try {
82
82
  return yield api.fetchTradeAmountOut(Object.assign(Object.assign({}, inputs), { pool, coinInAmount: amountIn }));
83
83
  }
84
84
  catch (e) {
85
85
  console.error(e);
86
- return BigInt(0);
86
+ return {
87
+ coinOutAmount: BigInt(0),
88
+ feeInAmount: BigInt(0),
89
+ feeOutAmount: BigInt(0),
90
+ };
87
91
  }
88
92
  })));
89
93
  const protocol = protocols[index];
90
94
  return {
91
95
  pool,
92
- amountsOut,
93
96
  protocol,
97
+ amountsOut: tradeResults.map((result) => result.coinOutAmount),
98
+ feesIn: tradeResults.map((result) => result.feeInAmount),
99
+ feesOut: tradeResults.map((result) => result.feeOutAmount),
94
100
  };
95
101
  }
96
102
  catch (e) {
@@ -1,4 +1,4 @@
1
- import { ApiRouterTransactionForCompleteTradeRouteBody, RouterCompleteTradeRoute, RouterSerializableCompleteGraph, SuiNetwork, ApiRouterTradeEventsBody, RouterTradeEvent, Balance, ApiRouterPartialCompleteTradeRouteBody, ApiRouterAddTransactionForCompleteTradeRouteBody, ApiRouterAddTransactionForCompleteTradeRouteResponse } from "../../types";
1
+ import { ApiRouterTransactionForCompleteTradeRouteBody, RouterSerializableCompleteGraph, SuiNetwork, ApiRouterTradeEventsBody, RouterTradeEvent, Balance, ApiRouterPartialCompleteTradeRouteBody, ApiRouterAddTransactionForCompleteTradeRouteBody, ApiRouterAddTransactionForCompleteTradeRouteResponse, RouterCompleteTradeRouteWithFee } from "../../types";
2
2
  import { Caller } from "../../general/utils/caller";
3
3
  import { TransactionBlock } from "@mysten/sui.js/transactions";
4
4
  /**
@@ -51,7 +51,7 @@ export declare class Router extends Caller {
51
51
  * Amount of coin being given away
52
52
  */
53
53
  coinInAmount: Balance;
54
- }, abortSignal?: AbortSignal): Promise<RouterCompleteTradeRoute>;
54
+ }, abortSignal?: AbortSignal): Promise<RouterCompleteTradeRouteWithFee>;
55
55
  /**
56
56
  * Creates route across multiple pools and protocols for best trade execution price
57
57
  *
@@ -64,7 +64,7 @@ export declare class Router extends Caller {
64
64
  * Amount of coin expected to receive
65
65
  */
66
66
  coinOutAmount: Balance;
67
- }, abortSignal?: AbortSignal): Promise<RouterCompleteTradeRoute>;
67
+ }, abortSignal?: AbortSignal): Promise<RouterCompleteTradeRouteWithFee>;
68
68
  /**
69
69
  * Creates `TranscationBlock` from previously created complete trade route
70
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/packages/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,6CAA6C,EAE7C,wBAAwB,EACxB,+BAA+B,EAE/B,UAAU,EAEV,wBAAwB,EACxB,gBAAgB,EAIhB,OAAO,EACP,sCAAsC,EACtC,gDAAgD,EAChD,oDAAoD,EACpD,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,MAAM;aAsBL,OAAO,CAAC;IAjBpC,gBAAuB,SAAS;QAC/B;;WAEG;;MAEF;IAMF;;;;;OAKG;gBACyB,OAAO,CAAC,wBAAY;IAYhD;;;OAGG;IACI,cAAc,QAAa,QAAQ,MAAM,CAAC,CAE/C;IAEW,iBAAiB;IAI9B;;;;OAIG;IACU,QAAQ;IAIrB;;;;;;OAMG;IACU,kCAAkC,CAC9C,MAAM,EAAE,sCAAsC,GAAG;QAChD;;WAEG;QACH,YAAY,EAAE,OAAO,CAAC;KACtB,EACD,WAAW,CAAC,EAAE,WAAW;IAQ1B;;;;;;OAMG;IACU,mCAAmC,CAC/C,MAAM,EAAE,sCAAsC,GAAG;QAChD;;WAEG;QACH,aAAa,EAAE,OAAO,CAAC;KACvB,EACD,WAAW,CAAC,EAAE,WAAW;IAY1B;;;;;;;;;;;;;;;;OAgBG;IACU,mCAAmC,CAC/C,MAAM,EAAE,6CAA6C;IAQzC,mCAAmC,CAC/C,MAAM,EAAE,IAAI,CACX,gDAAgD,EAChD,cAAc,CACd,GAAG;QACH,EAAE,EAAE,gBAAgB,CAAC;KACrB;IAgBW,cAAc,CAAC,MAAM,EAAE,wBAAwB;CAG5D"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/packages/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,6CAA6C,EAG7C,+BAA+B,EAE/B,UAAU,EAEV,wBAAwB,EACxB,gBAAgB,EAIhB,OAAO,EACP,sCAAsC,EACtC,gDAAgD,EAChD,oDAAoD,EACpD,+BAA+B,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,qBAAa,MAAO,SAAQ,MAAM;aAsBL,OAAO,CAAC;IAjBpC,gBAAuB,SAAS;QAC/B;;WAEG;;MAEF;IAMF;;;;;OAKG;gBACyB,OAAO,CAAC,wBAAY;IAYhD;;;OAGG;IACI,cAAc,QAAa,QAAQ,MAAM,CAAC,CAE/C;IAEW,iBAAiB;IAI9B;;;;OAIG;IACU,QAAQ;IAIrB;;;;;;OAMG;IACU,kCAAkC,CAC9C,MAAM,EAAE,sCAAsC,GAAG;QAChD;;WAEG;QACH,YAAY,EAAE,OAAO,CAAC;KACtB,EACD,WAAW,CAAC,EAAE,WAAW;IAQ1B;;;;;;OAMG;IACU,mCAAmC,CAC/C,MAAM,EAAE,sCAAsC,GAAG;QAChD;;WAEG;QACH,aAAa,EAAE,OAAO,CAAC;KACvB,EACD,WAAW,CAAC,EAAE,WAAW;IAY1B;;;;;;;;;;;;;;;;OAgBG;IACU,mCAAmC,CAC/C,MAAM,EAAE,6CAA6C;IAQzC,mCAAmC,CAC/C,MAAM,EAAE,IAAI,CACX,gDAAgD,EAChD,cAAc,CACd,GAAG;QACH,EAAE,EAAE,gBAAgB,CAAC;KACrB;IAgBW,cAAc,CAAC,MAAM,EAAE,wBAAwB;CAG5D"}
@@ -1,4 +1,4 @@
1
- import { AnyObjectType, Balance, Event, Slippage, ApiEventsBody, ObjectId, SuiAddress, TxBytes, BigIntAsString, SerializedTransaction, ExternalFee } from "../../general/types/generalTypes";
1
+ import { AnyObjectType, Balance, Percentage, Event, Slippage, ApiEventsBody, ObjectId, SuiAddress, TxBytes, BigIntAsString, SerializedTransaction, ExternalFee } from "../../general/types/generalTypes";
2
2
  import { CoinType } from "../coin/coinTypes";
3
3
  import { PoolObject, PoolTradeFee } from "../pools/poolsTypes";
4
4
  import { DeepBookPoolObject } from "../external/deepBook/deepBookTypes";
@@ -37,6 +37,9 @@ export type RouterCompleteTradeRoute = RouterTradeInfo & {
37
37
  referrer?: SuiAddress;
38
38
  externalFee?: ExternalFee;
39
39
  };
40
+ export type RouterCompleteTradeRouteWithFee = RouterCompleteTradeRoute & {
41
+ netTradeFeePercentage: Percentage;
42
+ };
40
43
  export type RouterTradeRoute = RouterTradeInfo & {
41
44
  paths: RouterTradePath[];
42
45
  };
@@ -98,6 +101,8 @@ export interface RouterAsyncTradeResult {
98
101
  protocol: RouterAsyncProtocolName;
99
102
  pool: RouterAsyncSerializablePool;
100
103
  amountsOut: Balance[];
104
+ feesIn: Balance[];
105
+ feesOut: Balance[];
101
106
  }
102
107
  export interface RouterTradeEvent extends Event {
103
108
  trader: SuiAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"routerTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/router/routerTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routerTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/router/routerTypes.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,11 @@ export interface RouterAsyncApiInterface<PoolType extends RouterAsyncSerializabl
15
15
  coinInType: CoinType;
16
16
  coinOutType: CoinType;
17
17
  coinInAmount: Balance;
18
- }) => Promise<Balance>;
18
+ }) => Promise<{
19
+ coinOutAmount: Balance;
20
+ feeInAmount: Balance;
21
+ feeOutAmount: Balance;
22
+ }>;
19
23
  otherCoinInPool: (inputs: {
20
24
  coinType: CoinType;
21
25
  pool: PoolType;
@@ -1 +1 @@
1
- {"version":3,"file":"routerAsyncApiInterface.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/async/routerAsyncApiInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAMzE,MAAM,WAAW,uBAAuB,CACvC,QAAQ,SAAS,2BAA2B;IAc5C,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzC,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAK;QACL,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC9B,eAAe,EAAE,QAAQ,EAAE,CAAC;KAC5B,CAAC;IAMF,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAUvB,eAAe,EAAE,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC;KACf,KAAK,QAAQ,CAAC;CACf"}
1
+ {"version":3,"file":"routerAsyncApiInterface.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/async/routerAsyncApiInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAMzE,MAAM,WAAW,uBAAuB,CACvC,QAAQ,SAAS,2BAA2B;IAc5C,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzC,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAK;QACL,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC9B,eAAe,EAAE,QAAQ,EAAE,CAAC;KAC5B,CAAC;IAMF,mBAAmB,EAAE,CAAC,MAAM,EAAE;QAC7B,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACtB,KAAK,OAAO,CAAC;QACb,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IAUH,eAAe,EAAE,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC;KACf,KAAK,QAAQ,CAAC;CACf"}
@@ -3,7 +3,7 @@ export declare class RouterAsyncGraph {
3
3
  static createFinalCompleteRoute(inputs: {
4
4
  tradeResults: RouterAsyncTradeResults;
5
5
  coinInAmounts: Balance[];
6
- completeRoutes?: RouterCompleteTradeRoute[][];
6
+ completeRoutes?: Omit<RouterCompleteTradeRoute, "netTradeFeePercentage">[][];
7
7
  }): RouterCompleteTradeRoute;
8
8
  static completeRoutesFromTradeResults: (inputs: {
9
9
  tradeResults: RouterAsyncTradeResults;
@@ -1 +1 @@
1
- {"version":3,"file":"routerAsyncGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/async/routerAsyncGraph.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,uBAAuB,EACvB,wBAAwB,EAExB,MAAM,mBAAmB,CAAC;AAM3B,qBAAa,gBAAgB;WASd,wBAAwB,CAAC,MAAM,EAAE;QAC9C,YAAY,EAAE,uBAAuB,CAAC;QACtC,aAAa,EAAE,OAAO,EAAE,CAAC;QACzB,cAAc,CAAC,EAAE,wBAAwB,EAAE,EAAE,CAAC;KAC9C,GAAG,wBAAwB;IAuB5B,OAAc,8BAA8B,WAAY;QACvD,YAAY,EAAE,uBAAuB,CAAC;KACtC,KAAG,wBAAwB,EAAE,EAAE,CA+C9B;IAUF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CA2CpC;IAEF,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAqCxC;CACF"}
1
+ {"version":3,"file":"routerAsyncGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/async/routerAsyncGraph.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,uBAAuB,EACvB,wBAAwB,EAExB,MAAM,mBAAmB,CAAC;AAM3B,qBAAa,gBAAgB;WASd,wBAAwB,CAAC,MAAM,EAAE;QAC9C,YAAY,EAAE,uBAAuB,CAAC;QACtC,aAAa,EAAE,OAAO,EAAE,CAAC;QACzB,cAAc,CAAC,EAAE,IAAI,CACpB,wBAAwB,EACxB,uBAAuB,CACvB,EAAE,EAAE,CAAC;KACN,GAAG,wBAAwB;IAuB5B,OAAc,8BAA8B,WAAY;QACvD,YAAY,EAAE,uBAAuB,CAAC;KACtC,KAAG,wBAAwB,EAAE,EAAE,CAgD9B;IAUF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CA+CpC;IAEF,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAwCxC;CACF"}
@@ -39,12 +39,12 @@ RouterAsyncGraph.completeRoutesFromTradeResults = (inputs) => {
39
39
  coinIn: {
40
40
  type: tradeResults.coinInType,
41
41
  amount: tradeResults.coinInAmounts[amountOutIndex],
42
- tradeFee: BigInt(0),
42
+ tradeFee: result.feesIn[amountOutIndex],
43
43
  },
44
44
  coinOut: {
45
45
  type: tradeResults.coinOutType,
46
46
  amount: amountOut,
47
- tradeFee: BigInt(0),
47
+ tradeFee: result.feesOut[amountOutIndex],
48
48
  },
49
49
  spotPrice: Number(tradeResults.coinInAmounts[0]) /
50
50
  Number(result.amountsOut[0]),
@@ -34,14 +34,22 @@ export interface RouterPoolInterface {
34
34
  coinInAmount: Balance;
35
35
  coinOutType: CoinType;
36
36
  referrer?: SuiAddress;
37
- }) => Balance;
37
+ }) => {
38
+ coinOutAmount: Balance;
39
+ feeInAmount: Balance;
40
+ feeOutAmount: Balance;
41
+ };
38
42
  tradeTx: (inputs: RouterPoolTradeTxInputs) => TransactionObjectArgument;
39
43
  getTradeAmountIn: (inputs: {
40
44
  coinInType: CoinType;
41
45
  coinOutAmount: Balance;
42
46
  coinOutType: CoinType;
43
47
  referrer?: SuiAddress;
44
- }) => Balance;
48
+ }) => {
49
+ coinInAmount: Balance;
50
+ feeInAmount: Balance;
51
+ feeOutAmount: Balance;
52
+ };
45
53
  getUpdatedPoolBeforeTrade: (inputs: {
46
54
  coinInType: CoinType;
47
55
  coinInAmount: Balance;
@@ -1 +1 @@
1
- {"version":3,"file":"routerPoolInterface.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/interfaces/routerPoolInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,OAAO,EAEP,kBAAkB,EAClB,sBAAsB,EAEtB,UAAU,EACV,QAAQ,EAGR,QAAQ,EACR,UAAU,EAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAyBhE,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,YAAY,CAAC;IACvB,EAAE,EAAE,gBAAgB,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC/C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,QAAQ,CAAC;IACrB,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,EAAE,yBAAyB,CAAC;IACzC,qBAAqB,EAAE,QAAQ,CAAC;CAChC;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAE7B,OAAO,EAAE,UAAU,CAAC;CACpB,GAAG,mBAAmB,CAiCtB;AAmBD,MAAM,WAAW,mBAAmB;IASnC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAOhC,YAAY,EAAE,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAK,MAAM,CAAC;IAEb,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAC3B,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAK,OAAO,CAAC;IAEd,OAAO,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,yBAAyB,CAAC;IAYxE,gBAAgB,EAAE,CAAC,MAAM,EAAE;QAC1B,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAK,OAAO,CAAC;IAEd,yBAAyB,EAAE,CAAC,MAAM,EAAE;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAK,mBAAmB,CAAC;IAE1B,wBAAwB,EAAE,CAAC,MAAM,EAAE;QAClC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAK,mBAAmB,CAAC;CAC1B"}
1
+ {"version":3,"file":"routerPoolInterface.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/interfaces/routerPoolInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yBAAyB,EACzB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,OAAO,EAEP,kBAAkB,EAClB,sBAAsB,EAEtB,UAAU,EACV,QAAQ,EAGR,QAAQ,EACR,UAAU,EAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAyBhE,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,YAAY,CAAC;IACvB,EAAE,EAAE,gBAAgB,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC/C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,QAAQ,CAAC;IACrB,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,EAAE,yBAAyB,CAAC;IACzC,qBAAqB,EAAE,QAAQ,CAAC;CAChC;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAE7B,OAAO,EAAE,UAAU,CAAC;CACpB,GAAG,mBAAmB,CAiCtB;AAmBD,MAAM,WAAW,mBAAmB;IASnC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAOhC,YAAY,EAAE,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,KAAK,MAAM,CAAC;IAEb,iBAAiB,EAAE,CAAC,MAAM,EAAE;QAC3B,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAK;QACL,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;KACtB,CAAC;IAEF,OAAO,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,yBAAyB,CAAC;IAYxE,gBAAgB,EAAE,CAAC,MAAM,EAAE;QAC1B,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAK;QACL,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;KACtB,CAAC;IAEF,yBAAyB,EAAE,CAAC,MAAM,EAAE;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAK,mBAAmB,CAAC;IAE1B,wBAAwB,EAAE,CAAC,MAAM,EAAE;QAClC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAK,mBAAmB,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"routerGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/synchronous/routerGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routerGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/synchronous/routerGraph.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,7 @@ class RouterGraph {
131
131
  coinOutAmount: path.coinIn.amount,
132
132
  });
133
133
  const totalCoinInAmount = currentCoinInAmount + path.coinIn.amount;
134
- const totalCoinOutAmount = isGivenAmountOut
134
+ const tradeResult = isGivenAmountOut
135
135
  ? poolBeforePathTrades.getTradeAmountIn({
136
136
  coinInType: path.coinIn.type,
137
137
  coinOutType: path.coinOut.type,
@@ -144,6 +144,9 @@ class RouterGraph {
144
144
  coinInAmount: totalCoinInAmount,
145
145
  referrer,
146
146
  });
147
+ const totalCoinOutAmount = "coinOutAmount" in tradeResult
148
+ ? tradeResult.coinOutAmount
149
+ : tradeResult.coinInAmount;
147
150
  const coinOutAmountFromTrade = totalCoinOutAmount - path.coinOut.amount;
148
151
  const updatedPool = pool.getUpdatedPoolAfterTrade(!isGivenAmountOut
149
152
  ? {
@@ -158,7 +161,11 @@ class RouterGraph {
158
161
  coinOutType: path.coinOut.type,
159
162
  coinOutAmount: currentCoinInAmount,
160
163
  });
161
- let newPath = Object.assign(Object.assign({}, path), { coinIn: Object.assign(Object.assign({}, path.coinIn), { amount: totalCoinInAmount }), coinOut: Object.assign(Object.assign({}, path.coinOut), { amount: totalCoinOutAmount }), spotPrice });
164
+ let newPath = Object.assign(Object.assign({}, path), { coinIn: Object.assign(Object.assign({}, path.coinIn), { amount: totalCoinInAmount, tradeFee: "coinOutAmount" in tradeResult
165
+ ? tradeResult.feeOutAmount
166
+ : tradeResult.feeInAmount }), coinOut: Object.assign(Object.assign({}, path.coinOut), { amount: totalCoinOutAmount, tradeFee: "coinOutAmount" in tradeResult
167
+ ? tradeResult.feeInAmount
168
+ : tradeResult.feeOutAmount }), spotPrice });
162
169
  newRoute = Object.assign(Object.assign({}, newRoute), { paths: [...newRoute.paths, newPath] });
163
170
  currentCoinInAmount = coinOutAmountFromTrade;
164
171
  currentPools = Object.assign(Object.assign({}, currentPools), { [path.poolUid]: updatedPool });
@@ -19,7 +19,11 @@ declare class AfSuiRouterPool implements RouterPoolInterface {
19
19
  coinInAmount: Balance;
20
20
  coinOutType: CoinType;
21
21
  referrer?: SuiAddress;
22
- }) => Balance;
22
+ }) => {
23
+ coinOutAmount: bigint;
24
+ feeInAmount: bigint;
25
+ feeOutAmount: bigint;
26
+ };
23
27
  tradeTx: (inputs: RouterPoolTradeTxInputs) => Infer<Struct<{
24
28
  index: number;
25
29
  kind: "Input";
@@ -45,7 +49,11 @@ declare class AfSuiRouterPool implements RouterPoolInterface {
45
49
  coinOutAmount: Balance;
46
50
  coinOutType: CoinType;
47
51
  referrer?: SuiAddress;
48
- }) => Balance;
52
+ }) => {
53
+ coinInAmount: bigint;
54
+ feeInAmount: bigint;
55
+ feeOutAmount: bigint;
56
+ };
49
57
  getUpdatedPoolBeforeTrade: (inputs: {
50
58
  coinInType: CoinType;
51
59
  coinInAmount: Balance;
@@ -1 +1 @@
1
- {"version":3,"file":"afSuiRouterPool.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/routerPools/afSuiRouterPool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EAER,UAAU,EACV,qBAAqB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,MAAM,mCAAmC,CAAC;AAI3C,cAAM,eAAgB,YAAW,mBAAmB;gBAKvC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU;IAW5D,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,qBAAqB,SAAsB;IACpD,QAAQ,CAAC,aAAa,SAAS;IAE/B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAM/B,YAAY,WAAY;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,YAEC;IAEF,iBAAiB,WAAY;QAC5B,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,OAAO,CAmCT;IAEF,OAAO,WAAY,uBAAuB;;;;;;;;;;;;;;;;;;;cAWxC;IAEF,gBAAgB,WAAY;QAC3B,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,OAAO,CAyCT;IAEF,yBAAyB,WAAY;QACpC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAG,mBAAmB,CAMrB;IAEF,wBAAwB,WAAY;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAG,mBAAmB,CAgBrB;IAMF,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY,CASlB;CACF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"afSuiRouterPool.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/routerPools/afSuiRouterPool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,UAAU,EACV,QAAQ,EAER,UAAU,EACV,qBAAqB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EACN,mBAAmB,EACnB,uBAAuB,EACvB,MAAM,mCAAmC,CAAC;AAI3C,cAAM,eAAgB,YAAW,mBAAmB;gBAKvC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU;IAW5D,QAAQ,CAAC,YAAY,WAAW;IAChC,QAAQ,CAAC,qBAAqB,SAAsB;IACpD,QAAQ,CAAC,aAAa,SAAS;IAE/B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAM/B,YAAY,WAAY;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,YAEC;IAEF,iBAAiB,WAAY;QAC5B,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB;;;;MAkDC;IAEF,OAAO,WAAY,uBAAuB;;;;;;;;;;;;;;;;;;;cAWxC;IAEF,gBAAgB,WAAY;QAC3B,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB;;;;MAmDC;IAEF,yBAAyB,WAAY;QACpC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAG,mBAAmB,CAMrB;IAEF,wBAAwB,WAAY;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QACtB,aAAa,EAAE,OAAO,CAAC;KACvB,KAAG,mBAAmB,CAgBrB;IAMF,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY,CASlB;CACF;AAED,eAAe,eAAe,CAAC"}