aftermath-ts-sdk 0.0.156 → 0.0.159

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.
@@ -38,6 +38,7 @@ export interface PoolsAddresses {
38
38
  packages: {
39
39
  amm: SuiAddress;
40
40
  ammInterface: SuiAddress;
41
+ events: SuiAddress;
41
42
  };
42
43
  objects: {
43
44
  poolRegistry: ObjectId;
@@ -46,6 +47,9 @@ export interface PoolsAddresses {
46
47
  insuranceFund: ObjectId;
47
48
  lpCoinsTable: ObjectId;
48
49
  };
50
+ other: {
51
+ createLpCoinPackageCompilation: string;
52
+ };
49
53
  }
50
54
  export interface UtilitiesAddresses {
51
55
  packages: {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/general/utils/caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,aAAa,EACb,gBAAgB,EAGhB,GAAG,EACH,MAAM,aAAa,CAAC;AAGrB,qBAAa,MAAM;aAQD,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAM;gBAOd,OAAO,CAAC,oBAAkB,EACzB,SAAS,GAAE,GAAQ;IAcrC,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBAQX,mBAAmB;IAQxC,OAAO,CAAC,aAAa,CAQnB;cAMc,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EACpD,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC;cAsBF,mBAAmB,CAAC,QAAQ,GAAG,SAAS,EACvD,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,WAAW;cAWL,cAAc,CAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,EACjE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,WAAW;CAQrB"}
1
+ {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/general/utils/caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,aAAa,EACb,gBAAgB,EAGhB,GAAG,EACH,MAAM,aAAa,CAAC;AAGrB,qBAAa,MAAM;aAQD,OAAO,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAM;gBAOd,OAAO,CAAC,oBAAkB,EACzB,SAAS,GAAE,GAAQ;IAcrC,OAAO,CAAC,MAAM,CAAC,iBAAiB;mBAYX,mBAAmB;IAQxC,OAAO,CAAC,aAAa,CAQnB;cAMc,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EACpD,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC;cAsBF,mBAAmB,CAAC,QAAQ,GAAG,SAAS,EACvD,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,WAAW;cAWL,cAAc,CAAC,SAAS,EAAE,QAAQ,GAAG,aAAa,EACjE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,WAAW;CAQrB"}
@@ -23,7 +23,7 @@ class Caller {
23
23
  if (this.baseUrl === undefined)
24
24
  throw new Error("no baseUrl: unable to fetch data");
25
25
  // TODO: handle url prefixing and api calls based on network differently
26
- return `${this.baseUrl}/api/${this.urlPrefix === "" ? "" : this.urlPrefix + "/"}${url}`.replaceAll("//", "/");
26
+ return `${this.baseUrl}/api/${this.urlPrefix === "" ? "" : this.urlPrefix + "/"}${url}`;
27
27
  };
28
28
  this.network = network;
29
29
  this.urlPrefix = urlPrefix;
@@ -44,7 +44,8 @@ class Caller {
44
44
  return "https://devnet.aftermath.finance";
45
45
  if (network === "LOCAL")
46
46
  return "http://localhost:3000";
47
- return network;
47
+ const safeNetwork = network.slice(-1) === "/" ? network.slice(0, -1) : network;
48
+ return safeNetwork;
48
49
  }
49
50
  static fetchResponseToType(response) {
50
51
  return __awaiter(this, void 0, void 0, function* () {
@@ -165,7 +165,7 @@ class PoolsApiHelpers {
165
165
  };
166
166
  this.publishLpCoinTx = (inputs) => {
167
167
  const { tx } = inputs;
168
- const compiledModulesAndDeps = JSON.parse(`{"modules":["oRzrCwYAAAAJAQAGAgYIAw4LBBkCBRsQBytPCHpgCtoBBQzfAQ0AAgIDAQcAAAIAAgECAAAGAAEAAQQDAQECAQICCAAHCAEAAQgAAgkABwgBBUFGX0xQCVR4Q29udGV4dAVhZl9scA1hbW1faW50ZXJmYWNlDmNyZWF0ZV9scF9jb2luC2R1bW15X2ZpZWxkBGluaXQKdHhfY29udGV4dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALmlBNSmrNkQyYGFIdIntxU5RrgYIeMfzpdVSbNt3hPoQACAQUBAAAAAAEECwALATgAAgA="],"dependencies":["0x20a65e88af1067e992c08c3d739df5411f4f34de38a7073102a709ae0aa6057e","0xe69413529ab3644326061487489edc54e51ae060878c7f3a5d5526cdb7784fa1","0x86ab16dfe4228f1a83e2d8f82f1e4e5b11a6e3c8c1bc12297592276b5badb90c","0xdc6c8b85cbefd0db26c59a83f915816b02bc7a08ca0eb3c3f21877cee7e71071","0x0000000000000000000000000000000000000000000000000000000000000001","0x601207d00bf8862cc36dd06041b6e99707aa68baf7db175a74ceb15aa7a2310b","0xdf857ebd99ad63680122f2960f46ae9f2377cbc31791848dff4d9719fee5f3ac","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0x09e96e14585633f5f1f437164cf74a2052a62521a8b310dcb30ee7289b4d8698","0x11b955825d69f808589ef3bd86a653af1c7e3db4bda4455b0b081dfe5eff100c"],"digest":[122,194,151,53,241,242,224,79,241,73,128,176,53,131,0,232,15,200,171,208,199,220,149,132,13,191,172,87,64,58,129,22]}`);
168
+ const compiledModulesAndDeps = JSON.parse(this.addresses.pools.other.createLpCoinPackageCompilation);
169
169
  return tx.publish({
170
170
  modules: compiledModulesAndDeps.modules.map((m) => Array.from((0, sui_js_1.fromB64)(m))),
171
171
  dependencies: compiledModulesAndDeps.dependencies.map((addr) => (0, sui_js_1.normalizeSuiObjectId)(addr)),
@@ -469,9 +469,9 @@ class PoolsApiHelpers {
469
469
  /////////////////////////////////////////////////////////////////////
470
470
  //// Event Types
471
471
  /////////////////////////////////////////////////////////////////////
472
- this.tradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.swap);
473
- this.depositEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.deposit);
474
- this.withdrawEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.withdraw);
472
+ this.tradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.events, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.swap);
473
+ this.depositEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.events, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.deposit);
474
+ this.withdrawEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.events, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.withdraw);
475
475
  const addresses = {
476
476
  pools: this.Provider.addresses.pools,
477
477
  referralVault: this.Provider.addresses.referralVault,
@@ -1 +1 @@
1
- {"version":3,"file":"routerApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EAER,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EACV,GAAG,EAEH,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,qBAAa,gBAAgB;IAsBhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjBrC,gBAAuB,SAAS;;;;MAI9B;IAMF,SAAgB,kBAAkB,8BAAC;IACnC,SAAgB,YAAY,wBAAC;gBAMA,QAAQ,EAAE,YAAY;IAe5C,sBAAsB,WAAkB;QAC9C,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,8CAGC;IAMK,oCAAoC,WAAkB;QAC5D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,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,CAgEnC;IAEF,OAAO,CAAC,6CAA6C,CAuDnD;IAmDW,qCAAqC,CAAC,MAAM,EAAE;QAC1D,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAc7B,OAAc,uBAAuB,WAAY;QAChD,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,KAAG,OAAO,EAAE,CAqBX;IAUF,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAwCpD;CACF"}
1
+ {"version":3,"file":"routerApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApiHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACN,OAAO,EACP,QAAQ,EAER,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EACV,GAAG,EAEH,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAG5E,qBAAa,gBAAgB;IAsBhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjBrC,gBAAuB,SAAS;;;;MAI9B;IAMF,SAAgB,kBAAkB,8BAAC;IACnC,SAAgB,YAAY,wBAAC;gBAMA,QAAQ,EAAE,YAAY;IAe5C,sBAAsB,WAAkB;QAC9C,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,8CAGC;IAMK,oCAAoC,WAAkB;QAC5D,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,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,CAmEnC;IAEF,OAAO,CAAC,6CAA6C,CA2DnD;IAmDW,qCAAqC,CAAC,MAAM,EAAE;QAC1D,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAc7B,OAAc,uBAAuB,WAAY;QAChD,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,KAAG,OAAO,EAAE,CAqBX;IAUF,OAAO,CAAC,MAAM,CAAC,uCAAuC,CAwCpD;CACF"}
@@ -52,17 +52,19 @@ class RouterApiHelpers {
52
52
  coinInAmounts,
53
53
  lastPool })))),
54
54
  ]);
