aftermath-ts-sdk 0.0.126 → 0.0.128
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/general/api/inspectionsApiHelpers.d.ts +2 -2
- package/dist/general/api/inspectionsApiHelpers.d.ts.map +1 -1
- package/dist/general/api/inspectionsApiHelpers.js +7 -4
- package/dist/general/api/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/api/transactionsApiHelpers.js +2 -1
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/types/castingTypes.d.ts +6 -0
- package/dist/general/types/castingTypes.d.ts.map +1 -1
- package/dist/general/types/configTypes.d.ts +24 -1
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/utils/casting.d.ts +1 -0
- package/dist/general/utils/casting.d.ts.map +1 -1
- package/dist/general/utils/casting.js +1 -0
- package/dist/packages/capys/api/capysApiHelpers.d.ts.map +1 -1
- package/dist/packages/capys/api/capysApiHelpers.js +13 -13
- package/dist/packages/coin/api/coinApiHelpers.d.ts +7 -1
- package/dist/packages/coin/api/coinApiHelpers.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApiHelpers.js +36 -23
- package/dist/packages/external/cetus/cetusApi.d.ts +33 -0
- package/dist/packages/external/cetus/cetusApi.d.ts.map +1 -0
- package/dist/packages/external/cetus/cetusApi.js +56 -0
- package/dist/packages/external/cetus/cetusApiHelpers.d.ts +197 -0
- package/dist/packages/external/cetus/cetusApiHelpers.d.ts.map +1 -0
- package/dist/packages/external/cetus/cetusApiHelpers.js +232 -0
- package/dist/packages/external/cetus/cetusTypes.d.ts +15 -0
- package/dist/packages/external/cetus/cetusTypes.d.ts.map +1 -0
- package/dist/packages/external/cetus/cetusTypes.js +7 -0
- package/dist/packages/external/deepBook/deepBookApi.d.ts +1 -1
- package/dist/packages/external/deepBook/deepBookApi.d.ts.map +1 -1
- package/dist/packages/external/deepBook/deepBookApiHelper.d.ts.map +1 -1
- package/dist/packages/external/deepBook/deepBookApiHelper.js +5 -6
- package/dist/packages/external/deepBook/deepBookTypes.d.ts.map +1 -1
- package/dist/packages/external/nojo/nojoAmmApi.d.ts +1 -1
- package/dist/packages/external/nojo/nojoAmmApi.d.ts.map +1 -1
- package/dist/packages/external/nojo/nojoAmmTypes.d.ts.map +1 -1
- package/dist/packages/external/turbos/turbosApi.d.ts +33 -0
- package/dist/packages/external/turbos/turbosApi.d.ts.map +1 -0
- package/dist/packages/external/turbos/turbosApi.js +56 -0
- package/dist/packages/external/turbos/turbosApiHelpers.d.ts +192 -0
- package/dist/packages/external/turbos/turbosApiHelpers.d.ts.map +1 -0
- package/dist/packages/external/turbos/turbosApiHelpers.js +266 -0
- package/dist/packages/external/turbos/turbosTypes.d.ts +18 -0
- package/dist/packages/external/turbos/turbosTypes.d.ts.map +1 -0
- package/dist/packages/external/turbos/turbosTypes.js +12 -0
- package/dist/packages/faucet/api/faucetApiHelpers.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApiHelpers.js +4 -4
- package/dist/packages/nftAmm/api/nftAmmApiHelpers.js +4 -5
- package/dist/packages/pools/api/poolsApi.js +1 -1
- package/dist/packages/pools/api/poolsApiHelpers.d.ts +1 -1
- package/dist/packages/pools/api/poolsApiHelpers.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApiHelpers.js +11 -10
- package/dist/packages/referralVault/api/referralVaultApi.js +2 -2
- package/dist/packages/referralVault/api/referralVaultApiHelpers.d.ts.map +1 -1
- package/dist/packages/referralVault/api/referralVaultApiHelpers.js +6 -6
- package/dist/packages/router/api/routerApi.d.ts +18 -5
- package/dist/packages/router/api/routerApi.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.js +45 -11
- package/dist/packages/router/api/routerAsyncApiHelpers.d.ts +16 -0
- package/dist/packages/router/api/routerAsyncApiHelpers.d.ts.map +1 -0
- package/dist/packages/router/api/routerAsyncApiHelpers.js +94 -0
- package/dist/packages/router/api/{routerApiHelpers.d.ts → routerSynchronousApiHelpers.d.ts} +13 -7
- package/dist/packages/router/api/routerSynchronousApiHelpers.d.ts.map +1 -0
- package/dist/packages/router/api/{routerApiHelpers.js → routerSynchronousApiHelpers.js} +74 -26
- package/dist/packages/router/index.d.ts +1 -1
- package/dist/packages/router/index.d.ts.map +1 -1
- package/dist/packages/router/index.js +1 -1
- package/dist/packages/router/router.d.ts +0 -1
- package/dist/packages/router/router.d.ts.map +1 -1
- package/dist/packages/router/router.js +9 -5
- package/dist/packages/router/routerTypes.d.ts +27 -10
- package/dist/packages/router/routerTypes.d.ts.map +1 -1
- package/dist/packages/router/routerTypes.js +17 -0
- package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts +24 -0
- package/dist/packages/router/utils/async/routerAsyncApiInterface.d.ts.map +1 -0
- package/dist/packages/router/utils/async/routerAsyncGraph.d.ts +12 -0
- package/dist/packages/router/utils/async/routerAsyncGraph.d.ts.map +1 -0
- package/dist/packages/router/utils/async/routerAsyncGraph.js +115 -0
- package/dist/packages/router/utils/{routerApiInterface.d.ts → synchronous/interfaces/routerApiInterface.d.ts} +2 -2
- package/dist/packages/router/utils/synchronous/interfaces/routerApiInterface.d.ts.map +1 -0
- package/dist/packages/router/utils/synchronous/interfaces/routerApiInterface.js +2 -0
- package/dist/packages/router/utils/{routerPoolInterface.d.ts → synchronous/interfaces/routerPoolInterface.d.ts} +5 -3
- package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.d.ts.map +1 -0
- package/dist/packages/router/utils/synchronous/interfaces/routerPoolInterface.js +32 -0
- package/dist/packages/router/utils/{routerGraph.d.ts → synchronous/routerGraph.d.ts} +30 -5
- package/dist/packages/router/utils/synchronous/routerGraph.d.ts.map +1 -0
- package/dist/packages/router/utils/{routerGraph.js → synchronous/routerGraph.js} +84 -15
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/aftermathRouterPool.d.ts +7 -5
- package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts.map +1 -0
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/aftermathRouterPool.js +3 -3
- package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts +85 -0
- package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.d.ts.map +1 -0
- package/dist/packages/router/utils/synchronous/routerPools/cetusRouterPool.js +41 -0
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/deepBookRouterPool.d.ts +7 -5
- package/dist/packages/router/utils/synchronous/routerPools/deepBookRouterPool.d.ts.map +1 -0
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/deepBookRouterPool.js +2 -2
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/nojoRouterPool.d.ts +7 -5
- package/dist/packages/router/utils/synchronous/routerPools/nojoRouterPool.d.ts.map +1 -0
- package/dist/packages/router/utils/{routerPools → synchronous/routerPools}/nojoRouterPool.js +3 -3
- package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts +85 -0
- package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.d.ts.map +1 -0
- package/dist/packages/router/utils/synchronous/routerPools/turbosRouterPool.js +43 -0
- package/dist/packages/router/utils/synchronous/routerTest.d.ts.map +1 -0
- package/dist/packages/router/utils/synchronous/routerTest.js +124 -0
- package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApi.js +4 -2
- package/dist/packages/staking/api/stakingApiHelpers.js +4 -4
- package/dist/packages/staking/staking.d.ts +0 -4
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/staking/staking.js +1 -5
- package/package.json +1 -1
- package/dist/packages/router/api/routerApiHelpers.d.ts.map +0 -1
- package/dist/packages/router/utils/routerApiInterface.d.ts.map +0 -1
- package/dist/packages/router/utils/routerGraph.d.ts.map +0 -1
- package/dist/packages/router/utils/routerPoolInterface.d.ts.map +0 -1
- package/dist/packages/router/utils/routerPoolInterface.js +0 -24
- package/dist/packages/router/utils/routerPools/aftermathRouterPool.d.ts.map +0 -1
- package/dist/packages/router/utils/routerPools/deepBookRouterPool.d.ts.map +0 -1
- package/dist/packages/router/utils/routerPools/nojoRouterPool.d.ts.map +0 -1
- package/dist/packages/router/utils/routerTest.d.ts.map +0 -1
- package/dist/packages/router/utils/routerTest.js +0 -105
- /package/dist/packages/router/utils/{routerApiInterface.js → async/routerAsyncApiInterface.js} +0 -0
- /package/dist/packages/router/utils/{routerTest.d.ts → synchronous/routerTest.d.ts} +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class TurbosRouterPool {
|
|
4
|
+
/////////////////////////////////////////////////////////////////////
|
|
5
|
+
//// Constructor
|
|
6
|
+
/////////////////////////////////////////////////////////////////////
|
|
7
|
+
constructor(pool, network) {
|
|
8
|
+
/////////////////////////////////////////////////////////////////////
|
|
9
|
+
//// Constants
|
|
10
|
+
/////////////////////////////////////////////////////////////////////
|
|
11
|
+
this.protocolName = "Turbos";
|
|
12
|
+
this.expectedGasCostPerHop = BigInt(9000000); // 0.009 SUI
|
|
13
|
+
this.noHopsAllowed = true;
|
|
14
|
+
/////////////////////////////////////////////////////////////////////
|
|
15
|
+
//// Functions
|
|
16
|
+
/////////////////////////////////////////////////////////////////////
|
|
17
|
+
this.getSpotPrice = (_) => {
|
|
18
|
+
throw new Error("uncallable");
|
|
19
|
+
};
|
|
20
|
+
this.getTradeAmountOut = (_) => {
|
|
21
|
+
throw new Error("uncallable");
|
|
22
|
+
};
|
|
23
|
+
this.addTradeCommandToTransaction = (inputs) => {
|
|
24
|
+
// PRODUCTION: handle slippage !
|
|
25
|
+
if (!inputs.tx.blockData.sender)
|
|
26
|
+
throw new Error("no sender for tx set (required for turbos txs)");
|
|
27
|
+
return inputs.provider
|
|
28
|
+
.Router()
|
|
29
|
+
.Turbos()
|
|
30
|
+
.Helpers.tradeTx(Object.assign(Object.assign({}, inputs), { coinInId: inputs.coinIn, pool: this.pool, walletAddress: inputs.tx.blockData.sender }));
|
|
31
|
+
};
|
|
32
|
+
this.getTradeAmountIn = (_) => {
|
|
33
|
+
throw new Error("uncallable");
|
|
34
|
+
};
|
|
35
|
+
this.getUpdatedPoolBeforeTrade = (_) => new TurbosRouterPool(this.pool, this.network);
|
|
36
|
+
this.getUpdatedPoolAfterTrade = (_) => new TurbosRouterPool(this.pool, this.network);
|
|
37
|
+
this.pool = pool;
|
|
38
|
+
this.network = network;
|
|
39
|
+
this.uid = pool.id;
|
|
40
|
+
this.coinTypes = [pool.coinTypeA, pool.coinTypeB];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.default = TurbosRouterPool;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routerTest.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/synchronous/routerTest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { Aftermath } from "../../../../general/providers";
|
|
3
|
+
// import { Helpers } from "../../../../general/utils/helpers";
|
|
4
|
+
// import { Balance, PoolObject } from "../../../../types";
|
|
5
|
+
// import { CoinType } from "../../../coin/coinTypes";
|
|
6
|
+
// import { Pool } from "../../../pools";
|
|
7
|
+
// import { Router } from "../../router";
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
// const tradeAmounts = {
|
|
10
|
+
// max: BigInt(9_223_372_036_854_775_807),
|
|
11
|
+
// extraLarge: BigInt(100000000000000000),
|
|
12
|
+
// large: BigInt(10000000000000),
|
|
13
|
+
// medium: BigInt(1000000000),
|
|
14
|
+
// small: BigInt(10000),
|
|
15
|
+
// };
|
|
16
|
+
// const runMe = async () => {
|
|
17
|
+
// const sdk = new Aftermath("LOCAL");
|
|
18
|
+
// const router = sdk.Router();
|
|
19
|
+
// const supportedCoins = Object.keys(await router.getSupportedCoinPaths());
|
|
20
|
+
// // PRODUCTOIN: add asserts for coins not in pool or same coin trades
|
|
21
|
+
// const coinIn =
|
|
22
|
+
// supportedCoins.find((coin) => coin.toLowerCase().includes("afsui")) ??
|
|
23
|
+
// "";
|
|
24
|
+
// const coinOut =
|
|
25
|
+
// supportedCoins.find((coin) => coin.toLowerCase().includes("::af::")) ??
|
|
26
|
+
// "";
|
|
27
|
+
// const coinInAmount = BigInt(223447384370);
|
|
28
|
+
// console.log("START");
|
|
29
|
+
// console.log("\n");
|
|
30
|
+
// try {
|
|
31
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 1);
|
|
32
|
+
// const coinOutAmount = await runRoute(
|
|
33
|
+
// router,
|
|
34
|
+
// coinIn,
|
|
35
|
+
// coinInAmount,
|
|
36
|
+
// coinOut,
|
|
37
|
+
// 5,
|
|
38
|
+
// false
|
|
39
|
+
// );
|
|
40
|
+
// await runRoute(router, coinIn, coinOutAmount, coinOut, 5, true);
|
|
41
|
+
// // const pool = await sdk.Pools().getPool({
|
|
42
|
+
// // objectId:
|
|
43
|
+
// // "0x5dbf77deddfc68f446b96b2a17b7160faf4a015544df9ab3db81bf7b5ffc0570",
|
|
44
|
+
// // });
|
|
45
|
+
// // const pool = new Pool(
|
|
46
|
+
// // Helpers.parseJsonWithBigint(
|
|
47
|
+
// // `{"objectId":"0xbc8bdb27d73b28f9ba9cd1b56e256f21bf9584d1e80ccc460a24e46bd4078950","lpCoinType":"0xef7ba1db7f5604bee5f86cf444c3636d6e5d711fbba280954fa9d2f654ef7db7::af_lp_eth::AF_LP_ETH","name":"ETH Pool","creator":"0x4b02b9b45f2a9597363fbaacb2fd6e7fb8ed9329bb6f716631b5717048908ace","lpCoinSupply":"3675123799120n","illiquidLpCoinSupply":"1000n","flatness":"0n","coins":{"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::af::AF":{"weight":"250000000000000000n","balance":"1000000000000000n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::afsui::AFSUI":{"weight":"250000000000000000n","balance":"876843564864654n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::lzeth::LZETH":{"weight":"250000000000000000n","balance":"45612457575n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::wheth::WHETH":{"weight":"250000000000000000n","balance":"4561233457n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"}}}`
|
|
48
|
+
// // ) as unknown as PoolObject
|
|
49
|
+
// // );
|
|
50
|
+
// // const amountOut = pool.getTradeAmountOut({
|
|
51
|
+
// // coinInType:
|
|
52
|
+
// // "0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::axlusdc::AXLUSDC",
|
|
53
|
+
// // coinOutType:
|
|
54
|
+
// // "0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::afsui::AFSUI",
|
|
55
|
+
// // coinInAmount: BigInt(5000000),
|
|
56
|
+
// // });
|
|
57
|
+
// // console.log("amountOut", amountOut);
|
|
58
|
+
// // await runRoute(router, coinIn, coinOutAmount, coinOut, 5, true);
|
|
59
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 3);
|
|
60
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 4);
|
|
61
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 5);
|
|
62
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 6);
|
|
63
|
+
// // await runRoute(router, coinIn, coinInAmount, coinOut, 7);
|
|
64
|
+
// } catch (e) {
|
|
65
|
+
// console.error(e);
|
|
66
|
+
// }
|
|
67
|
+
// console.log("END");
|
|
68
|
+
// };
|
|
69
|
+
// const runRoute = async (
|
|
70
|
+
// router: Router,
|
|
71
|
+
// coinIn: CoinType,
|
|
72
|
+
// coinInAmount: Balance,
|
|
73
|
+
// coinOut: CoinType,
|
|
74
|
+
// maxRouteLength: number,
|
|
75
|
+
// isGivenAmountOut: boolean
|
|
76
|
+
// ): Promise<Balance> => {
|
|
77
|
+
// const start = performance.now();
|
|
78
|
+
// const completeRoute = isGivenAmountOut
|
|
79
|
+
// ? await router.getCompleteTradeRouteGivenAmountOut(
|
|
80
|
+
// {
|
|
81
|
+
// coinInType: coinIn,
|
|
82
|
+
// coinOutType: coinOut,
|
|
83
|
+
// coinOutAmount: coinInAmount,
|
|
84
|
+
// }
|
|
85
|
+
// // maxRouteLength
|
|
86
|
+
// )
|
|
87
|
+
// : await router.getCompleteTradeRouteGivenAmountIn(
|
|
88
|
+
// { coinInType: coinIn, coinInAmount, coinOutType: coinOut }
|
|
89
|
+
// // maxRouteLength
|
|
90
|
+
// );
|
|
91
|
+
// console.log({ coinIn, coinInAmount, coinOut });
|
|
92
|
+
// const end = performance.now();
|
|
93
|
+
// const stableCoinPercentLoss =
|
|
94
|
+
// (Number(completeRoute.coinIn.amount - completeRoute.coinOut.amount) /
|
|
95
|
+
// Number(completeRoute.coinIn.amount)) *
|
|
96
|
+
// 100;
|
|
97
|
+
// console.log("Max Route Length:", maxRouteLength);
|
|
98
|
+
// console.log("Routes Used:", completeRoute.routes.length);
|
|
99
|
+
// // for (const route of completeRoute.routes) {
|
|
100
|
+
// // console.log("\n");
|
|
101
|
+
// // console.log(
|
|
102
|
+
// // route.paths.map((path) => {
|
|
103
|
+
// // return {
|
|
104
|
+
// // pool: path.poolObjectId,
|
|
105
|
+
// // coinIn: path.coinIn,
|
|
106
|
+
// // coinInAmount: path.coinIn.amount,
|
|
107
|
+
// // coinOut: path.coinOut,
|
|
108
|
+
// // coinOutAmount: path.coinOut.amount,
|
|
109
|
+
// // };
|
|
110
|
+
// // })
|
|
111
|
+
// // );
|
|
112
|
+
// // }
|
|
113
|
+
// console.log("Coin In Amount:", completeRoute.coinIn.amount);
|
|
114
|
+
// console.log("Coin Out Amount:", completeRoute.coinOut.amount);
|
|
115
|
+
// console.log(
|
|
116
|
+
// "Stable Coin Loss:",
|
|
117
|
+
// completeRoute.coinIn.amount - completeRoute.coinOut.amount,
|
|
118
|
+
// `${stableCoinPercentLoss.toFixed(2)}%`
|
|
119
|
+
// );
|
|
120
|
+
// console.log("Execution time:", end - start, "ms");
|
|
121
|
+
// console.log("\n");
|
|
122
|
+
// return completeRoute.coinOut.amount;
|
|
123
|
+
// };
|
|
124
|
+
// runMe();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stakingApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/staking/api/stakingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,UAAU,EACV,mBAAmB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,qBAAa,UAAU;IAWV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,SAAgB,OAAO,oBAAC;gBAMK,QAAQ,EAAE,YAAY;IAa5C,oBAAoB,YACjB,UAAU,KACjB,QAAQ,cAAc,EAAE,CAAC,CAI1B;IAEK,qBAAqB,QAAa,QAAQ,mBAAmB,EAAE,CAAC,CAErE;IAMK,qBAAqB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,UAAU,CAAC;KAC7B,KAAG,QAAQ,qBAAqB,CAAC,CAMhC;IAEK,uBAAuB,WAAkB;QAC/C,aAAa,EAAE,UAAU,CAAC;QAC1B,kBAAkB,EAAE,OAAO,CAAC;KAC5B,KAAG,QAAQ,qBAAqB,CAAC,CAMhC;IAMK,iBAAiB,WAAkB;QACzC,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,eAAe,EAAE,CAAC,CAW5B;IAMK,WAAW,QAAa,QAAQ,OAAO,CAAC,CAM7C;IAEK,sBAAsB,QAAa,QAAQ,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"stakingApi.d.ts","sourceRoot":"","sources":["../../../../src/packages/staking/api/stakingApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,UAAU,EACV,mBAAmB,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGhE,qBAAa,UAAU;IAWV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,SAAgB,OAAO,oBAAC;gBAMK,QAAQ,EAAE,YAAY;IAa5C,oBAAoB,YACjB,UAAU,KACjB,QAAQ,cAAc,EAAE,CAAC,CAI1B;IAEK,qBAAqB,QAAa,QAAQ,mBAAmB,EAAE,CAAC,CAErE;IAMK,qBAAqB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,UAAU,CAAC;KAC7B,KAAG,QAAQ,qBAAqB,CAAC,CAMhC;IAEK,uBAAuB,WAAkB;QAC/C,aAAa,EAAE,UAAU,CAAC;QAC1B,kBAAkB,EAAE,OAAO,CAAC;KAC5B,KAAG,QAAQ,qBAAqB,CAAC,CAMhC;IAMK,iBAAiB,WAAkB;QACzC,aAAa,EAAE,UAAU,CAAC;KAC1B,KAAG,QAAQ,eAAe,EAAE,CAAC,CAW5B;IAMK,WAAW,QAAa,QAAQ,OAAO,CAAC,CAM7C;IAEK,sBAAsB,QAAa,QAAQ,MAAM,CAAC,CAQvD;CACF"}
|
|
@@ -59,7 +59,7 @@ class StakingApi {
|
|
|
59
59
|
this.fetchSuiTvl = () => __awaiter(this, void 0, void 0, function* () {
|
|
60
60
|
const tx = new sui_js_1.TransactionBlock();
|
|
61
61
|
this.Helpers.addGetStakedSuiTvlCommandToTransaction({ tx });
|
|
62
|
-
const bytes = yield this.Provider.Inspections().
|
|
62
|
+
const bytes = yield this.Provider.Inspections().fetchFirstBytesFromTxOutput(tx);
|
|
63
63
|
return utils_1.Casting.bigIntFromBytes(bytes);
|
|
64
64
|
});
|
|
65
65
|
this.fetchAfSuiExchangeRate = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -67,7 +67,9 @@ class StakingApi {
|
|
|
67
67
|
this.fetchSuiTvl(),
|
|
68
68
|
this.Helpers.fetchAfSuiSupply(),
|
|
69
69
|
]);
|
|
70
|
-
return
|
|
70
|
+
return suiTvl <= BigInt(0) || afSuiSupply <= BigInt(0)
|
|
71
|
+
? 1
|
|
72
|
+
: Number(afSuiSupply) / Number(suiTvl);
|
|
71
73
|
});
|
|
72
74
|
this.Provider = Provider;
|
|
73
75
|
this.Helpers = new stakingApiHelpers_1.StakingApiHelpers(Provider);
|
|
@@ -32,7 +32,7 @@ class StakingApiHelpers {
|
|
|
32
32
|
this.addStakeCommandToTransaction = (inputs) => {
|
|
33
33
|
const { tx, suiCoin } = inputs;
|
|
34
34
|
return tx.moveCall({
|
|
35
|
-
target:
|
|
35
|
+
target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.packages.lsd, StakingApiHelpers.constants.modules.interface, "request_add_stake"),
|
|
36
36
|
typeArguments: [],
|
|
37
37
|
arguments: [
|
|
38
38
|
tx.object(this.addresses.objects.staking),
|
|
@@ -44,7 +44,7 @@ class StakingApiHelpers {
|
|
|
44
44
|
this.addUnstakeCommandToTransaction = (inputs) => {
|
|
45
45
|
const { tx, afSuiCoin } = inputs;
|
|
46
46
|
return tx.moveCall({
|
|
47
|
-
target:
|
|
47
|
+
target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.packages.lsd, StakingApiHelpers.constants.modules.interface, "request_unstake"),
|
|
48
48
|
typeArguments: [],
|
|
49
49
|
arguments: [
|
|
50
50
|
tx.object(this.addresses.objects.staking),
|
|
@@ -57,7 +57,7 @@ class StakingApiHelpers {
|
|
|
57
57
|
this.addGetAfSuiSupplyCommandToTransaction = (inputs) => {
|
|
58
58
|
const { tx } = inputs;
|
|
59
59
|
return tx.moveCall({
|
|
60
|
-
target:
|
|
60
|
+
target: utils_1.Helpers.transactions.createTransactionTarget(this.addresses.packages.lsd, StakingApiHelpers.constants.modules.staking, "afsui_supply"),
|
|
61
61
|
typeArguments: [],
|
|
62
62
|
arguments: [tx.object(this.addresses.objects.staking)],
|
|
63
63
|
});
|
|
@@ -257,7 +257,7 @@ class StakingApiHelpers {
|
|
|
257
257
|
this.fetchAfSuiSupply = () => __awaiter(this, void 0, void 0, function* () {
|
|
258
258
|
const tx = new sui_js_1.TransactionBlock();
|
|
259
259
|
this.addGetAfSuiSupplyCommandToTransaction({ tx });
|
|
260
|
-
const bytes = yield this.Provider.Inspections().
|
|
260
|
+
const bytes = yield this.Provider.Inspections().fetchFirstBytesFromTxOutput(tx);
|
|
261
261
|
return utils_1.Casting.bigIntFromBytes(bytes);
|
|
262
262
|
});
|
|
263
263
|
const addresses = this.Provider.addresses.staking;
|
|
@@ -4,10 +4,6 @@ import { Caller } from "../../general/utils/caller";
|
|
|
4
4
|
export declare class Staking extends Caller {
|
|
5
5
|
readonly network?: string | undefined;
|
|
6
6
|
static readonly constants: {
|
|
7
|
-
objectTypes: {
|
|
8
|
-
stakedSuiType: string;
|
|
9
|
-
delegationType: string;
|
|
10
|
-
};
|
|
11
7
|
fees: {
|
|
12
8
|
unstakeFee: number;
|
|
13
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACN,YAAY,EACZ,cAAc,EAEd,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EAEP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,qBAAa,OAAQ,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACN,YAAY,EACZ,cAAc,EAEd,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EAEP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,qBAAa,OAAQ,SAAQ,MAAM;aAkBN,OAAO,CAAC;IAbpC,gBAAuB,SAAS;;;;;;;MAO9B;gBAM0B,OAAO,CAAC,oBAAkB;IAQzC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIrD,mBAAmB,CAC/B,MAAM,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC;IAQhB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB;IAOlD,uBAAuB,CAAC,MAAM,EAAE,oBAAoB;IAWpD,mBAAmB,CAAC,MAAM,EAAE,YAAY;IAOxC,qBAAqB,CAAC,MAAM,EAAE,cAAc;IAW5C,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAGpD"}
|
|
@@ -77,12 +77,8 @@ exports.Staking = Staking;
|
|
|
77
77
|
//// Constants
|
|
78
78
|
/////////////////////////////////////////////////////////////////////
|
|
79
79
|
Staking.constants = {
|
|
80
|
-
objectTypes: {
|
|
81
|
-
stakedSuiType: "0x2::staking_pool::StakedSui",
|
|
82
|
-
delegationType: "0x2::staking_pool::Delegation",
|
|
83
|
-
},
|
|
84
80
|
fees: {
|
|
85
|
-
unstakeFee: 0.
|
|
81
|
+
unstakeFee: 0.01, // 1%
|
|
86
82
|
},
|
|
87
83
|
bounds: {
|
|
88
84
|
minStake: BigInt("1000000000"), // 1 SUI
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
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,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMjE,qBAAa,gBAAgB;IAkBhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAbrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAOjC;gBAM2B,QAAQ,EAAE,YAAY;IAQ5C,aAAa,WAAkB;QACrC,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,sBAAsB,EAAE,CAAC,CAanC;IAMK,mBAAmB,WAAkB;QAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,QAAQ,QAAQ,EAAE,CAAC,CAgBrB;IAMW,0CAA0C,CAAC,MAAM,EAAE;QAC/D,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;QAC1B,QAAQ,EAAE,YAAY,CAAC;QACvB,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6FtB,qBAAqB,WAAY;QACvC,SAAS,EAAE,kBAAkB,EAAE,CAAC;KAChC,KAAG,mBAAmB,GAAG,CAAC,EAAE,CAG3B;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routerApiInterface.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/utils/routerApiInterface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAMxD,MAAM,WAAW,kBAAkB,CAAC,QAAQ,SAAS,sBAAsB;IAS1E,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzC,mBAAmB,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAG/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routerGraph.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/utils/routerGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACN,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EAMxB,UAAU,EAEV,GAAG,EAIH,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA2B5C,qBAAa,WAAW;IAKvB,gBAAuB,cAAc,EAAE,aAAa,CAKlD;IAMF,SAAgB,KAAK,EAAE,mBAAmB,CAAC;IAC3C,SAAgB,SAAS,EAAE,aAAa,CAAC;gBAOxC,OAAO,EAAE,UAAU,GAAG,GAAG,EACzB,KAAK,EAAE,+BAA+B,EACtC,OAAO,CAAC,EAAE,aAAa;WAiBV,WAAW,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,sBAAsB,EAAE,CAAC;KAChC,GAAG,+BAA+B;WAgCrB,qBAAqB,CAAC,MAAM,EAAE;QAC3C,KAAK,EAAE,+BAA+B,CAAC;QACvC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;KAC1B,GAAG,mBAAmB;IA2BvB,OAAc,2BAA2B,WAAkB;QAC1D,KAAK,EAAE,+BAA+B,CAAC;QACvC,cAAc,CAAC,EAAE,MAAM,CAAC;KACxB,KAAG,QAAQ,wBAAwB,CAAC,CAmCnC;IAMK,6BAA6B,CACnC,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,QAAQ,EACjB,QAAQ,CAAC,EAAE,UAAU,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC7B,wBAAwB;IAWpB,8BAA8B,CACpC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,OAAO,EACtB,QAAQ,CAAC,EAAE,UAAU,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAC7B,wBAAwB;IAe3B,OAAO,CAAC,gBAAgB;IAgExB,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAyDpC;IAMF,OAAO,CAAC,MAAM,CAAC,UAAU,CAwBvB;IAEF,OAAO,CAAC,MAAM,CAAC,oBAAoB,CA8CjC;IAEF,OAAO,CAAC,MAAM,CAAC,kBAAkB,CA8E/B;IAEF,OAAO,CAAC,uBAAuB,CA2C7B;IAEF,OAAO,CAAC,oCAAoC,CAoF1C;IAEF,OAAO,CAAC,uBAAuB,CA8D7B;IAEF,OAAO,CAAC,iCAAiC,CA0JvC;IAEF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAqCpC;IAEF,OAAO,CAAC,MAAM,CAAC,sCAAsC,CAuBnD;IAEF,OAAO,CAAC,MAAM,CAAC,wCAAwC,CAiBrD;IAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAM3B;IAEJ,OAAO,CAAC,MAAM,CAAC,eAAe,CAI3B;IAEH,OAAO,CAAC,MAAM,CAAC,8CAA8C,CAqD3D;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routerPoolInterface.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/utils/routerPoolInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACxC,IAAI,EAAE,sBAAsB,CAAC;IAE7B,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;CAC1B,GAAG,mBAAmB,CAUtB;AAmBD,MAAM,WAAW,mBAAmB;IASnC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAEvB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAO/B,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,4BAA4B,EAAE,CAAC,MAAM,EAAE;QACtC,QAAQ,EAAE,YAAY,CAAC;QACvB,EAAE,EAAE,gBAAgB,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAK,mBAAmB,CAAC;IAY1B,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,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createRouterPool = void 0;
|
|
7
|
-
const aftermathRouterPool_1 = __importDefault(require("./routerPools/aftermathRouterPool"));
|
|
8
|
-
const nojoRouterPool_1 = __importDefault(require("./routerPools/nojoRouterPool"));
|
|
9
|
-
const nojoAmmTypes_1 = require("../../external/nojo/nojoAmmTypes");
|
|
10
|
-
const deepBookTypes_1 = require("../../external/deepBook/deepBookTypes");
|
|
11
|
-
const deepBookRouterPool_1 = __importDefault(require("./routerPools/deepBookRouterPool"));
|
|
12
|
-
/////////////////////////////////////////////////////////////////////
|
|
13
|
-
//// Creation
|
|
14
|
-
/////////////////////////////////////////////////////////////////////
|
|
15
|
-
function createRouterPool(inputs) {
|
|
16
|
-
const { pool, network } = inputs;
|
|
17
|
-
const constructedPool = (0, nojoAmmTypes_1.isNojoPoolObject)(pool)
|
|
18
|
-
? new nojoRouterPool_1.default(pool, network)
|
|
19
|
-
: (0, deepBookTypes_1.isDeepBookPoolObject)(pool)
|
|
20
|
-
? new deepBookRouterPool_1.default(pool, network)
|
|
21
|
-
: new aftermathRouterPool_1.default(pool, network);
|
|
22
|
-
return constructedPool;
|
|
23
|
-
}
|
|
24
|
-
exports.createRouterPool = createRouterPool;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aftermathRouterPool.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/routerPools/aftermathRouterPool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,cAAM,mBAAoB,YAAW,mBAAmB;gBAK3C,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,GAAG;IAYvD,QAAQ,CAAC,YAAY,eAAe;IAEpC,QAAQ,CAAC,qBAAqB,SAAuB;IAErD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IAMjC,YAAY,WAAY;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,YAkBC;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,CAiCT;IAEF,4BAA4B,WAAY;QACvC,QAAQ,EAAE,YAAY,CAAC;QACvB,EAAE,EAAE,gBAAgB,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB;;;;;;;;;;;;;;MA2CC;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,CAiCT;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,CA8BrB;CACF;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deepBookRouterPool.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/routerPools/deepBookRouterPool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACN,kBAAkB,EAElB,MAAM,0CAA0C,CAAC;AAGlD,cAAM,kBAAmB,YAAW,mBAAmB;gBAK1C,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,GAAG,GAAG;IAW/D,QAAQ,CAAC,YAAY,cAAc;IAEnC,QAAQ,CAAC,qBAAqB,SAAuB;IAErD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;IACnC,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,KAAG,MAAM,CAMR;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,CAGT;IAEF,4BAA4B,WAAY;QACvC,QAAQ,EAAE,YAAY,CAAC;QACvB,EAAE,EAAE,gBAAgB,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,mBAAmB,CASrB;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,CAET;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,CA2BrB;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,CAIrB;IAMF,OAAO,CAAC,kCAAkC,CA0DxC;IAEF,OAAO,CAAC,cAAc,CAE8B;CACpD;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nojoRouterPool.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/routerPools/nojoRouterPool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAGrE,cAAM,cAAe,YAAW,mBAAmB;gBAKtC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,GAAG,GAAG;IAY3D,QAAQ,CAAC,YAAY,UAAU;IAE/B,QAAQ,CAAC,qBAAqB,SAAqB;IAEnD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,GAAG,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IAMjD,YAAY,WAAY;QACvB,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;KACtB,YAQC;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,CA0BT;IAEF,4BAA4B,WAAY;QACvC,QAAQ,EAAE,YAAY,CAAC;QACvB,EAAE,EAAE,gBAAgB,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB;;;;;;;;;;;;;;MAaC;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,CA0BT;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,CAKnB;IAEJ,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,CA2BrB;IAMF,OAAO,CAAC,OAAO,CAEwC;CACvD;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routerTest.d.ts","sourceRoot":"","sources":["../../../../src/packages/router/utils/routerTest.ts"],"names":[],"mappings":""}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const providers_1 = require("../../../general/providers");
|
|
13
|
-
const tradeAmounts = {
|
|
14
|
-
max: BigInt(9223372036854776000),
|
|
15
|
-
extraLarge: BigInt(100000000000000000),
|
|
16
|
-
large: BigInt(10000000000000),
|
|
17
|
-
medium: BigInt(1000000000),
|
|
18
|
-
small: BigInt(10000),
|
|
19
|
-
};
|
|
20
|
-
const runMe = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
var _a, _b;
|
|
22
|
-
const sdk = new providers_1.Aftermath("LOCAL");
|
|
23
|
-
const router = sdk.Router();
|
|
24
|
-
const supportedCoins = Object.keys(yield router.getSupportedCoinPaths());
|
|
25
|
-
// PRODUCTOIN: add asserts for coins not in pool or same coin trades
|
|
26
|
-
const coinIn = (_a = supportedCoins.find((coin) => coin.toLowerCase().includes("afsui"))) !== null && _a !== void 0 ? _a : "";
|
|
27
|
-
const coinOut = (_b = supportedCoins.find((coin) => coin.toLowerCase().includes("::af::"))) !== null && _b !== void 0 ? _b : "";
|
|
28
|
-
const coinInAmount = BigInt(223447384370);
|
|
29
|
-
console.log("START");
|
|
30
|
-
console.log("\n");
|
|
31
|
-
try {
|
|
32
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 1);
|
|
33
|
-
const coinOutAmount = yield runRoute(router, coinIn, coinInAmount, coinOut, 5, false);
|
|
34
|
-
yield runRoute(router, coinIn, coinOutAmount, coinOut, 5, true);
|
|
35
|
-
// const pool = await sdk.Pools().getPool({
|
|
36
|
-
// objectId:
|
|
37
|
-
// "0x5dbf77deddfc68f446b96b2a17b7160faf4a015544df9ab3db81bf7b5ffc0570",
|
|
38
|
-
// });
|
|
39
|
-
// const pool = new Pool(
|
|
40
|
-
// Helpers.parseJsonWithBigint(
|
|
41
|
-
// `{"objectId":"0xbc8bdb27d73b28f9ba9cd1b56e256f21bf9584d1e80ccc460a24e46bd4078950","lpCoinType":"0xef7ba1db7f5604bee5f86cf444c3636d6e5d711fbba280954fa9d2f654ef7db7::af_lp_eth::AF_LP_ETH","name":"ETH Pool","creator":"0x4b02b9b45f2a9597363fbaacb2fd6e7fb8ed9329bb6f716631b5717048908ace","lpCoinSupply":"3675123799120n","illiquidLpCoinSupply":"1000n","flatness":"0n","coins":{"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::af::AF":{"weight":"250000000000000000n","balance":"1000000000000000n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::afsui::AFSUI":{"weight":"250000000000000000n","balance":"876843564864654n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::lzeth::LZETH":{"weight":"250000000000000000n","balance":"45612457575n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"},"0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::wheth::WHETH":{"weight":"250000000000000000n","balance":"4561233457n","tradeFeeIn":"100000000000000n","tradeFeeOut":"0n","depositFee":"0n","withdrawFee":"0n"}}}`
|
|
42
|
-
// ) as unknown as PoolObject
|
|
43
|
-
// );
|
|
44
|
-
// const amountOut = pool.getTradeAmountOut({
|
|
45
|
-
// coinInType:
|
|
46
|
-
// "0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::axlusdc::AXLUSDC",
|
|
47
|
-
// coinOutType:
|
|
48
|
-
// "0xfa9a96ded27547caf042ae0cde633b1699a8da7344e5e0bee2d0fd00556086df::afsui::AFSUI",
|
|
49
|
-
// coinInAmount: BigInt(5000000),
|
|
50
|
-
// });
|
|
51
|
-
// console.log("amountOut", amountOut);
|
|
52
|
-
// await runRoute(router, coinIn, coinOutAmount, coinOut, 5, true);
|
|
53
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 3);
|
|
54
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 4);
|
|
55
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 5);
|
|
56
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 6);
|
|
57
|
-
// await runRoute(router, coinIn, coinInAmount, coinOut, 7);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
console.error(e);
|
|
61
|
-
}
|
|
62
|
-
console.log("END");
|
|
63
|
-
});
|
|
64
|
-
const runRoute = (router, coinIn, coinInAmount, coinOut, maxRouteLength, isGivenAmountOut) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
const start = performance.now();
|
|
66
|
-
const completeRoute = isGivenAmountOut
|
|
67
|
-
? yield router.getCompleteTradeRouteGivenAmountOut({
|
|
68
|
-
coinInType: coinIn,
|
|
69
|
-
coinOutType: coinOut,
|
|
70
|
-
coinOutAmount: coinInAmount,
|
|
71
|
-
}
|
|
72
|
-
// maxRouteLength
|
|
73
|
-
)
|
|
74
|
-
: yield router.getCompleteTradeRouteGivenAmountIn({ coinInType: coinIn, coinInAmount, coinOutType: coinOut }
|
|
75
|
-
// maxRouteLength
|
|
76
|
-
);
|
|
77
|
-
console.log({ coinIn, coinInAmount, coinOut });
|
|
78
|
-
const end = performance.now();
|
|
79
|
-
const stableCoinPercentLoss = (Number(completeRoute.coinIn.amount - completeRoute.coinOut.amount) /
|
|
80
|
-
Number(completeRoute.coinIn.amount)) *
|
|
81
|
-
100;
|
|
82
|
-
console.log("Max Route Length:", maxRouteLength);
|
|
83
|
-
console.log("Routes Used:", completeRoute.routes.length);
|
|
84
|
-
// for (const route of completeRoute.routes) {
|
|
85
|
-
// console.log("\n");
|
|
86
|
-
// console.log(
|
|
87
|
-
// route.paths.map((path) => {
|
|
88
|
-
// return {
|
|
89
|
-
// pool: path.poolObjectId,
|
|
90
|
-
// coinIn: path.coinIn,
|
|
91
|
-
// coinInAmount: path.coinIn.amount,
|
|
92
|
-
// coinOut: path.coinOut,
|
|
93
|
-
// coinOutAmount: path.coinOut.amount,
|
|
94
|
-
// };
|
|
95
|
-
// })
|
|
96
|
-
// );
|
|
97
|
-
// }
|
|
98
|
-
console.log("Coin In Amount:", completeRoute.coinIn.amount);
|
|
99
|
-
console.log("Coin Out Amount:", completeRoute.coinOut.amount);
|
|
100
|
-
console.log("Stable Coin Loss:", completeRoute.coinIn.amount - completeRoute.coinOut.amount, `${stableCoinPercentLoss.toFixed(2)}%`);
|
|
101
|
-
console.log("Execution time:", end - start, "ms");
|
|
102
|
-
console.log("\n");
|
|
103
|
-
return completeRoute.coinOut.amount;
|
|
104
|
-
});
|
|
105
|
-
runMe();
|
/package/dist/packages/router/utils/{routerApiInterface.js → async/routerAsyncApiInterface.js}
RENAMED
|
File without changes
|
|
File without changes
|