aftermath-ts-sdk 0.0.142 → 0.0.144
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/transactionsApiHelpers.d.ts.map +1 -1
- package/dist/general/api/transactionsApiHelpers.js +4 -6
- package/dist/general/historicalData/historicalData.d.ts +14 -0
- package/dist/general/historicalData/historicalData.d.ts.map +1 -0
- package/dist/general/historicalData/historicalData.js +41 -0
- package/dist/general/historicalData/historicalDataApi.d.ts +10 -0
- package/dist/general/historicalData/historicalDataApi.d.ts.map +1 -0
- package/dist/general/historicalData/historicalDataApi.js +20 -0
- package/dist/general/historicalData/historicalDataTypes.d.ts +10 -0
- package/dist/general/historicalData/historicalDataTypes.d.ts.map +1 -0
- package/dist/general/historicalData/historicalDataTypes.js +2 -0
- package/dist/general/prices/coingecko/coinGeckoApiHelpers.d.ts +17 -0
- package/dist/general/prices/coingecko/coinGeckoApiHelpers.d.ts.map +1 -0
- package/dist/general/prices/coingecko/coinGeckoApiHelpers.js +111 -0
- package/dist/general/prices/coingecko/coinGeckoPricesApi.d.ts +19 -0
- package/dist/general/prices/coingecko/coinGeckoPricesApi.d.ts.map +1 -0
- package/dist/general/prices/coingecko/coinGeckoPricesApi.js +63 -0
- package/dist/general/prices/coingecko/coinGeckoTypes.d.ts +9 -0
- package/dist/general/prices/coingecko/coinGeckoTypes.d.ts.map +1 -0
- package/dist/general/prices/coingecko/coinGeckoTypes.js +2 -0
- package/dist/general/prices/prices.d.ts +7 -1
- package/dist/general/prices/prices.d.ts.map +1 -1
- package/dist/general/prices/prices.js +18 -5
- package/dist/general/prices/pyth/pythPricesApi.d.ts +1 -2
- package/dist/general/prices/pyth/pythPricesApi.d.ts.map +1 -1
- package/dist/general/prices/pyth/pythPricesApi.js +2 -2
- package/dist/general/prices/pyth/pythPricesApiHelpers.d.ts +1 -3
- package/dist/general/prices/pyth/pythPricesApiHelpers.d.ts.map +1 -1
- package/dist/general/prices/pyth/pythPricesApiHelpers.js +1 -3
- package/dist/general/providers/aftermath.d.ts +3 -1
- package/dist/general/providers/aftermath.d.ts.map +1 -1
- package/dist/general/providers/aftermath.js +2 -0
- package/dist/general/providers/aftermathApi.d.ts +6 -3
- package/dist/general/providers/aftermathApi.d.ts.map +1 -1
- package/dist/general/providers/aftermathApi.js +8 -3
- package/dist/general/types/configTypes.d.ts +4 -0
- package/dist/general/types/configTypes.d.ts.map +1 -1
- package/dist/general/types/generalTypes.d.ts +1 -0
- package/dist/general/types/generalTypes.d.ts.map +1 -1
- package/dist/general/types/suiTypes.d.ts +1 -1
- package/dist/general/types/suiTypes.d.ts.map +1 -1
- package/dist/general/utils/caller.d.ts.map +1 -1
- package/dist/general/utils/caller.js +4 -2
- package/dist/general/utils/helpers.js +1 -1
- package/dist/general/wallet/walletApi.d.ts.map +1 -1
- package/dist/general/wallet/walletApi.js +2 -2
- package/dist/packages/coin/api/coinApi.d.ts +1 -0
- package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApi.js +47 -10
- package/dist/packages/coin/api/coinApiHelpers.d.ts +1 -10
- package/dist/packages/coin/api/coinApiHelpers.d.ts.map +1 -1
- package/dist/packages/coin/api/coinApiHelpers.js +86 -56
- package/dist/packages/coin/coin.d.ts +10 -7
- package/dist/packages/coin/coin.d.ts.map +1 -1
- package/dist/packages/coin/coin.js +39 -14
- package/dist/packages/coin/coinTypes.d.ts +7 -1
- package/dist/packages/coin/coinTypes.d.ts.map +1 -1
- package/dist/packages/external/turbos/turbosApiHelpers.d.ts.map +1 -1
- package/dist/packages/external/turbos/turbosApiHelpers.js +0 -1
- package/dist/packages/faucet/api/faucetApi.d.ts +7 -2
- package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApi.js +15 -6
- package/dist/packages/faucet/api/faucetApiHelpers.d.ts +99 -7
- package/dist/packages/faucet/api/faucetApiHelpers.d.ts.map +1 -1
- package/dist/packages/faucet/api/faucetApiHelpers.js +9 -17
- package/dist/packages/faucet/faucetTypes.d.ts +1 -1
- package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApi.d.ts +20 -7
- package/dist/packages/pools/api/poolsApi.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApi.js +17 -15
- package/dist/packages/pools/api/poolsApiHelpers.d.ts +14 -4
- package/dist/packages/pools/api/poolsApiHelpers.d.ts.map +1 -1
- package/dist/packages/pools/api/poolsApiHelpers.js +14 -17
- package/dist/packages/pools/pool.d.ts +6 -3
- package/dist/packages/pools/pool.d.ts.map +1 -1
- package/dist/packages/pools/pool.js +24 -12
- package/dist/packages/pools/pools.d.ts +3 -2
- package/dist/packages/pools/pools.d.ts.map +1 -1
- package/dist/packages/pools/pools.js +3 -2
- package/dist/packages/pools/poolsTypes.d.ts +2 -2
- package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
- package/dist/packages/router/api/routerApi.d.ts.map +1 -1
- package/dist/packages/router/router.d.ts +1 -1
- package/dist/packages/router/router.js +1 -1
- package/dist/packages/router/utils/synchronous/routerGraph.d.ts.map +1 -1
- package/dist/packages/router/utils/synchronous/routerGraph.js +0 -1
- package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.d.ts.map +1 -1
- package/dist/packages/router/utils/synchronous/routerPools/aftermathRouterPool.js +5 -4
- package/dist/packages/staking/api/stakingApi.d.ts +7 -1
- package/dist/packages/staking/api/stakingApi.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApi.js +5 -2
- package/dist/packages/staking/api/stakingApiHelpers.d.ts +5 -1
- package/dist/packages/staking/api/stakingApiHelpers.d.ts.map +1 -1
- package/dist/packages/staking/api/stakingApiHelpers.js +18 -1
- package/dist/packages/staking/staking.d.ts +1 -0
- package/dist/packages/staking/staking.d.ts.map +1 -1
- package/dist/packages/staking/staking.js +5 -0
- package/package.json +1 -1
|
@@ -166,7 +166,7 @@ class PoolsApiHelpers {
|
|
|
166
166
|
};
|
|
167
167
|
this.publishLpCoinTx = (inputs) => {
|
|
168
168
|
const { tx } = inputs;
|
|
169
|
-
const compiledModulesAndDeps = JSON.parse(`{"modules":["
|
|
169
|
+
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]}`);
|
|
170
170
|
return tx.publish({
|
|
171
171
|
modules: compiledModulesAndDeps.modules.map((m) => Array.from((0, sui_js_1.fromB64)(m))),
|
|
172
172
|
dependencies: compiledModulesAndDeps.dependencies.map((addr) => (0, sui_js_1.normalizeSuiObjectId)(addr)),
|
|
@@ -414,11 +414,8 @@ class PoolsApiHelpers {
|
|
|
414
414
|
/////////////////////////////////////////////////////////////////////
|
|
415
415
|
//// Graph Data
|
|
416
416
|
/////////////////////////////////////////////////////////////////////
|
|
417
|
-
this.
|
|
418
|
-
|
|
419
|
-
) => __awaiter(this, void 0, void 0, function* () {
|
|
420
|
-
// TODO: use promise.all for pool fetching and swap fetching
|
|
421
|
-
const coinsToDecimalsAndPrices = yield this.Provider.Coin().Helpers.fetchCoinsToDecimalsAndPrices(Object.keys(pool.coins));
|
|
417
|
+
this.calcPoolVolumeData = (inputs) => {
|
|
418
|
+
const { tradeEvents, timeUnit, time, buckets, coinsToDecimals, coinsToPrice, } = inputs;
|
|
422
419
|
const now = Date.now();
|
|
423
420
|
const maxTimeAgo = (0, dayjs_1.default)(now).subtract(time, timeUnit);
|
|
424
421
|
const timeGap = (0, dayjs_1.default)(now).diff(maxTimeAgo);
|
|
@@ -439,17 +436,17 @@ class PoolsApiHelpers {
|
|
|
439
436
|
Math.floor((0, dayjs_1.default)(now).diff(tradeDate) / bucketTimestampSize) -
|
|
440
437
|
1;
|
|
441
438
|
const amountUsd = trade.typesIn.reduce((acc, cur, index) => {
|
|
442
|
-
const price =
|
|
439
|
+
const price = coinsToPrice[cur];
|
|
443
440
|
const amountInUsd = price < 0
|
|
444
441
|
? 0
|
|
445
|
-
: coin_1.Coin.balanceWithDecimalsUsd(trade.amountsIn[index],
|
|
442
|
+
: coin_1.Coin.balanceWithDecimalsUsd(trade.amountsIn[index], coinsToDecimals[cur], price);
|
|
446
443
|
return acc + (amountInUsd < 0 ? 0 : amountInUsd);
|
|
447
444
|
}, 0);
|
|
448
445
|
acc[bucketIndex].value += amountUsd;
|
|
449
446
|
return acc;
|
|
450
447
|
}, emptyDataPoints);
|
|
451
448
|
return dataPoints;
|
|
452
|
-
}
|
|
449
|
+
};
|
|
453
450
|
/////////////////////////////////////////////////////////////////////
|
|
454
451
|
//// Helpers
|
|
455
452
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -460,6 +457,14 @@ class PoolsApiHelpers {
|
|
|
460
457
|
coin.split("::")[2].includes("AF_LP"));
|
|
461
458
|
};
|
|
462
459
|
/////////////////////////////////////////////////////////////////////
|
|
460
|
+
//// LP Coin Metadata
|
|
461
|
+
/////////////////////////////////////////////////////////////////////
|
|
462
|
+
this.createLpCoinMetadataDescription = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
463
|
+
// TODO: do all of this a little bit cleaner
|
|
464
|
+
const coinSymbols = (yield Promise.all(inputs.coinTypes.map((coin) => this.Provider.Coin().fetchCoinMetadata(coin)))).map((metadata) => metadata.symbol);
|
|
465
|
+
return `Aftermath LP coin for ${inputs.poolName} Pool (${coinSymbols.reduce((acc, symbol, index) => acc + symbol + (index >= coinSymbols.length - 1 ? "" : ", "), "")})`;
|
|
466
|
+
});
|
|
467
|
+
/////////////////////////////////////////////////////////////////////
|
|
463
468
|
//// Private Methods
|
|
464
469
|
/////////////////////////////////////////////////////////////////////
|
|
465
470
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -468,14 +473,6 @@ class PoolsApiHelpers {
|
|
|
468
473
|
this.tradeEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.swap);
|
|
469
474
|
this.depositEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.deposit);
|
|
470
475
|
this.withdrawEventType = () => eventsApiHelpers_1.EventsApiHelpers.createEventType(this.addresses.pools.packages.amm, PoolsApiHelpers.constants.moduleNames.events, PoolsApiHelpers.constants.eventNames.withdraw);
|
|
471
|
-
/////////////////////////////////////////////////////////////////////
|
|
472
|
-
//// LP Coin Metadata
|
|
473
|
-
/////////////////////////////////////////////////////////////////////
|
|
474
|
-
this.createLpCoinMetadataDescription = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
475
|
-
// TODO: do all of this a little bit cleaner
|
|
476
|
-
const coinSymbols = (yield Promise.all(inputs.coinTypes.map((coin) => this.Provider.Coin().fetchCoinMetadata(coin)))).map((metadata) => metadata.symbol);
|
|
477
|
-
return `Aftermath LP coin for ${inputs.poolName} Pool (${coinSymbols.reduce((acc, symbol, index) => acc + symbol + (index >= coinSymbols.length - 1 ? "" : ", "), "")})`;
|
|
478
|
-
});
|
|
479
476
|
const addresses = {
|
|
480
477
|
pools: this.Provider.addresses.pools,
|
|
481
478
|
referralVault: this.Provider.addresses.referralVault,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiPoolDepositBody, ApiPoolTradeBody, ApiPoolWithdrawBody, Balance, CoinType, CoinsToBalance, PoolDataPoint,
|
|
1
|
+
import { ApiPoolDepositBody, ApiPoolTradeBody, ApiPoolWithdrawBody, Balance, CoinType, CoinsToBalance, PoolDataPoint, PoolGraphDataTimeframeKey, PoolObject, PoolStats, ApiEventsBody, PoolDepositEvent, PoolWithdrawEvent, PoolTradeEvent, ApiPoolAllCoinWithdrawBody } from "../../types";
|
|
2
2
|
import { Caller } from "../../general/utils/caller";
|
|
3
3
|
export declare class Pool extends Caller {
|
|
4
4
|
readonly pool: PoolObject;
|
|
@@ -8,8 +8,11 @@ export declare class Pool extends Caller {
|
|
|
8
8
|
constructor(pool: PoolObject, network?: string | undefined);
|
|
9
9
|
getStats(): Promise<PoolStats>;
|
|
10
10
|
setStats(stats: PoolStats): void;
|
|
11
|
-
|
|
12
|
-
timeframe:
|
|
11
|
+
getVolumeData(inputs: {
|
|
12
|
+
timeframe: PoolGraphDataTimeframeKey;
|
|
13
|
+
}): Promise<PoolDataPoint[]>;
|
|
14
|
+
getFeeData(inputs: {
|
|
15
|
+
timeframe: PoolGraphDataTimeframeKey;
|
|
13
16
|
}): Promise<PoolDataPoint[]>;
|
|
14
17
|
getDepositTransaction(inputs: ApiPoolDepositBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
15
18
|
getWithdrawTransaction(inputs: ApiPoolWithdrawBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EAEd,0BAA0B,EAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAIpD,qBAAa,IAAK,SAAQ,MAAM;aAoBd,IAAI,EAAE,UAAU;aAChB,OAAO,CAAC;IAhBzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAE/B;IAMK,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;gBAOnB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,oBAAkB;IAU9B,QAAQ;IAId,QAAQ,CAAC,KAAK,EAAE,SAAS;IAInB,aAAa,CAAC,MAAM,EAAE;QAClC,SAAS,EAAE,yBAAyB,CAAC;KACrC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIf,UAAU,CAAC,MAAM,EAAE;QAC/B,SAAS,EAAE,yBAAyB,CAAC;KACrC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQf,qBAAqB,CAAC,MAAM,EAAE,kBAAkB;IAOhD,sBAAsB,CAAC,MAAM,EAAE,mBAAmB;IAOlD,6BAA6B,CACzC,MAAM,EAAE,0BAA0B;IAQtB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB;IAW5C,gBAAgB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAetC,iBAAiB,CAAC,MAAM,EAAE,aAAa;;;;;;;IAevC,cAAc,CAAC,MAAM,EAAE,aAAa;;;;;;;IAmB1C,YAAY,WAAY;QAC9B,UAAU,EAAE,QAAQ,CAAC;QACrB,WAAW,EAAE,QAAQ,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,YAOC;IAEK,iBAAiB,WAAY;QACnC,UAAU,EAAE,QAAQ,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,gBAAgB,WAAY;QAClC,UAAU,EAAE,QAAQ,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,QAAQ,CAAC;QAEtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,OAAO,CAqCT;IAEK,qBAAqB,WAAY;QACvC,SAAS,EAAE,cAAc,CAAC;QAE1B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB;qBACa,OAAO;iBACX,MAAM;MAmBd;IAEK,qBAAqB,WAAY;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,mBAAmB,EAAE,cAAc,CAAC;QAEpC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,cAAc,CA6BhB;IAEK,4BAA4B,WAAY;QAC9C,OAAO,EAAE,MAAM,CAAC;QAEhB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACnB,KAAG,cAAc,CAehB;IAEK,2BAA2B,WAAY;QAC7C,eAAe,EAAE,MAAM,CAAC;KACxB,KAAG,MAAM,CAEsB;IAEzB,yBAAyB,WAAY;QAC3C,eAAe,EAAE,MAAM,CAAC;KACxB,KAAG,MAAM,CACuD;CACjE"}
|
|
@@ -36,16 +36,16 @@ class Pool extends caller_1.Caller {
|
|
|
36
36
|
amount: inputs.coinInAmount,
|
|
37
37
|
});
|
|
38
38
|
if (Number(coinInAmountWithFees) / Number(coinInPoolBalance) >=
|
|
39
|
-
_1.Pools.constants.bounds.
|
|
39
|
+
_1.Pools.constants.bounds.maxTradePercentageOfPoolBalance -
|
|
40
40
|
Pool.constants.percentageBoundsMarginOfError)
|
|
41
|
-
throw new Error("coinInAmountWithFees / coinInPoolBalance >=
|
|
41
|
+
throw new Error("coinInAmountWithFees / coinInPoolBalance >= maxTradePercentageOfPoolBalance");
|
|
42
42
|
const coinOutAmount = cmmmCalculations_1.CmmmCalculations.calcOutGivenIn(pool, inputs.coinInType, inputs.coinOutType, coinInAmountWithFees);
|
|
43
43
|
if (coinOutAmount <= 0)
|
|
44
44
|
throw new Error("coinOutAmount <= 0");
|
|
45
45
|
if (Number(coinOutAmount) / Number(coinOutPoolBalance) >=
|
|
46
|
-
_1.Pools.constants.bounds.
|
|
46
|
+
_1.Pools.constants.bounds.maxTradePercentageOfPoolBalance -
|
|
47
47
|
Pool.constants.percentageBoundsMarginOfError)
|
|
48
|
-
throw new Error("coinOutAmount / coinOutPoolBalance >=
|
|
48
|
+
throw new Error("coinOutAmount / coinOutPoolBalance >= maxTradePercentageOfPoolBalance");
|
|
49
49
|
return coinOutAmount;
|
|
50
50
|
};
|
|
51
51
|
this.getTradeAmountIn = (inputs) => {
|
|
@@ -53,16 +53,16 @@ class Pool extends caller_1.Caller {
|
|
|
53
53
|
const coinInPoolBalance = pool.coins[inputs.coinInType].balance;
|
|
54
54
|
const coinOutPoolBalance = pool.coins[inputs.coinOutType].balance;
|
|
55
55
|
if (Number(inputs.coinOutAmount) / Number(coinOutPoolBalance) >=
|
|
56
|
-
_1.Pools.constants.bounds.
|
|
56
|
+
_1.Pools.constants.bounds.maxTradePercentageOfPoolBalance -
|
|
57
57
|
Pool.constants.percentageBoundsMarginOfError)
|
|
58
|
-
throw new Error("coinOutAmount / coinOutPoolBalance >=
|
|
58
|
+
throw new Error("coinOutAmount / coinOutPoolBalance >= maxTradePercentageOfPoolBalance");
|
|
59
59
|
const coinInAmount = cmmmCalculations_1.CmmmCalculations.calcInGivenOut(pool, inputs.coinInType, inputs.coinOutType, inputs.coinOutAmount);
|
|
60
60
|
if (coinInAmount <= 0)
|
|
61
61
|
throw new Error("coinInAmount <= 0");
|
|
62
62
|
if (Number(coinInAmount) / Number(coinInPoolBalance) >=
|
|
63
|
-
_1.Pools.constants.bounds.
|
|
63
|
+
_1.Pools.constants.bounds.maxTradePercentageOfPoolBalance -
|
|
64
64
|
Pool.constants.percentageBoundsMarginOfError)
|
|
65
|
-
throw new Error("coinInAmount / coinInPoolBalance >=
|
|
65
|
+
throw new Error("coinInAmount / coinInPoolBalance >= maxTradePercentageOfPoolBalance");
|
|
66
66
|
const coinInAmountWithoutFees = _1.Pools.getAmountWithoutProtocolFees({
|
|
67
67
|
amount: coinInAmount,
|
|
68
68
|
});
|
|
@@ -81,9 +81,16 @@ class Pool extends caller_1.Caller {
|
|
|
81
81
|
};
|
|
82
82
|
this.getWithdrawAmountsOut = (inputs) => {
|
|
83
83
|
const amountsOut = cmmmCalculations_1.CmmmCalculations.calcWithdrawFlpAmountsOut(this.pool, inputs.amountsOutDirection, inputs.lpRatio);
|
|
84
|
-
for (const coin
|
|
85
|
-
if (
|
|
84
|
+
for (const coin of Object.keys(amountsOut)) {
|
|
85
|
+
if (!(coin in inputs.amountsOutDirection) ||
|
|
86
|
+
inputs.amountsOutDirection[coin] <= BigInt(0))
|
|
87
|
+
continue;
|
|
88
|
+
const amountOut = amountsOut[coin];
|
|
89
|
+
if (amountOut <= utils_1.Casting.zeroBigInt)
|
|
86
90
|
throw new Error(`amountsOut[${coin}] <= 0 `);
|
|
91
|
+
if (amountOut / this.pool.coins[coin].balance >=
|
|
92
|
+
_1.Pools.constants.bounds.maxWithdrawPercentageOfPoolBalance)
|
|
93
|
+
throw new Error("coinOutAmount / coinOutPoolBalance >= maxWithdrawPercentageOfPoolBalance");
|
|
87
94
|
}
|
|
88
95
|
return amountsOut;
|
|
89
96
|
};
|
|
@@ -111,11 +118,16 @@ class Pool extends caller_1.Caller {
|
|
|
111
118
|
setStats(stats) {
|
|
112
119
|
this.stats = stats;
|
|
113
120
|
}
|
|
114
|
-
|
|
121
|
+
getVolumeData(inputs) {
|
|
115
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
123
|
return this.fetchApi(`volume/${inputs.timeframe}`);
|
|
117
124
|
});
|
|
118
125
|
}
|
|
126
|
+
getFeeData(inputs) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
return this.fetchApi(`fees/${inputs.timeframe}`);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
119
131
|
/////////////////////////////////////////////////////////////////////
|
|
120
132
|
//// Transactions
|
|
121
133
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -169,5 +181,5 @@ exports.Pool = Pool;
|
|
|
169
181
|
//// Private Constants
|
|
170
182
|
/////////////////////////////////////////////////////////////////////
|
|
171
183
|
Pool.constants = {
|
|
172
|
-
percentageBoundsMarginOfError: 0.
|
|
184
|
+
percentageBoundsMarginOfError: 0.001, // 0.1%
|
|
173
185
|
};
|
|
@@ -8,7 +8,7 @@ import { Caller } from "../../general/utils/caller";
|
|
|
8
8
|
* @example
|
|
9
9
|
* ```
|
|
10
10
|
* // Create provider
|
|
11
|
-
* const pools = (new Aftermath("
|
|
11
|
+
* const pools = (new Aftermath("TESTNET")).Pools();
|
|
12
12
|
* // Call sdk
|
|
13
13
|
* const pool = await pools.getPool({ objectId: "0xBEEF" });
|
|
14
14
|
* ```
|
|
@@ -35,7 +35,8 @@ export declare class Pools extends Caller {
|
|
|
35
35
|
};
|
|
36
36
|
bounds: {
|
|
37
37
|
maxCoinsInPool: number;
|
|
38
|
-
|
|
38
|
+
maxTradePercentageOfPoolBalance: number;
|
|
39
|
+
maxWithdrawPercentageOfPoolBalance: number;
|
|
39
40
|
minSwapFee: number;
|
|
40
41
|
maxSwapFee: number;
|
|
41
42
|
minWeight: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pools.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAEhB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,QAAQ,EAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"pools.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/pools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,gCAAgC,EAChC,oBAAoB,EACpB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAEhB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,QAAQ,EAGR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,SAAQ,MAAM;aA8CJ,OAAO,CAAC;IAzCpC,gBAAuB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6B9B;IAMF;;;;;OAKG;gBACyB,OAAO,CAAC,oBAAkB;IAYtD;;;;;OAKG;IACU,OAAO,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE;IAKnD;;;;;OAKG;IACU,QAAQ,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE;IAS1C,WAAW;IASX,2BAA2B,CAAC,MAAM,EAAE,oBAAoB;IAOxD,wBAAwB,CAAC,MAAM,EAAE,iBAAiB;IAWlD,gBAAgB,CAAC,MAAM,EAAE,aAAa;IAItC,iBAAiB,CAAC,MAAM,EAAE,aAAa;IAOvC,cAAc,CAAC,MAAM,EAAE,aAAa;IAQ1C,4BAA4B,WAC1B,gCAAgC,qBAMvC;IAMF,OAAc,yBAAyB,WAAY;QAClD,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,YAcC;IAEF,OAAc,4BAA4B,WAAY;QACrD,MAAM,EAAE,OAAO,CAAC;QAChB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,YAeC;IAMF,OAAc,sBAAsB,WAAY,UAAU,YACU;IAEpE,OAAc,qBAAqB,cAAe,OAAO,YACa;IAEtE,OAAc,oBAAoB,aAAc,YAAY,YACQ;IAEpE,OAAc,yBAAyB,YAAa,OAAO,YACM;IAMjE,OAAc,qBAAqB,aAAc,YAAY,YAK3D;IAEF,OAAc,sBAAsB,YAAa,MAAM,YACkB;IAEzE,OAAc,iBAAiB,aAAc,QAAQ,YAIlD;IAMH,OAAc,iBAAiB,eAAgB,QAAQ,KAAG,MAAM,CAM3C;CACrB"}
|
|
@@ -21,7 +21,7 @@ const helpers_1 = require("../../general/utils/helpers");
|
|
|
21
21
|
* @example
|
|
22
22
|
* ```
|
|
23
23
|
* // Create provider
|
|
24
|
-
* const pools = (new Aftermath("
|
|
24
|
+
* const pools = (new Aftermath("TESTNET")).Pools();
|
|
25
25
|
* // Call sdk
|
|
26
26
|
* const pool = await pools.getPool({ objectId: "0xBEEF" });
|
|
27
27
|
* ```
|
|
@@ -143,7 +143,8 @@ Pools.constants = {
|
|
|
143
143
|
},
|
|
144
144
|
bounds: {
|
|
145
145
|
maxCoinsInPool: 8,
|
|
146
|
-
|
|
146
|
+
maxTradePercentageOfPoolBalance: 0.3,
|
|
147
|
+
maxWithdrawPercentageOfPoolBalance: 0.3,
|
|
147
148
|
minSwapFee: 0.0001,
|
|
148
149
|
maxSwapFee: 0.1,
|
|
149
150
|
minWeight: 0.01,
|
|
@@ -60,8 +60,8 @@ export interface PoolDataPoint {
|
|
|
60
60
|
time: Timestamp;
|
|
61
61
|
value: number;
|
|
62
62
|
}
|
|
63
|
-
export type
|
|
64
|
-
export interface
|
|
63
|
+
export type PoolGraphDataTimeframeKey = "1D" | "1W" | "1M" | "3M";
|
|
64
|
+
export interface PoolGraphDataTimeframe {
|
|
65
65
|
time: Timestamp;
|
|
66
66
|
timeUnit: ManipulateType;
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolsTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/poolsTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,OAAO,EACP,KAAK,EACL,MAAM,EAEN,QAAQ,EACR,SAAS,EAET,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAS7D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAMlC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CACjB;AAMD,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC5C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC9C,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK;IAC/C,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"poolsTypes.d.ts","sourceRoot":"","sources":["../../../src/packages/pools/poolsTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,GAAG,
|
|
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;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EACN,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,GAAG,EACH,+BAA+B,EAC/B,kBAAkB,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,qBAAa,SAAS;IAapB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,kBAAkB,EAAE;IAThD,SAAgB,OAAO,8BAAC;IACxB,SAAgB,YAAY,wBAAC;gBAOX,QAAQ,EAAE,YAAY,EACvB,SAAS,GAAE,kBAAkB,EAAkB;IAWzD,SAAS,iBAAqC;IAC9C,IAAI,mBAAuC;IAC3C,QAAQ,oBAAwC;IAChD,KAAK,iBAAqC;IAC1C,MAAM,kBAAsC;IAU5C,sBAAsB,iDAK3B;IAMK,2BAA2B,WAAkB;QACnD,KAAK,EAAE,+BAA+B,CAAC;KACvC,gEAEC;IAMK,oCAAoC,WAAkB;QAC5D,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,CAiCnC;IAwBW,qCAAqC,CAAC,MAAM,EAAE;QAC1D,aAAa,EAAE,UAAU,CAAC;QAC1B,aAAa,EAAE,wBAAwB,CAAC;QACxC,QAAQ,EAAE,QAAQ,CAAC;KACnB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CASlC"}
|
|
@@ -6,7 +6,7 @@ import { Caller } from "../../general/utils/caller";
|
|
|
6
6
|
* @example
|
|
7
7
|
* ```
|
|
8
8
|
* // Create provider
|
|
9
|
-
* const router = (new Aftermath("
|
|
9
|
+
* const router = (new Aftermath("TESTNET")).Router();
|
|
10
10
|
* // Call sdk
|
|
11
11
|
* const supportedCoins = await router.getSupportedCoins();
|
|
12
12
|
* ```
|
|
@@ -17,7 +17,7 @@ const caller_1 = require("../../general/utils/caller");
|
|
|
17
17
|
* @example
|
|
18
18
|
* ```
|
|
19
19
|
* // Create provider
|
|
20
|
-
* const router = (new Aftermath("
|
|
20
|
+
* const router = (new Aftermath("TESTNET")).Router();
|
|
21
21
|
* // Call sdk
|
|
22
22
|
* const supportedCoins = await router.getSupportedCoins();
|
|
23
23
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routerGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/synchronous/routerGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACN,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,+BAA+B,EAE/B,wBAAwB,EAExB,eAAe,EAIf,UAAU,EACV,QAAQ,EACR,GAAG,EAIH,sBAAsB,EACtB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAO5C,KAAK,kBAAkB,GAAG;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;CACrB,GAAG,SAAS,CAAC;AAEd,KAAK,UAAU,GAAG;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;CACnB,GAAG,SAAS,CAAC;AAEd,KAAK,SAAS,GAAG,SAAS,GAAG;IAC5B,OAAO,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,KAAK,SAAS,GAAG,eAAe,GAAG;IAClC,gBAAgB,EAAE,OAAO,CAAC;CAC1B,CAAC;AAMF,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,CAmFnC;IAMK,6BAA6B,CAAC,MAAM,EAAE;QAC5C,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;KAChC,GAAG,wBAAwB;IAwBrB,+BAA+B,CAAC,MAAM,EAAE;QAC9C,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,GAAG,wBAAwB,EAAE;IA+B9B,OAAO,CAAC,gBAAgB;IA0ExB,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAyDpC;IAMF,OAAO,CAAC,MAAM,CAAC,UAAU,CAiCvB;IAEF,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAkDjC;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,
|
|
1
|
+
{"version":3,"file":"routerGraph.d.ts","sourceRoot":"","sources":["../../../../../src/packages/router/utils/synchronous/routerGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aftermathRouterPool.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/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,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"aftermathRouterPool.d.ts","sourceRoot":"","sources":["../../../../../../src/packages/router/utils/synchronous/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,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,cAAM,mBAAoB,YAAW,mBAAmB;gBAK3C,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,GAAG;IAevD,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,qBAAqB,SAAuB;IACrD,QAAQ,CAAC,aAAa,SAAS;IAE/B,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,YA2BC;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,CA8CT;IAEF,4BAA4B,WAAY;QACvC,QAAQ,EAAE,YAAY,CAAC;QACvB,EAAE,EAAE,gBAAgB,CAAC;QACrB,MAAM,EAAE,QAAQ,GAAG,mBAAmB,CAAC;QACvC,YAAY,EAAE,OAAO,CAAC;QACtB,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"}
|
|
@@ -45,13 +45,11 @@ class AftermathRouterPool {
|
|
|
45
45
|
// TODO: move this estimation to helper function within sdk
|
|
46
46
|
const poolCoinOut = this.pool.coins[inputs.coinOutType];
|
|
47
47
|
const coinOutPoolBalance = poolCoinOut.balance;
|
|
48
|
-
const coinOutWeight = pools_1.Pools.coinWeightWithDecimals(poolCoinOut.weight);
|
|
49
48
|
const lpCoinSupply = Number(this.pool.lpCoinSupply);
|
|
50
49
|
const lpTotal = Number(inputs.coinInAmount);
|
|
51
50
|
const poolCoinAmount = lpTotal < 0
|
|
52
51
|
? 0
|
|
53
|
-
: Number(coinOutPoolBalance) *
|
|
54
|
-
(lpTotal / (lpCoinSupply * coinOutWeight));
|
|
52
|
+
: Number(coinOutPoolBalance) * (lpTotal / lpCoinSupply);
|
|
55
53
|
const amountOutEstimate = BigInt(Math.floor(poolCoinAmount));
|
|
56
54
|
const amountsOuts = this.poolClass.getWithdrawAmountsOut({
|
|
57
55
|
lpRatio,
|
|
@@ -155,7 +153,10 @@ class AftermathRouterPool {
|
|
|
155
153
|
this.pool = pool;
|
|
156
154
|
this.network = network;
|
|
157
155
|
this.uid = pool.objectId;
|
|
158
|
-
this.coinTypes = [
|
|
156
|
+
this.coinTypes = [
|
|
157
|
+
...Object.keys(pool.coins),
|
|
158
|
+
// pool.lpCoinType
|
|
159
|
+
];
|
|
159
160
|
this.poolClass = new pools_1.Pool(pool, network);
|
|
160
161
|
}
|
|
161
162
|
}
|
|
@@ -7,7 +7,9 @@ export declare class StakingApi {
|
|
|
7
7
|
private readonly Provider;
|
|
8
8
|
readonly Helpers: StakingApiHelpers;
|
|
9
9
|
constructor(Provider: AftermathApi);
|
|
10
|
-
fetchDelegatedStakes: (
|
|
10
|
+
fetchDelegatedStakes: (inputs: {
|
|
11
|
+
address: SuiAddress;
|
|
12
|
+
}) => Promise<DelegatedStake[]>;
|
|
11
13
|
fetchActiveValidators: () => Promise<SuiValidatorSummary[]>;
|
|
12
14
|
fetchValidatorApys: () => Promise<ValidatorsApy>;
|
|
13
15
|
fetchStakeTransaction: (inputs: {
|
|
@@ -26,5 +28,9 @@ export declare class StakingApi {
|
|
|
26
28
|
}) => Promise<StakingPosition[]>;
|
|
27
29
|
fetchSuiTvl: () => Promise<Balance>;
|
|
28
30
|
fetchAfSuiExchangeRate: () => Promise<number>;
|
|
31
|
+
liquidStakingApy: (inputs: {
|
|
32
|
+
delegatedStakes: DelegatedStake[];
|
|
33
|
+
validatorApys: ValidatorsApy;
|
|
34
|
+
}) => Promise<number>;
|
|
29
35
|
}
|
|
30
36
|
//# sourceMappingURL=stakingApi.d.ts.map
|
|
@@ -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,aAAa,EACb,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,
|
|
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,aAAa,EACb,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,WAAkB;QAC5C,OAAO,EAAE,UAAU,CAAC;KACpB,KAAG,QAAQ,cAAc,EAAE,CAAC,CAI3B;IAEK,qBAAqB,QAAa,QAAQ,mBAAmB,EAAE,CAAC,CAErE;IAEK,kBAAkB,QAAa,QAAQ,aAAa,CAAC,CAE1D;IAMK,qBAAqB,WAAkB;QAC7C,aAAa,EAAE,UAAU,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,UAAU,CAAC;QAC7B,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,KAAG,QAAQ,qBAAqB,CAAC,CAMhC;IAEK,uBAAuB,WAAkB;QAC/C,aAAa,EAAE,UAAU,CAAC;QAC1B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,EAAE,UAAU,CAAC;KACtB,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;IAEK,gBAAgB,WAAkB;QACxC,eAAe,EAAE,cAAc,EAAE,CAAC;QAClC,aAAa,EAAE,aAAa,CAAC;KAC7B,KAAG,QAAQ,MAAM,CAAC,CAEjB;CACF"}
|
|
@@ -25,9 +25,9 @@ class StakingApi {
|
|
|
25
25
|
/////////////////////////////////////////////////////////////////////
|
|
26
26
|
//// Objects
|
|
27
27
|
/////////////////////////////////////////////////////////////////////
|
|
28
|
-
this.fetchDelegatedStakes = (
|
|
28
|
+
this.fetchDelegatedStakes = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
return this.Provider.provider.getStakes({
|
|
30
|
-
owner: address,
|
|
30
|
+
owner: inputs.address,
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
this.fetchActiveValidators = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -74,6 +74,9 @@ class StakingApi {
|
|
|
74
74
|
? 1
|
|
75
75
|
: Number(afSuiSupply) / Number(suiTvl);
|
|
76
76
|
});
|
|
77
|
+
this.liquidStakingApy = (inputs) => __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
return this.Helpers.calcLiquidStakingApy(inputs);
|
|
79
|
+
});
|
|
77
80
|
this.Provider = Provider;
|
|
78
81
|
this.Helpers = new stakingApiHelpers_1.StakingApiHelpers(Provider);
|
|
79
82
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ObjectId, TransactionBlock, SuiAddress, TransactionArgument, EventId } from "@mysten/sui.js";
|
|
1
|
+
import { ObjectId, TransactionBlock, SuiAddress, TransactionArgument, EventId, DelegatedStake, ValidatorsApy } from "@mysten/sui.js";
|
|
2
2
|
import { AftermathApi } from "../../../general/providers/aftermathApi";
|
|
3
3
|
import { AfSuiMintedEvent, AnyObjectType, Balance, CoinType, StakeEvent, StakeFailedEvent, StakePosition, StakeRequestEvent, StakeSuccessEvent, StakingAddresses, StakingPosition, UnstakeEvent, UnstakePosition, UnstakeRequestEvent, UnstakeSuccessEvent } from "../../../types";
|
|
4
4
|
export declare class StakingApiHelpers {
|
|
@@ -195,6 +195,10 @@ export declare class StakingApiHelpers {
|
|
|
195
195
|
stakingPositions: StakingPosition[];
|
|
196
196
|
event: StakeEvent | UnstakeEvent;
|
|
197
197
|
}) => StakingPosition[];
|
|
198
|
+
calcLiquidStakingApy: (inputs: {
|
|
199
|
+
delegatedStakes: DelegatedStake[];
|
|
200
|
+
validatorApys: ValidatorsApy;
|
|
201
|
+
}) => number;
|
|
198
202
|
private stakeRequestEventType;
|
|
199
203
|
private unstakeRequestEventType;
|
|
200
204
|
private stakeFailedEventType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stakingApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/staking/api/stakingApiHelpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stakingApiHelpers.d.ts","sourceRoot":"","sources":["../../../../src/packages/staking/api/stakingApiHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,6 +255,23 @@ class StakingApiHelpers {
|
|
|
255
255
|
return positions;
|
|
256
256
|
});
|
|
257
257
|
/////////////////////////////////////////////////////////////////////
|
|
258
|
+
//// Calculations
|
|
259
|
+
/////////////////////////////////////////////////////////////////////
|
|
260
|
+
this.calcLiquidStakingApy = (inputs) => {
|
|
261
|
+
const { delegatedStakes, validatorApys } = inputs;
|
|
262
|
+
const totalStakeAmount = utils_1.Helpers.sumBigInt(delegatedStakes.map((stake) => utils_1.Helpers.sumBigInt(stake.stakes.map((innerStake) => BigInt(innerStake.principal)))));
|
|
263
|
+
const weightedAverageApy = delegatedStakes.reduce((acc, stake) => {
|
|
264
|
+
var _b;
|
|
265
|
+
const apy = (_b = validatorApys.apys.find((apy) => apy.address === stake.validatorAddress)) === null || _b === void 0 ? void 0 : _b.apy;
|
|
266
|
+
if (apy === undefined)
|
|
267
|
+
return acc;
|
|
268
|
+
const weight = Number(utils_1.Helpers.sumBigInt(stake.stakes.map((innerStake) => BigInt(innerStake.principal)))) / Number(totalStakeAmount);
|
|
269
|
+
const weightedApy = apy * weight;
|
|
270
|
+
return acc + weightedApy;
|
|
271
|
+
}, 0);
|
|
272
|
+
return weightedAverageApy;
|
|
273
|
+
};
|
|
274
|
+
/////////////////////////////////////////////////////////////////////
|
|
258
275
|
//// Private Methods
|
|
259
276
|
/////////////////////////////////////////////////////////////////////
|
|
260
277
|
/////////////////////////////////////////////////////////////////////
|
|
@@ -278,7 +295,7 @@ class StakingApiHelpers {
|
|
|
278
295
|
this.Provider = Provider;
|
|
279
296
|
this.addresses = addresses;
|
|
280
297
|
this.coinTypes = {
|
|
281
|
-
afSui: `${addresses.packages.
|
|
298
|
+
afSui: `${addresses.packages.afsui}::afsui::AFSUI`,
|
|
282
299
|
};
|
|
283
300
|
this.eventTypes = {
|
|
284
301
|
stakeRequest: this.stakeRequestEventType(),
|
|
@@ -21,5 +21,6 @@ export declare class Staking extends Caller {
|
|
|
21
21
|
getUnstakeTransaction(inputs: ApiUnstakeBody): Promise<import("@mysten/sui.js").TransactionBlock>;
|
|
22
22
|
getSuiTvl(): Promise<Balance>;
|
|
23
23
|
getAfSuiExchangeRate(): Promise<number>;
|
|
24
|
+
getApy(): Promise<number>;
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=staking.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,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,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,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;
|
|
1
|
+
{"version":3,"file":"staking.d.ts","sourceRoot":"","sources":["../../../src/packages/staking/staking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,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,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,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;IAIvC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAGtC"}
|
|
@@ -76,6 +76,11 @@ class Staking extends caller_1.Caller {
|
|
|
76
76
|
return this.fetchApi("afsui-exchange-rate");
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
|
+
getApy() {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
return this.fetchApi("apy");
|
|
82
|
+
});
|
|
83
|
+
}
|
|
79
84
|
}
|
|
80
85
|
exports.Staking = Staking;
|
|
81
86
|
/////////////////////////////////////////////////////////////////////
|