55
+ routerGraph.updateOptions(routerGraph_1.RouterGraph.defaultOptions);
55
56
  const synchronousCompleteRoutes = routerGraph.getCompleteRoutesGivenAmountIns(Object.assign(Object.assign({}, inputs), { coinInAmounts }));
56
57
  const allCompleteRoutes = [
57
58
  ...completeRoutesForLastPoolAsync,
58
59
  synchronousCompleteRoutes,
59
60
  ];
60
61
  const completeRoutes = allCompleteRoutes.filter((routes) => routes.length > 0);
61
- return routerAsyncGraph_1.RouterAsyncGraph.createFinalCompleteRoute({
62
+ const result = routerAsyncGraph_1.RouterAsyncGraph.createFinalCompleteRoute({
62
63
  tradeResults: exactTradeResults,
63
64
  completeRoutes: completeRoutes.length <= 0 ? undefined : completeRoutes,
64
65
  coinInAmounts,
65
66
  });
67
+ return result;
66
68
  });
67
69
  this.fetchCompleteTradeRoutesForLastRouteAsyncPool = (inputs) => __awaiter(this, void 0, void 0, function* () {
68
70
  const { routerGraph } = inputs;
@@ -73,6 +75,10 @@ class RouterApiHelpers {
73
75
  coinType: inputs.coinOutType,
74
76
  pool: inputs.lastPool,
75
77
  });
78
+ routerGraph.updateOptions({
79
+ // maxRouteLength: 2,
80
+ maxGasCost: BigInt(333333333), // 0.333 SUI
81
+ });
76
82
  const synchronousCompleteRoutes = routerGraph.getCompleteRoutesGivenAmountIns(Object.assign(Object.assign({}, inputs), { coinOutType: lastPoolCoinInType }));
77
83
  const lastPoolCoinInAmounts = synchronousCompleteRoutes.map((route) => route.coinOut.amount);
78
84
  const tradeResults = yield this.AsyncHelpers.fetchTradeResults(Object.assign(Object.assign({}, inputs), { coinInType: lastPoolCoinInType, pools: [inputs.lastPool], coinInAmounts: lastPoolCoinInAmounts }));
@@ -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;IAqB5B,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,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"}
@@ -17,6 +17,8 @@ class RouterAsyncGraph {
17
17
  const completeRoutes = inputs.completeRoutes
18
18
  ? [...asyncCompleteRoutes, ...inputs.completeRoutes]
19
19
  : asyncCompleteRoutes;
20
+ if (completeRoutes.length < 0)
21
+ throw new Error("unable to find route");
20
22
  const chosenCompleteRoutes = this.splitTradeBetweenRoutes(Object.assign(Object.assign({}, inputs), { completeRoutes }));
21
23
  const finalCompleteRoute = this.singleCompleteRouteFromMany({
22
24
  completeRoutes: chosenCompleteRoutes,
@@ -15,9 +15,10 @@ type TradeInfo = RouterTradeInfo & {
15
15
  };
16
16
  export declare class RouterGraph {
17
17
  static readonly defaultOptions: RouterOptions;
18
- readonly graph: RouterCompleteGraph;
19
- readonly constants: RouterOptions;
18
+ readonly syncGraph: RouterCompleteGraph;
19
+ private constants;
20
20
  constructor(network: SuiNetwork | Url, graph: RouterSerializableCompleteGraph, options?: RouterOptions);
21
+ updateOptions(partialOptions: Partial<RouterOptions>): void;
21
22
  getCompleteRouteGivenAmountIn(inputs: {
22
23
  coinInType: CoinType;
23
24
  coinInAmount: Balance;
@@ -38,6 +39,8 @@ export declare class RouterGraph {
38
39
  static graphFromSerializable(inputs: {
39
40
  graph: RouterSerializableCompleteGraph;
40
41
  network: SuiNetwork | Url;
42
+ isTotal?: boolean;
43
+ isAsync?: boolean;
41
44
  }): RouterCompleteGraph;
42
45
  static supportedCoinPathsFromGraph: (inputs: {
43
46
  graph: RouterSerializableCompleteGraph;
@@ -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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"}
@@ -115,6 +115,8 @@ class RouterGraph {
115
115
  let routeSpotPrice = 1;
116
116
  try {
117
117
  for (const path of originalRoute.paths) {
118
+ if (!(path.poolUid in currentPools))
119
+ continue;
118
120
  const pool = currentPools[path.poolUid];
119
121
  const spotPrice = pool.getSpotPrice({
120
122
  coinInType: path.coinIn.type,
@@ -181,14 +183,28 @@ class RouterGraph {
181
183
  return undefined;
182
184
  }
183
185
  };
184
- this.graph = RouterGraph.graphFromSerializable({ graph, network });
186
+ // this.syncGraph = RouterGraph.graphFromSerializable({
187
+ // graph,
188
+ // network,
189
+ // isTotal: true,
190
+ // });
191
+ this.syncGraph = RouterGraph.graphFromSerializable({ graph, network });
192
+ // this.asyncGraph = RouterGraph.graphFromSerializable({
193
+ // graph,
194
+ // network,
195
+ // isAsync: true,
196
+ // });
185
197
  this.constants = Object.assign(Object.assign({}, RouterGraph.defaultOptions), options);
186
198
  }
187
199
  /////////////////////////////////////////////////////////////////////
188
200
  //// Public Methods
189
201
  /////////////////////////////////////////////////////////////////////
202
+ updateOptions(partialOptions) {
203
+ this.constants = Object.assign(Object.assign({}, this.constants), partialOptions);
204
+ }
190
205
  getCompleteRouteGivenAmountIn(inputs) {
191
- return this.getCompleteRoute(Object.assign(Object.assign({}, inputs), { isGivenAmountOut: false }));
206
+ const result = this.getCompleteRoute(Object.assign(Object.assign({}, inputs), { isGivenAmountOut: false }));
207
+ return result;
192
208
  }
193
209
  // public getCompleteRouteGivenAmountOut(
194
210
  // coinIn: CoinType,
@@ -228,9 +244,10 @@ class RouterGraph {
228
244
  };
229
245
  }
230
246
  });
231
- return completeRoutes.every((route) => route.routes.length === 0)
247
+ const result = completeRoutes.every((route) => route.routes.length === 0)
232
248
  ? []
233
249
  : completeRoutes;
250
+ return result;
234
251
  }
235
252
  /////////////////////////////////////////////////////////////////////
236
253
  //// Public Static Methods
@@ -257,13 +274,38 @@ class RouterGraph {
257
274
  return graph;
258
275
  }
259
276
  static graphFromSerializable(inputs) {
277
+ const { isTotal, isAsync } = inputs;
260
278
  const pools = Object.entries(inputs.graph.pools).reduce((acc, [uid, pool]) => {
261
279
  const poolClass = (0, routerPoolInterface_1.createRouterPool)({
262
280
  pool,
263
281
  network: inputs.network,
264
282
  });
283
+ if (!isTotal &&
284
+ ((isAsync && !poolClass.noHopsAllowed) ||
285
+ (!isAsync && poolClass.noHopsAllowed)))
286
+ return acc;
265
287
  return Object.assign(Object.assign({}, acc), { [uid]: poolClass });
266
288
  }, {});
289
+ // const coinNodes = Object.entries(inputs.graph.coinNodes).reduce(
290
+ // (acc, [coinIn, coinNode]) => ({
291
+ // acc,
292
+ // [coinIn]: {
293
+ // ...coinNode,
294
+ // coinOutThroughPoolEdges: Object.entries(
295
+ // coinNode.coinOutThroughPoolEdges
296
+ // ).reduce(
297
+ // (acc, [coin, poolUids]) => ({
298
+ // ...acc,
299
+ // [coin]: poolUids.filter((uid) =>
300
+ // Object.keys(pools).includes(uid)
301
+ // ),
302
+ // }),
303
+ // {}
304
+ // ),
305
+ // },
306
+ // }),
307
+ // {}
308
+ // );
267
309
  const graph = {
268
310
  coinNodes: inputs.graph.coinNodes,
269
311
  pools,
@@ -274,20 +316,20 @@ class RouterGraph {
274
316
  //// Private Methods
275
317
  /////////////////////////////////////////////////////////////////////
276
318
  getCompleteRoute(inputs) {
277
- if (Object.keys(this.graph).length <= 0)
278
- throw new Error("empty graph");
319
+ if (Object.keys(this.syncGraph).length <= 0)
320
+ throw new Error("empty graphs");
279
321
  const { coinInType, coinInAmount, coinOutType, referrer, externalFee, isGivenAmountOut, } = inputs;
280
322
  if (externalFee &&
281
323
  externalFee.feePercentage >=
282
324
  router_1.Router.constants.maxExternalFeePercentage)
283
325
  throw new Error(`external fee percentage exceeds max of ${router_1.Router.constants.maxExternalFeePercentage}`);
284
- const routes = RouterGraph.findRoutes(helpers_1.Helpers.deepCopy(this.graph), coinInType, coinOutType, this.constants.maxRouteLength, isGivenAmountOut);
285
- const routesAfterTrades = this.splitTradeBetweenRoutes(helpers_1.Helpers.deepCopy(this.graph), routes, coinInAmount, isGivenAmountOut, referrer);
326
+ const routes = RouterGraph.findRoutes(helpers_1.Helpers.deepCopy(this.syncGraph), helpers_1.Helpers.deepCopy(this.syncGraph), coinInType, coinOutType, this.constants.maxRouteLength, isGivenAmountOut);
327
+ const routesAfterTrades = this.splitTradeBetweenRoutes(helpers_1.Helpers.deepCopy(this.syncGraph), routes, coinInAmount, isGivenAmountOut, referrer);
286
328
  const completeRoute = RouterGraph.completeRouteFromRoutes(routesAfterTrades, coinInType, coinInAmount, coinOutType);
287
329
  const transformedRoute = isGivenAmountOut
288
330
  ? RouterGraph.transformCompleteRouteIfGivenAmountOut(completeRoute)
289
331
  : completeRoute;
290
- const completeTradeRoute = RouterGraph.routerCompleteTradeRouteFromCompleteTradeRoute(transformedRoute, this.graph.pools, referrer, externalFee);
332
+ const completeTradeRoute = RouterGraph.routerCompleteTradeRouteFromCompleteTradeRoute(transformedRoute, this.syncGraph.pools, referrer, externalFee);
291
333
  return completeTradeRoute;
292
334
  }
293
335
  }
@@ -298,8 +340,8 @@ _a = RouterGraph;
298
340
  /////////////////////////////////////////////////////////////////////
299
341
  RouterGraph.defaultOptions = {
300
342
  maxRouteLength: 3,
301
- tradePartitionCount: 10,
302
- minRoutesToCheck: 20,
343
+ tradePartitionCount: 5,
344
+ minRoutesToCheck: 10,
303
345
  maxGasCost: BigInt(500000000), // 0.5 SUI
304
346
  };
305
347
  /////////////////////////////////////////////////////////////////////
@@ -388,12 +430,21 @@ RouterGraph.updateCoinNodesFromPool = (coinNodes, pool) => {
388
430
  /////////////////////////////////////////////////////////////////////
389
431
  //// Route Finding
390
432
  /////////////////////////////////////////////////////////////////////
391
- RouterGraph.findRoutes = (graph, coinIn, coinOut, maxRouteLength, isGivenAmountOut) => {
392
- const coinInEdges = graph.coinNodes[coinIn].coinOutThroughPoolEdges;
393
- const startingRoutes = _a.createStartingRoutes(graph.pools, coinInEdges, coinIn, coinOut, false);
394
- const routes = _a.findCompleteRoutes(graph, startingRoutes, coinOut, maxRouteLength, isGivenAmountOut);
395
- const noHopRoutes = _a.createStartingRoutes(graph.pools, coinInEdges, coinIn, coinOut, true);
396
- return [...routes, ...noHopRoutes];
433
+ RouterGraph.findRoutes = (syncGraph, asyncGraph, coinIn, coinOut, maxRouteLength, isGivenAmountOut) => {
434
+ const syncCoinInEdges = syncGraph.coinNodes[coinIn].coinOutThroughPoolEdges;
435
+ const startingRoutes = _a.createStartingRoutes(syncGraph.pools, syncCoinInEdges, coinIn, coinOut, false);
436
+ const routes = _a.findCompleteRoutes(syncGraph, startingRoutes, coinOut, maxRouteLength, isGivenAmountOut);
437
+ // const asyncCoinInEdges =
438
+ // syncGraph.coinNodes[coinIn].coinOutThroughPoolEdges;
439
+ // const noHopRoutes = this.createStartingRoutes(
440
+ // asyncGraph.pools,
441
+ // asyncCoinInEdges,
442
+ // coinIn,
443
+ // coinOut,
444
+ // true
445
+ // );
446
+ // return [...routes, ...noHopRoutes];
447
+ return [...routes];
397
448
  };
398
449
  RouterGraph.createStartingRoutes = (pools, coinInEdges, coinIn,
399
450
  // NOTE: should this really be unused ?
@@ -401,6 +452,8 @@ finalCoinOut, onlyNoHopPools) => {
401
452
  let routes = [];
402
453
  for (const [coinOut, throughPools] of Object.entries(coinInEdges)) {
403
454
  for (const poolUid of throughPools) {
455
+ if (!(poolUid in pools))
456
+ continue;
404
457
  const pool = pools[poolUid];
405
458
  if (onlyNoHopPools && !pool.noHopsAllowed)
406
459
  continue;
@@ -463,6 +516,8 @@ RouterGraph.findCompleteRoutes = (graph, routes, coinOut, maxRouteLength, isGive
463
516
  // )
464
517
  lastPath.poolUid === poolUid)
465
518
  continue;
519
+ if (!(poolUid in graph.pools))
520
+ continue;
466
521
  const pool = graph.pools[poolUid];
467
522
  const newRoute = Object.assign(Object.assign({}, route), { paths: [
468
523
  ...route.paths,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aftermath-ts-sdk",
3
- "version": "0.0.156",
3
+ "version": "0.0.159",
4
4
  "description": "Aftermath TypeScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",