@cetusprotocol/aggregator-sdk 0.0.5 → 0.0.6
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/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +5 -3
- package/dist/index.mjs +5 -4
- package/dist/src/client.d.ts +1 -1
- package/dist/src/const.d.ts +1 -0
- package/package.json +1 -1
- package/src/client.ts +1 -1
- package/src/const.ts +2 -0
- package/src/math.ts +7 -3
- package/tests/math.test.ts +10 -2
- package/tests/router.test.ts +1 -0
package/dist/index.d.mts
CHANGED
|
@@ -166,7 +166,7 @@ declare class AggregatorClient {
|
|
|
166
166
|
swapInPools(params: SwapInPoolsParams): Promise<SwapInPoolsResult | null>;
|
|
167
167
|
routerSwap(params: BuildRouterSwapParams): Promise<Transaction>;
|
|
168
168
|
signAndExecuteTransaction(txb: Transaction, signer: Signer): Promise<_mysten_sui_client.SuiTransactionBlockResponse>;
|
|
169
|
-
|
|
169
|
+
devInspectTransactionBlock(txb: Transaction): Promise<_mysten_sui_client.DevInspectResults>;
|
|
170
170
|
sendTransaction(txb: Transaction, signer: Signer): Promise<_mysten_sui_client.SuiTransactionBlockResponse>;
|
|
171
171
|
}
|
|
172
172
|
declare function parseRouterResponse(data: any): RouterData;
|
|
@@ -251,6 +251,7 @@ declare const TWO: BN;
|
|
|
251
251
|
declare const U128: BN;
|
|
252
252
|
declare const U64_MAX_BN: BN;
|
|
253
253
|
declare const U64_MAX = "18446744073709551615";
|
|
254
|
+
declare const TEN_POW_NINE = 1000000000;
|
|
254
255
|
declare const MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
255
256
|
declare const TESTNET_FLOWX_AMM_CONTAINER_ID = "";
|
|
256
257
|
declare const TURBOS_VERSIONED = "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f";
|
|
@@ -265,4 +266,4 @@ declare const TESTNET_AFTERMATH_INSURANCE_FUND_ID = "";
|
|
|
265
266
|
declare const MAINNET_AFTERMATH_REFERRAL_VAULT_ID = "0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278";
|
|
266
267
|
declare const TESTNET_AFTERMATH_REFERRAL_VAULT_ID = "";
|
|
267
268
|
|
|
268
|
-
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, type AggregatorResponse, type BuildRouterSwapParams, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, type ExtendedDetails, FLOWX_AMM, FLOWX_AMM_MODULE, type FindRouterParams, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, type Package, type Path, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, type Router, type RouterData, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, type SwapInPoolsParams, type SwapInPoolsResult, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
|
269
|
+
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, type AggregatorResponse, type BuildRouterSwapParams, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, type ExtendedDetails, FLOWX_AMM, FLOWX_AMM_MODULE, type FindRouterParams, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, type Package, type Path, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, type Router, type RouterData, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, type SwapInPoolsParams, type SwapInPoolsResult, TEN_POW_NINE, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
package/dist/index.d.ts
CHANGED
|
@@ -166,7 +166,7 @@ declare class AggregatorClient {
|
|
|
166
166
|
swapInPools(params: SwapInPoolsParams): Promise<SwapInPoolsResult | null>;
|
|
167
167
|
routerSwap(params: BuildRouterSwapParams): Promise<Transaction>;
|
|
168
168
|
signAndExecuteTransaction(txb: Transaction, signer: Signer): Promise<_mysten_sui_client.SuiTransactionBlockResponse>;
|
|
169
|
-
|
|
169
|
+
devInspectTransactionBlock(txb: Transaction): Promise<_mysten_sui_client.DevInspectResults>;
|
|
170
170
|
sendTransaction(txb: Transaction, signer: Signer): Promise<_mysten_sui_client.SuiTransactionBlockResponse>;
|
|
171
171
|
}
|
|
172
172
|
declare function parseRouterResponse(data: any): RouterData;
|
|
@@ -251,6 +251,7 @@ declare const TWO: BN;
|
|
|
251
251
|
declare const U128: BN;
|
|
252
252
|
declare const U64_MAX_BN: BN;
|
|
253
253
|
declare const U64_MAX = "18446744073709551615";
|
|
254
|
+
declare const TEN_POW_NINE = 1000000000;
|
|
254
255
|
declare const MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
255
256
|
declare const TESTNET_FLOWX_AMM_CONTAINER_ID = "";
|
|
256
257
|
declare const TURBOS_VERSIONED = "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f";
|
|
@@ -265,4 +266,4 @@ declare const TESTNET_AFTERMATH_INSURANCE_FUND_ID = "";
|
|
|
265
266
|
declare const MAINNET_AFTERMATH_REFERRAL_VAULT_ID = "0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278";
|
|
266
267
|
declare const TESTNET_AFTERMATH_REFERRAL_VAULT_ID = "";
|
|
267
268
|
|
|
268
|
-
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, type AggregatorResponse, type BuildRouterSwapParams, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, type ExtendedDetails, FLOWX_AMM, FLOWX_AMM_MODULE, type FindRouterParams, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, type Package, type Path, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, type Router, type RouterData, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, type SwapInPoolsParams, type SwapInPoolsResult, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
|
269
|
+
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, type AggregatorResponse, type BuildRouterSwapParams, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, type ExtendedDetails, FLOWX_AMM, FLOWX_AMM_MODULE, type FindRouterParams, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, type Package, type Path, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, type Router, type RouterData, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, type SwapInPoolsParams, type SwapInPoolsResult, TEN_POW_NINE, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
package/dist/index.js
CHANGED
|
@@ -5318,6 +5318,7 @@ var TWO = new import_bn.default(2);
|
|
|
5318
5318
|
var U128 = TWO.pow(new import_bn.default(128));
|
|
5319
5319
|
var U64_MAX_BN = new import_bn.default("18446744073709551615");
|
|
5320
5320
|
var U64_MAX = "18446744073709551615";
|
|
5321
|
+
var TEN_POW_NINE = 1e9;
|
|
5321
5322
|
var MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
5322
5323
|
var TESTNET_FLOWX_AMM_CONTAINER_ID = "";
|
|
5323
5324
|
var TURBOS_VERSIONED = "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f";
|
|
@@ -5841,9 +5842,9 @@ var import_bn2 = __toESM(require_bn());
|
|
|
5841
5842
|
function CalculateAmountLimit(expectAmount, byAmountIn, slippage) {
|
|
5842
5843
|
let amountLimit = ZERO;
|
|
5843
5844
|
if (byAmountIn) {
|
|
5844
|
-
amountLimit = expectAmount.
|
|
5845
|
+
amountLimit = expectAmount.mul(new import_bn2.default(TEN_POW_NINE - slippage * TEN_POW_NINE)).div(new import_bn2.default(TEN_POW_NINE));
|
|
5845
5846
|
} else {
|
|
5846
|
-
amountLimit = expectAmount.
|
|
5847
|
+
amountLimit = expectAmount.mul(new import_bn2.default(TEN_POW_NINE + slippage * TEN_POW_NINE)).div(new import_bn2.default(TEN_POW_NINE));
|
|
5847
5848
|
}
|
|
5848
5849
|
return Number(amountLimit.toString());
|
|
5849
5850
|
}
|
|
@@ -6674,7 +6675,7 @@ var AggregatorClient = class {
|
|
|
6674
6675
|
return res;
|
|
6675
6676
|
});
|
|
6676
6677
|
}
|
|
6677
|
-
|
|
6678
|
+
devInspectTransactionBlock(txb) {
|
|
6678
6679
|
return __async(this, null, function* () {
|
|
6679
6680
|
console.log(this.wallet);
|
|
6680
6681
|
const res = yield this.client.devInspectTransactionBlock({
|
|
@@ -6796,6 +6797,7 @@ exports.RepayFlashSwapWithPartnerFunc = RepayFlashSwapWithPartnerFunc;
|
|
|
6796
6797
|
exports.SWAP_A2B_FUNC = SWAP_A2B_FUNC;
|
|
6797
6798
|
exports.SWAP_B2A_FUNC = SWAP_B2A_FUNC;
|
|
6798
6799
|
exports.SuiZeroCoinFn = SuiZeroCoinFn;
|
|
6800
|
+
exports.TEN_POW_NINE = TEN_POW_NINE;
|
|
6799
6801
|
exports.TESTNET_AFTERMATH_INSURANCE_FUND_ID = TESTNET_AFTERMATH_INSURANCE_FUND_ID;
|
|
6800
6802
|
exports.TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID = TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID;
|
|
6801
6803
|
exports.TESTNET_AFTERMATH_REFERRAL_VAULT_ID = TESTNET_AFTERMATH_REFERRAL_VAULT_ID;
|
package/dist/index.mjs
CHANGED
|
@@ -5316,6 +5316,7 @@ var TWO = new import_bn.default(2);
|
|
|
5316
5316
|
var U128 = TWO.pow(new import_bn.default(128));
|
|
5317
5317
|
var U64_MAX_BN = new import_bn.default("18446744073709551615");
|
|
5318
5318
|
var U64_MAX = "18446744073709551615";
|
|
5319
|
+
var TEN_POW_NINE = 1e9;
|
|
5319
5320
|
var MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
5320
5321
|
var TESTNET_FLOWX_AMM_CONTAINER_ID = "";
|
|
5321
5322
|
var TURBOS_VERSIONED = "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f";
|
|
@@ -5839,9 +5840,9 @@ var import_bn2 = __toESM(require_bn());
|
|
|
5839
5840
|
function CalculateAmountLimit(expectAmount, byAmountIn, slippage) {
|
|
5840
5841
|
let amountLimit = ZERO;
|
|
5841
5842
|
if (byAmountIn) {
|
|
5842
|
-
amountLimit = expectAmount.
|
|
5843
|
+
amountLimit = expectAmount.mul(new import_bn2.default(TEN_POW_NINE - slippage * TEN_POW_NINE)).div(new import_bn2.default(TEN_POW_NINE));
|
|
5843
5844
|
} else {
|
|
5844
|
-
amountLimit = expectAmount.
|
|
5845
|
+
amountLimit = expectAmount.mul(new import_bn2.default(TEN_POW_NINE + slippage * TEN_POW_NINE)).div(new import_bn2.default(TEN_POW_NINE));
|
|
5845
5846
|
}
|
|
5846
5847
|
return Number(amountLimit.toString());
|
|
5847
5848
|
}
|
|
@@ -6672,7 +6673,7 @@ var AggregatorClient = class {
|
|
|
6672
6673
|
return res;
|
|
6673
6674
|
});
|
|
6674
6675
|
}
|
|
6675
|
-
|
|
6676
|
+
devInspectTransactionBlock(txb) {
|
|
6676
6677
|
return __async(this, null, function* () {
|
|
6677
6678
|
console.log(this.wallet);
|
|
6678
6679
|
const res = yield this.client.devInspectTransactionBlock({
|
|
@@ -6744,4 +6745,4 @@ decimal.js/decimal.mjs:
|
|
|
6744
6745
|
*)
|
|
6745
6746
|
*/
|
|
6746
6747
|
|
|
6747
|
-
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, FLOWX_AMM, FLOWX_AMM_MODULE, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
|
6748
|
+
export { AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AggregatorClient, AggregatorConfig, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, ENV, FLOWX_AMM, FLOWX_AMM_MODULE, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, INTEGRATE, JOIN_FUNC, KRIYA_DEX, KRIYA_MODULE, MAINNET_AFTERMATH_INSURANCE_FUND_ID, MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, MAINNET_AFTERMATH_REFERRAL_VAULT_ID, MAINNET_AFTERMATH_REGISTRY_ID, MAINNET_AFTERMATH_TREASURY_ID, MAINNET_CETUS_GLOBAL_CONFIG_ID, MAINNET_FLOWX_AMM_CONTAINER_ID, ONE, PAY_MODULE, POOL_MODULT, REPAY_FLASH_SWAP_A2B_FUNC, REPAY_FLASH_SWAP_B2A_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_A2B_FUNC, REPAY_FLASH_SWAP_WITH_PARTNER_B2A_FUNC, RepayFalshSwapFunc, RepayFlashSwapWithPartnerFunc, SWAP_A2B_FUNC, SWAP_B2A_FUNC, SuiZeroCoinFn, TEN_POW_NINE, TESTNET_AFTERMATH_INSURANCE_FUND_ID, TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID, TESTNET_AFTERMATH_REFERRAL_VAULT_ID, TESTNET_AFTERMATH_REGISTRY_ID, TESTNET_AFTERMATH_TREASURY_ID, TESTNET_CETUS_GLOBAL_CONFIG_ID, TESTNET_FLOWX_AMM_CONTAINER_ID, TRANSFER_ACCOUNT_CAP, TRANSFER_OR_DESTORY_COIN_FUNC, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, ZERO, composeType, createTarget, expectInputRouterSwap, expectOutputRouterSwap, extractAddressFromType, extractStructTagFromType, fixSuiObjectId, isSortedSymbols, normalizeCoinType, parseRouterResponse, patchFixSuiObjectId };
|
package/dist/src/client.d.ts
CHANGED
|
@@ -83,7 +83,7 @@ export declare class AggregatorClient {
|
|
|
83
83
|
swapInPools(params: SwapInPoolsParams): Promise<SwapInPoolsResult | null>;
|
|
84
84
|
routerSwap(params: BuildRouterSwapParams): Promise<Transaction>;
|
|
85
85
|
signAndExecuteTransaction(txb: Transaction, signer: Signer): Promise<import("@mysten/sui/client").SuiTransactionBlockResponse>;
|
|
86
|
-
|
|
86
|
+
devInspectTransactionBlock(txb: Transaction): Promise<import("@mysten/sui/client").DevInspectResults>;
|
|
87
87
|
sendTransaction(txb: Transaction, signer: Signer): Promise<import("@mysten/sui/client").SuiTransactionBlockResponse>;
|
|
88
88
|
}
|
|
89
89
|
export declare function parseRouterResponse(data: any): RouterData;
|
package/dist/src/const.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export declare const TWO: BN;
|
|
|
60
60
|
export declare const U128: BN;
|
|
61
61
|
export declare const U64_MAX_BN: BN;
|
|
62
62
|
export declare const U64_MAX = "18446744073709551615";
|
|
63
|
+
export declare const TEN_POW_NINE = 1000000000;
|
|
63
64
|
export declare const MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
64
65
|
export declare const TESTNET_FLOWX_AMM_CONTAINER_ID = "";
|
|
65
66
|
export declare const TURBOS_VERSIONED = "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f";
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -331,7 +331,7 @@ export class AggregatorClient {
|
|
|
331
331
|
return res
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
async
|
|
334
|
+
async devInspectTransactionBlock(txb: Transaction) {
|
|
335
335
|
console.log(this.wallet)
|
|
336
336
|
const res = await this.client.devInspectTransactionBlock({
|
|
337
337
|
transactionBlock: txb,
|
package/src/const.ts
CHANGED
|
@@ -102,6 +102,8 @@ export const U64_MAX_BN = new BN("18446744073709551615")
|
|
|
102
102
|
|
|
103
103
|
export const U64_MAX = "18446744073709551615"
|
|
104
104
|
|
|
105
|
+
export const TEN_POW_NINE = 1000000000
|
|
106
|
+
|
|
105
107
|
export const MAINNET_FLOWX_AMM_CONTAINER_ID =
|
|
106
108
|
"0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511"
|
|
107
109
|
export const TESTNET_FLOWX_AMM_CONTAINER_ID = ""
|
package/src/math.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// `byAmountIn` means fixed amount in or out.
|
|
4
4
|
|
|
5
5
|
import BN from "bn.js"
|
|
6
|
-
import { ZERO } from "./const"
|
|
6
|
+
import { TEN_POW_NINE, ZERO } from "./const"
|
|
7
7
|
import Decimal from "decimal.js"
|
|
8
8
|
|
|
9
9
|
// `slippage` is a percentage, for example, 0.01 means 1%.
|
|
@@ -14,9 +14,13 @@ export function CalculateAmountLimit(
|
|
|
14
14
|
): number {
|
|
15
15
|
let amountLimit = ZERO
|
|
16
16
|
if (byAmountIn) {
|
|
17
|
-
amountLimit = expectAmount
|
|
17
|
+
amountLimit = expectAmount
|
|
18
|
+
.mul(new BN(TEN_POW_NINE - slippage * TEN_POW_NINE))
|
|
19
|
+
.div(new BN(TEN_POW_NINE))
|
|
18
20
|
} else {
|
|
19
|
-
amountLimit = expectAmount
|
|
21
|
+
amountLimit = expectAmount
|
|
22
|
+
.mul(new BN(TEN_POW_NINE + slippage * TEN_POW_NINE))
|
|
23
|
+
.div(new BN(TEN_POW_NINE))
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
return Number(amountLimit.toString())
|
package/tests/math.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { sqrtPriceX64ToPrice } from "~/math"
|
|
1
|
+
import BN from "bn.js"
|
|
2
|
+
import { CalculateAmountLimit, sqrtPriceX64ToPrice } from "~/math"
|
|
3
3
|
|
|
4
4
|
describe("test math functions", () => {
|
|
5
5
|
test("test sqrt price x64 to price", () => {
|
|
@@ -10,4 +10,12 @@ describe("test math functions", () => {
|
|
|
10
10
|
const price = sqrtPriceX64ToPrice(sqrtPriceStr, decimalsA, decimalsB)
|
|
11
11
|
console.log("price", price.toFixed(9))
|
|
12
12
|
})
|
|
13
|
+
|
|
14
|
+
test("calculate amount limit", () => {
|
|
15
|
+
const amount = new BN(80017351)
|
|
16
|
+
const byAmountIn = true
|
|
17
|
+
|
|
18
|
+
const amountLimit = CalculateAmountLimit(amount, byAmountIn, 0.01)
|
|
19
|
+
console.log("amount limit", amountLimit.toString())
|
|
20
|
+
})
|
|
13
21
|
})
|
package/tests/router.test.ts
CHANGED