aftermath-ts-sdk 1.1.28 → 1.1.29
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.
- package/dist/packages/router/api/routerApi.d.ts +1 -1
- package/dist/packages/router/api/routerApi.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.js +3 -2
- package/dist/packages/router/api/routerApiHelpers.d.ts.map +1 -1
- package/dist/packages/router/api/routerApiHelpers.js +42 -9
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +16 -0
- package/dist/workerCaller.d.ts +18 -0
- package/dist/workerCaller.d.ts.map +1 -0
- package/dist/workerCaller.js +18 -0
- package/package.json +1 -1
|
@@ -119,7 +119,7 @@ export declare class RouterApi {
|
|
|
119
119
|
* @param inputs - The inputs for fetching trade events.
|
|
120
120
|
* @returns A Promise that resolves with the fetched trade events.
|
|
121
121
|
*/
|
|
122
|
-
fetchTradeEvents(inputs: UserEventsInputs): Promise<import("
|
|
122
|
+
fetchTradeEvents(inputs: UserEventsInputs): Promise<import("../../..").EventsWithCursor<import("../routerTypes").RouterTradeEvent>>;
|
|
123
123
|
private fetchAsyncPools;
|
|
124
124
|
private fetchSynchronousPools;
|
|
125
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,UAAU,EAEV,+BAA+B,EAC/B,kBAAkB,EAClB,gBAAgB,EAKhB,wBAAwB,EAExB,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,uBAAuB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"routerApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/api/routerApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const suiswapApi_1 = require("../../external/suiswap/suiswapApi");
|
|
|
25
25
|
const blueMoveApi_1 = require("../../external/blueMove/blueMoveApi");
|
|
26
26
|
const flowXApi_1 = require("../../external/flowX/flowXApi");
|
|
27
27
|
const __1 = require("../..");
|
|
28
|
+
const __2 = require("../../..");
|
|
28
29
|
/**
|
|
29
30
|
* RouterApi class provides methods for interacting with the Aftermath Router API.
|
|
30
31
|
* @class
|
|
@@ -102,7 +103,7 @@ class RouterApi {
|
|
|
102
103
|
* @returns A Promise that resolves to a RouterCompleteTradeRoute object.
|
|
103
104
|
*/
|
|
104
105
|
this.fetchCompleteTradeRouteGivenAmountIn = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
return this.Helpers.fetchCompleteTradeRouteGivenAmountIn(Object.assign(Object.assign({}, inputs), { protocols: this.protocols }));
|
|
106
|
+
return this.Helpers.fetchCompleteTradeRouteGivenAmountIn(Object.assign(Object.assign({}, inputs), { coinInType: __2.Helpers.addLeadingZeroesToType(inputs.coinInType), coinOutType: __2.Helpers.addLeadingZeroesToType(inputs.coinOutType), protocols: this.protocols }));
|
|
106
107
|
});
|
|
107
108
|
/**
|
|
108
109
|
* Fetches the complete trade route given the output amount of the trade.
|
|
@@ -110,7 +111,7 @@ class RouterApi {
|
|
|
110
111
|
* @returns A Promise that resolves to a RouterCompleteTradeRoute object.
|
|
111
112
|
*/
|
|
112
113
|
this.fetchCompleteTradeRouteGivenAmountOut = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
return this.Helpers.fetchCompleteTradeRouteGivenAmountOut(Object.assign(Object.assign({}, inputs), { protocols: this.protocols }));
|
|
114
|
+
return this.Helpers.fetchCompleteTradeRouteGivenAmountOut(Object.assign(Object.assign({}, inputs), { coinInType: __2.Helpers.addLeadingZeroesToType(inputs.coinInType), coinOutType: __2.Helpers.addLeadingZeroesToType(inputs.coinOutType), protocols: this.protocols }));
|
|
114
115
|
});
|
|
115
116
|
// =========================================================================
|
|
116
117
|
// Private Helpers
|
|
@@ -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,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EAKV,gBAAgB,EAChB,UAAU,EACV,sBAAsB,
|
|
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,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,QAAQ,EACR,UAAU,EAKV,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EAEtB,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;AAGrC,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,iBAAiB,CAAC;QAChC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAuGnC;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,iBAAiB,CAAC;QAChC,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;KACxC,KAAG,QAAQ,wBAAwB,CAAC,CAanC;IAEF,OAAO,CAAC,6CAA6C,CAqEnD;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"}
|
|
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.RouterApiHelpers = void 0;
|
|
13
16
|
const types_1 = require("../../../types");
|
|
@@ -15,6 +18,7 @@ const routerGraph_1 = require("../utils/synchronous/routerGraph");
|
|
|
15
18
|
const routerAsyncApiHelpers_1 = require("./routerAsyncApiHelpers");
|
|
16
19
|
const routerSynchronousApiHelpers_1 = require("./routerSynchronousApiHelpers");
|
|
17
20
|
const routerAsyncGraph_1 = require("../utils/async/routerAsyncGraph");
|
|
21
|
+
const workerCaller_1 = __importDefault(require("../../../workerCaller"));
|
|
18
22
|
class RouterApiHelpers {
|
|
19
23
|
// =========================================================================
|
|
20
24
|
// Constructor
|
|
@@ -42,18 +46,39 @@ class RouterApiHelpers {
|
|
|
42
46
|
});
|
|
43
47
|
const asyncProtocols = inputs.protocols.filter(types_1.isRouterAsyncProtocolName);
|
|
44
48
|
const { exactMatchPools, partialMatchPools } = this.AsyncHelpers.filterPossiblePools(Object.assign(Object.assign({}, inputs), { pools: Object.values(graph.pools).filter(types_1.isRouterAsyncSerializablePool), protocols: asyncProtocols }));
|
|
45
|
-
const routerGraph = new
|
|
49
|
+
// const routerGraph = new RouterGraph(
|
|
50
|
+
// network,
|
|
51
|
+
// graph,
|
|
52
|
+
// this.options.regular.synchronous,
|
|
53
|
+
// excludeProtocols
|
|
54
|
+
// );
|
|
55
|
+
const graphInputs = {
|
|
56
|
+
network,
|
|
57
|
+
graph,
|
|
58
|
+
excludeProtocols: excludeProtocols !== null && excludeProtocols !== void 0 ? excludeProtocols : [],
|
|
59
|
+
options: this.options.regular.synchronous,
|
|
60
|
+
};
|
|
46
61
|
if (exactMatchPools.length <= 0 && partialMatchPools.length <= 0)
|
|
47
|
-
return
|
|
62
|
+
return (yield (0, workerCaller_1.default)({
|
|
63
|
+
graphInputs,
|
|
64
|
+
inputs: Object.assign(Object.assign({}, inputs), { coinInAmounts: [inputs.coinInAmount] }),
|
|
65
|
+
}))[0];
|
|
66
|
+
// return routerGraph.getCompleteRouteGivenAmountIn(inputs);
|
|
48
67
|
const [exactTradeResults, completeRoutesForLastPoolAsync] = yield Promise.all([
|
|
49
68
|
this.AsyncHelpers.fetchTradeResults(Object.assign(Object.assign({}, inputs), { pools: exactMatchPools, coinInAmounts })),
|
|
50
|
-
Promise.all(partialMatchPools.map((lastPool) => this.fetchCompleteTradeRoutesForLastRouteAsyncPool(Object.assign(Object.assign({}, inputs), {
|
|
51
|
-
coinInAmounts,
|
|
69
|
+
Promise.all(partialMatchPools.map((lastPool) => this.fetchCompleteTradeRoutesForLastRouteAsyncPool(Object.assign(Object.assign({}, inputs), { routerGraphInputs: graphInputs, coinInAmounts,
|
|
52
70
|
lastPool })))),
|
|
53
71
|
]);
|
|
54
72
|
// NOTE: is this actually needed ?
|
|
55
|
-
routerGraph.updateOptions(this.options.regular.synchronous);
|
|
56
|
-
const synchronousCompleteRoutes =
|
|
73
|
+
// routerGraph.updateOptions(this.options.regular.synchronous);
|
|
74
|
+
const synchronousCompleteRoutes = yield (0, workerCaller_1.default)({
|
|
75
|
+
graphInputs: Object.assign(Object.assign({}, graphInputs), { options: this.options.regular.synchronous }),
|
|
76
|
+
inputs: Object.assign(Object.assign({}, inputs), { coinInAmounts }),
|
|
77
|
+
});
|
|
78
|
+
// routerGraph.getCompleteRoutesGivenAmountIns({
|
|
79
|
+
// ...inputs,
|
|
80
|
+
// coinInAmounts,
|
|
81
|
+
// });
|
|
57
82
|
const allCompleteRoutes = [
|
|
58
83
|
...completeRoutesForLastPoolAsync,
|
|
59
84
|
synchronousCompleteRoutes,
|
|
@@ -74,7 +99,7 @@ class RouterApiHelpers {
|
|
|
74
99
|
return routerGraph.getCompleteRouteGivenAmountOut(inputs);
|
|
75
100
|
});
|
|
76
101
|
this.fetchCompleteTradeRoutesForLastRouteAsyncPool = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
const {
|
|
102
|
+
const { routerGraphInputs } = inputs;
|
|
78
103
|
const asyncApi = this.AsyncHelpers.protocolNamesToApi[this.AsyncHelpers.protocolNameFromPool({
|
|
79
104
|
pool: inputs.lastPool,
|
|
80
105
|
})]();
|
|
@@ -82,8 +107,16 @@ class RouterApiHelpers {
|
|
|
82
107
|
coinType: inputs.coinOutType,
|
|
83
108
|
pool: inputs.lastPool,
|
|
84
109
|
});
|
|
85
|
-
routerGraph.updateOptions(this.options.preAsync);
|
|
86
|
-
const synchronousCompleteRoutes =
|
|
110
|
+
// routerGraph.updateOptions(this.options.preAsync);
|
|
111
|
+
// const synchronousCompleteRoutes =
|
|
112
|
+
// routerGraph.getCompleteRoutesGivenAmountIns({
|
|
113
|
+
// ...inputs,
|
|
114
|
+
// coinOutType: lastPoolCoinInType,
|
|
115
|
+
// });
|
|
116
|
+
const synchronousCompleteRoutes = yield (0, workerCaller_1.default)({
|
|
117
|
+
graphInputs: Object.assign(Object.assign({}, routerGraphInputs), { options: this.options.preAsync }),
|
|
118
|
+
inputs: Object.assign(Object.assign({}, inputs), { coinOutType: lastPoolCoinInType }),
|
|
119
|
+
});
|
|
87
120
|
const lastPoolCoinInAmounts = synchronousCompleteRoutes.map((route) => route.coinOut.amount);
|
|
88
121
|
const tradeResults = yield this.AsyncHelpers.fetchTradeResults(Object.assign(Object.assign({}, inputs), { coinInType: lastPoolCoinInType, pools: [inputs.lastPool], coinInAmounts: lastPoolCoinInAmounts }));
|
|
89
122
|
const asyncCompleteRoutes = routerAsyncGraph_1.RouterAsyncGraph.completeRoutesFromTradeResults({
|
package/dist/worker.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":""}
|
package/dist/worker.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const routerGraph_1 = require("./packages/router/utils/synchronous/routerGraph");
|
|
4
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
5
|
+
// worker side
|
|
6
|
+
// const { parentPort } = require("node:worker_threads");
|
|
7
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.on("message", (data) => {
|
|
8
|
+
const doRoute = (data) => {
|
|
9
|
+
const { graphInputs, inputs } = data;
|
|
10
|
+
const routerGraph = new routerGraph_1.RouterGraph(graphInputs.network, graphInputs.graph, graphInputs.options, graphInputs.excludeProtocols);
|
|
11
|
+
const synchronousCompleteRoutes = routerGraph.getCompleteRoutesGivenAmountIns(inputs);
|
|
12
|
+
return synchronousCompleteRoutes;
|
|
13
|
+
};
|
|
14
|
+
const result = doRoute(data.input);
|
|
15
|
+
node_worker_threads_1.parentPort === null || node_worker_threads_1.parentPort === void 0 ? void 0 : node_worker_threads_1.parentPort.postMessage({ output: result });
|
|
16
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Balance, CoinType, RouterCompleteTradeRoute, RouterExternalFee, RouterProtocolName, RouterSerializableCompleteGraph, RouterSynchronousOptions, SuiAddress, SuiNetwork } from ".";
|
|
2
|
+
export type WorkerData = {
|
|
3
|
+
graphInputs: {
|
|
4
|
+
network: SuiNetwork;
|
|
5
|
+
graph: RouterSerializableCompleteGraph;
|
|
6
|
+
options: RouterSynchronousOptions;
|
|
7
|
+
excludeProtocols: RouterProtocolName[];
|
|
8
|
+
};
|
|
9
|
+
inputs: {
|
|
10
|
+
coinInType: CoinType;
|
|
11
|
+
coinInAmounts: Balance[];
|
|
12
|
+
coinOutType: CoinType;
|
|
13
|
+
referrer?: SuiAddress;
|
|
14
|
+
externalFee?: RouterExternalFee;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default function handleDoRoute(req: WorkerData): Promise<RouterCompleteTradeRoute[]>;
|
|
18
|
+
//# sourceMappingURL=workerCaller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerCaller.d.ts","sourceRoot":"","sources":["../src/workerCaller.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,QAAQ,EACR,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,UAAU,EACV,UAAU,EACV,MAAM,GAAG,CAAC;AAGX,MAAM,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE;QACZ,OAAO,EAAE,UAAU,CAAC;QACpB,KAAK,EAAE,+BAA+B,CAAC;QACvC,OAAO,EAAE,wBAAwB,CAAC;QAClC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;KACvC,CAAC;IACF,MAAM,EAAE;QACP,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,EAAE,CAAC;QACzB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,WAAW,CAAC,EAAE,iBAAiB,CAAC;KAChC,CAAC;CACF,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,aAAa,CACpC,GAAG,EAAE,UAAU,GACb,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAerC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
4
|
+
// host side
|
|
5
|
+
function handleDoRoute(req) {
|
|
6
|
+
const worker = new node_worker_threads_1.Worker("./worker.js");
|
|
7
|
+
// worker.postMessage({ input: req });
|
|
8
|
+
// worker.on("message", (data) => {
|
|
9
|
+
// res(data);
|
|
10
|
+
// });
|
|
11
|
+
return new Promise((resolve) => {
|
|
12
|
+
worker.postMessage({ input: req });
|
|
13
|
+
worker.on("message", (data) => {
|
|
14
|
+
resolve(data);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.default = handleDoRoute;
|