aftermath-ts-sdk 0.0.156 → 0.0.157

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"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* () {
@@ -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,CAkEnC;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"}
@@ -58,11 +58,12 @@ class RouterApiHelpers {
58
58
  synchronousCompleteRoutes,
59
59
  ];
60
60
  const completeRoutes = allCompleteRoutes.filter((routes) => routes.length > 0);
61
- return routerAsyncGraph_1.RouterAsyncGraph.createFinalCompleteRoute({
61
+ const result = routerAsyncGraph_1.RouterAsyncGraph.createFinalCompleteRoute({
62
62
  tradeResults: exactTradeResults,
63
63
  completeRoutes: completeRoutes.length <= 0 ? undefined : completeRoutes,
64
64
  coinInAmounts,
65
65
  });
66
+ return result;
66
67
  });
67
68
  this.fetchCompleteTradeRoutesForLastRouteAsyncPool = (inputs) => __awaiter(this, void 0, void 0, function* () {
68
69
  const { routerGraph } = inputs;
@@ -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,7 +15,7 @@ type TradeInfo = RouterTradeInfo & {
15
15
  };
16
16
  export declare class RouterGraph {
17
17
  static readonly defaultOptions: RouterOptions;
18
- readonly graph: RouterCompleteGraph;
18
+ readonly syncGraph: RouterCompleteGraph;
19
19
  readonly constants: RouterOptions;
20
20
  constructor(network: SuiNetwork | Url, graph: RouterSerializableCompleteGraph, options?: RouterOptions);
21
21
  getCompleteRouteGivenAmountIn(inputs: {
@@ -38,6 +38,8 @@ export declare class RouterGraph {
38
38
  static graphFromSerializable(inputs: {
39
39
  graph: RouterSerializableCompleteGraph;
40
40
  network: SuiNetwork | Url;
41
+ isTotal?: boolean;
42
+ isAsync?: boolean;
41
43
  }): RouterCompleteGraph;
42
44
  static supportedCoinPathsFromGraph: (inputs: {
43
45
  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,25 @@ 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
  /////////////////////////////////////////////////////////////////////
190
202
  getCompleteRouteGivenAmountIn(inputs) {
191
- return this.getCompleteRoute(Object.assign(Object.assign({}, inputs), { isGivenAmountOut: false }));
203
+ const result = this.getCompleteRoute(Object.assign(Object.assign({}, inputs), { isGivenAmountOut: false }));
204
+ return result;
192
205
  }
193
206
  // public getCompleteRouteGivenAmountOut(
194
207
  // coinIn: CoinType,
@@ -228,9 +241,10 @@ class RouterGraph {
228
241
  };
229
242
  }
230
243
  });
231
- return completeRoutes.every((route) => route.routes.length === 0)
244
+ const result = completeRoutes.every((route) => route.routes.length === 0)
232
245
  ? []
233
246
  : completeRoutes;
247
+ return result;
234
248
  }
235
249
  /////////////////////////////////////////////////////////////////////
236
250
  //// Public Static Methods
@@ -257,13 +271,38 @@ class RouterGraph {
257
271
  return graph;
258
272
  }
259
273
  static graphFromSerializable(inputs) {
274
+ const { isTotal, isAsync } = inputs;
260
275
  const pools = Object.entries(inputs.graph.pools).reduce((acc, [uid, pool]) => {
261
276
  const poolClass = (0, routerPoolInterface_1.createRouterPool)({
262
277
  pool,
263
278
  network: inputs.network,
264
279
  });
280
+ if (!isTotal &&
281
+ ((isAsync && !poolClass.noHopsAllowed) ||
282
+ (!isAsync && poolClass.noHopsAllowed)))
283
+ return acc;
265
284
  return Object.assign(Object.assign({}, acc), { [uid]: poolClass });
266
285
  }, {});
286
+ // const coinNodes = Object.entries(inputs.graph.coinNodes).reduce(
287
+ // (acc, [coinIn, coinNode]) => ({
288
+ // acc,
289
+ // [coinIn]: {
290
+ // ...coinNode,
291
+ // coinOutThroughPoolEdges: Object.entries(
292
+ // coinNode.coinOutThroughPoolEdges
293
+ // ).reduce(
294
+ // (acc, [coin, poolUids]) => ({
295
+ // ...acc,
296
+ // [coin]: poolUids.filter((uid) =>
297
+ // Object.keys(pools).includes(uid)
298
+ // ),
299
+ // }),
300
+ // {}
301
+ // ),
302
+ // },
303
+ // }),
304
+ // {}
305
+ // );
267
306
  const graph = {
268
307
  coinNodes: inputs.graph.coinNodes,
269
308
  pools,
@@ -274,20 +313,20 @@ class RouterGraph {
274
313
  //// Private Methods
275
314
  /////////////////////////////////////////////////////////////////////
276
315
  getCompleteRoute(inputs) {
277
- if (Object.keys(this.graph).length <= 0)
278
- throw new Error("empty graph");
316
+ if (Object.keys(this.syncGraph).length <= 0)
317
+ throw new Error("empty graphs");
279
318
  const { coinInType, coinInAmount, coinOutType, referrer, externalFee, isGivenAmountOut, } = inputs;
280
319
  if (externalFee &&
281
320
  externalFee.feePercentage >=
282
321
  router_1.Router.constants.maxExternalFeePercentage)
283
322
  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);
323
+ const routes = RouterGraph.findRoutes(helpers_1.Helpers.deepCopy(this.syncGraph), helpers_1.Helpers.deepCopy(this.syncGraph), coinInType, coinOutType, this.constants.maxRouteLength, isGivenAmountOut);
324
+ const routesAfterTrades = this.splitTradeBetweenRoutes(helpers_1.Helpers.deepCopy(this.syncGraph), routes, coinInAmount, isGivenAmountOut, referrer);
286
325
  const completeRoute = RouterGraph.completeRouteFromRoutes(routesAfterTrades, coinInType, coinInAmount, coinOutType);
287
326
  const transformedRoute = isGivenAmountOut
288
327
  ? RouterGraph.transformCompleteRouteIfGivenAmountOut(completeRoute)
289
328
  : completeRoute;
290
- const completeTradeRoute = RouterGraph.routerCompleteTradeRouteFromCompleteTradeRoute(transformedRoute, this.graph.pools, referrer, externalFee);
329
+ const completeTradeRoute = RouterGraph.routerCompleteTradeRouteFromCompleteTradeRoute(transformedRoute, this.syncGraph.pools, referrer, externalFee);
291
330
  return completeTradeRoute;
292
331
  }
293
332
  }
@@ -298,8 +337,8 @@ _a = RouterGraph;
298
337
  /////////////////////////////////////////////////////////////////////
299
338
  RouterGraph.defaultOptions = {
300
339
  maxRouteLength: 3,
301
- tradePartitionCount: 10,
302
- minRoutesToCheck: 20,
340
+ tradePartitionCount: 5,
341
+ minRoutesToCheck: 10,
303
342
  maxGasCost: BigInt(500000000), // 0.5 SUI
304
343
  };
305
344
  /////////////////////////////////////////////////////////////////////
@@ -388,12 +427,21 @@ RouterGraph.updateCoinNodesFromPool = (coinNodes, pool) => {
388
427
  /////////////////////////////////////////////////////////////////////
389
428
  //// Route Finding
390
429
  /////////////////////////////////////////////////////////////////////
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];
430
+ RouterGraph.findRoutes = (syncGraph, asyncGraph, coinIn, coinOut, maxRouteLength, isGivenAmountOut) => {
431
+ const syncCoinInEdges = syncGraph.coinNodes[coinIn].coinOutThroughPoolEdges;
432
+ const startingRoutes = _a.createStartingRoutes(syncGraph.pools, syncCoinInEdges, coinIn, coinOut, false);
433
+ const routes = _a.findCompleteRoutes(syncGraph, startingRoutes, coinOut, maxRouteLength, isGivenAmountOut);
434
+ // const asyncCoinInEdges =
435
+ // syncGraph.coinNodes[coinIn].coinOutThroughPoolEdges;
436
+ // const noHopRoutes = this.createStartingRoutes(
437
+ // asyncGraph.pools,
438
+ // asyncCoinInEdges,
439
+ // coinIn,
440
+ // coinOut,
441
+ // true
442
+ // );
443
+ // return [...routes, ...noHopRoutes];
444
+ return [...routes];
397
445
  };
398
446
  RouterGraph.createStartingRoutes = (pools, coinInEdges, coinIn,
399
447
  // NOTE: should this really be unused ?
@@ -401,6 +449,8 @@ finalCoinOut, onlyNoHopPools) => {
401
449
  let routes = [];
402
450
  for (const [coinOut, throughPools] of Object.entries(coinInEdges)) {
403
451
  for (const poolUid of throughPools) {
452
+ if (!(poolUid in pools))
453
+ continue;
404
454
  const pool = pools[poolUid];
405
455
  if (onlyNoHopPools && !pool.noHopsAllowed)
406
456
  continue;
@@ -463,6 +513,8 @@ RouterGraph.findCompleteRoutes = (graph, routes, coinOut, maxRouteLength, isGive
463
513
  // )
464
514
  lastPath.poolUid === poolUid)
465
515
  continue;
516
+ if (!(poolUid in graph.pools))
517
+ continue;
466
518
  const pool = graph.pools[poolUid];
467
519
  const newRoute = Object.assign(Object.assign({}, route), { paths: [
468
520
  ...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.157",
4
4
  "description": "Aftermath TypeScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",