@cetusprotocol/aggregator-sdk 0.0.0-experimental-20250721190846 → 0.0.0-experimental-20250723103308
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 +22 -227
- package/dist/index.d.ts +22 -227
- package/dist/index.js +403 -244
- package/dist/index.mjs +402 -215
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SuiClient, getFullnodeUrl } from '@mysten/sui/client';
|
|
2
2
|
import { normalizeSuiObjectId, SUI_FRAMEWORK_ADDRESS, SUI_CLOCK_OBJECT_ID } from '@mysten/sui/utils';
|
|
3
3
|
import JSONbig from 'json-bigint';
|
|
4
|
-
import {
|
|
4
|
+
import { Transaction, coinWithBalance } from '@mysten/sui/transactions';
|
|
5
5
|
import { SuiPythClient, SuiPriceServiceConnection } from '@pythnetwork/pyth-sui-js';
|
|
6
6
|
|
|
7
7
|
var __create = Object.create;
|
|
@@ -4989,36 +4989,36 @@ var Env = /* @__PURE__ */ ((Env2) => {
|
|
|
4989
4989
|
Env2[Env2["Testnet"] = 1] = "Testnet";
|
|
4990
4990
|
return Env2;
|
|
4991
4991
|
})(Env || {});
|
|
4992
|
-
var Dex = /* @__PURE__ */ ((
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5017
|
-
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
return
|
|
4992
|
+
var Dex = /* @__PURE__ */ ((Dex2) => {
|
|
4993
|
+
Dex2["CETUS"] = "CETUS";
|
|
4994
|
+
Dex2["KRIYA"] = "KRIYA";
|
|
4995
|
+
Dex2["FLOWX"] = "FLOWX";
|
|
4996
|
+
Dex2["TURBOS"] = "TURBOS";
|
|
4997
|
+
Dex2["AFTERMATH"] = "AFTERMATH";
|
|
4998
|
+
Dex2["DEEPBOOK"] = "DEEPBOOK";
|
|
4999
|
+
Dex2["DEEPBOOKV3"] = "DEEPBOOKV3";
|
|
5000
|
+
Dex2["BLUEMOVE"] = "BLUEMOVE";
|
|
5001
|
+
Dex2["BLUEFIN"] = "BLUEFIN";
|
|
5002
|
+
Dex2["MOMENTUM"] = "MOMENTUM";
|
|
5003
|
+
Dex2["MAGMA"] = "MAGMA";
|
|
5004
|
+
Dex2["SCALLOP"] = "SCALLOP";
|
|
5005
|
+
Dex2["STEAMM"] = "STEAMM";
|
|
5006
|
+
Dex2["KRIYAV3"] = "KRIYAV3";
|
|
5007
|
+
Dex2["FLOWXV3"] = "FLOWXV3";
|
|
5008
|
+
Dex2["SUILEND"] = "SUILEND";
|
|
5009
|
+
Dex2["SPRINGSUI"] = "SPRINGSUI";
|
|
5010
|
+
Dex2["HAEDALPMM"] = "HAEDALPMM";
|
|
5011
|
+
Dex2["OBRIC"] = "OBRIC";
|
|
5012
|
+
Dex2["SEVENK"] = "SEVENK";
|
|
5013
|
+
Dex2["STEAMM_OMM"] = "STEAMM_OMM";
|
|
5014
|
+
Dex2["STEAMM_OMM_V2"] = "STEAMM_OMM_V2";
|
|
5015
|
+
Dex2["METASTABLE"] = "METASTABLE";
|
|
5016
|
+
Dex2["ALPHAFI"] = "ALPHAFI";
|
|
5017
|
+
Dex2["VOLO"] = "VOLO";
|
|
5018
|
+
Dex2["AFSUI"] = "AFSUI";
|
|
5019
|
+
Dex2["HAEDAL"] = "HAEDAL";
|
|
5020
|
+
Dex2["HAWAL"] = "HAWAL";
|
|
5021
|
+
return Dex2;
|
|
5022
5022
|
})(Dex || {});
|
|
5023
5023
|
var AggregatorConfig = class {
|
|
5024
5024
|
constructor(endpoint, fullNodeUrl, signer, packages, env) {
|
|
@@ -5185,6 +5185,7 @@ var SuiZeroCoinFn = "0x2::coin::zero";
|
|
|
5185
5185
|
var DEEPBOOK_PACKAGE_ID = "0x000000000000000000000000000000000000000000000000000000000000dee9";
|
|
5186
5186
|
var DEEPBOOK_PUBLISHED_AT = "0x000000000000000000000000000000000000000000000000000000000000dee9";
|
|
5187
5187
|
var CETUS_PUBLISHED_AT = "0x70968826ad1b4ba895753f634b0aea68d0672908ca1075a2abdf0fc9e0b2fc6a";
|
|
5188
|
+
var CETUS_V3_PUBLISHED_AT = "0xb85d33ef69a8308f7b1ae341e48bd8817476c144f14344d3ce612c16480d16f2";
|
|
5188
5189
|
var MAINNET_CETUS_GLOBAL_CONFIG_ID = "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f";
|
|
5189
5190
|
var TESTNET_CETUS_GLOBAL_CONFIG_ID = "0x6f4149091a5aea0e818e7243a13adcfb403842d670b9a2089de058512620687a";
|
|
5190
5191
|
var MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
|
|
@@ -6442,7 +6443,7 @@ function sortAndFlattenRoutes(routerData) {
|
|
|
6442
6443
|
lastOccurrenceIndex.set(from, i);
|
|
6443
6444
|
}
|
|
6444
6445
|
}
|
|
6445
|
-
for (const [
|
|
6446
|
+
for (const [_tokenType, lastIndex] of lastOccurrenceIndex) {
|
|
6446
6447
|
flattenedPaths[lastIndex].isLastUseOfIntermediateToken = true;
|
|
6447
6448
|
}
|
|
6448
6449
|
return {
|
|
@@ -6508,6 +6509,44 @@ function topologicalSortKahn(dependencies) {
|
|
|
6508
6509
|
return result;
|
|
6509
6510
|
}
|
|
6510
6511
|
|
|
6512
|
+
// src/utils/aggregator-config.ts
|
|
6513
|
+
var AggregatorConfig2 = class {
|
|
6514
|
+
static setEnv(env) {
|
|
6515
|
+
this.currentEnv = env;
|
|
6516
|
+
}
|
|
6517
|
+
static getEnv() {
|
|
6518
|
+
return this.currentEnv;
|
|
6519
|
+
}
|
|
6520
|
+
static getPublishedAtV2(env) {
|
|
6521
|
+
const targetEnv = env != null ? env : this.currentEnv;
|
|
6522
|
+
return this.publishedAtV2Map.get(targetEnv) || "";
|
|
6523
|
+
}
|
|
6524
|
+
static getPublishedAtV2Extend(env) {
|
|
6525
|
+
const targetEnv = env != null ? env : this.currentEnv;
|
|
6526
|
+
return this.publishedAtV2ExtendMap.get(targetEnv) || "";
|
|
6527
|
+
}
|
|
6528
|
+
static getPublishedAtV2Extend2(env) {
|
|
6529
|
+
const targetEnv = env != null ? env : this.currentEnv;
|
|
6530
|
+
return this.publishedAtV2Extend2Map.get(targetEnv) || "";
|
|
6531
|
+
}
|
|
6532
|
+
};
|
|
6533
|
+
AggregatorConfig2.publishedAtV2Map = /* @__PURE__ */ new Map([
|
|
6534
|
+
[0 /* Mainnet */, "0x8ae871505a80d8bf6bf9c05906cda6edfeea460c85bebe2e26a4313f5e67874a"],
|
|
6535
|
+
// version 12
|
|
6536
|
+
[1 /* Testnet */, "0x52eae33adeb44de55cfb3f281d4cc9e02d976181c0952f5323648b5717b33934"]
|
|
6537
|
+
]);
|
|
6538
|
+
AggregatorConfig2.publishedAtV2ExtendMap = /* @__PURE__ */ new Map([
|
|
6539
|
+
[0 /* Mainnet */, "0x8a2f7a5b20665eeccc79de3aa37c3b6c473eca233ada1e1cd4678ec07d4d4073"],
|
|
6540
|
+
// version 17
|
|
6541
|
+
[1 /* Testnet */, "0xabb6a81c8a216828e317719e06125de5bb2cb0fe8f9916ff8c023ca5be224c78"]
|
|
6542
|
+
]);
|
|
6543
|
+
AggregatorConfig2.publishedAtV2Extend2Map = /* @__PURE__ */ new Map([
|
|
6544
|
+
[0 /* Mainnet */, "0x5cb7499fc49c2642310e24a4ecffdbee00133f97e80e2b45bca90c64d55de880"],
|
|
6545
|
+
// version 8
|
|
6546
|
+
[1 /* Testnet */, "0x0"]
|
|
6547
|
+
]);
|
|
6548
|
+
AggregatorConfig2.currentEnv = 0 /* Mainnet */;
|
|
6549
|
+
|
|
6511
6550
|
// src/transaction/aftermath.ts
|
|
6512
6551
|
var import_bn5 = __toESM(require_bn());
|
|
6513
6552
|
var Aftermath = class {
|
|
@@ -6532,7 +6571,7 @@ var Aftermath = class {
|
|
|
6532
6571
|
if (path.extendedDetails == null) {
|
|
6533
6572
|
throw new Error("Extended details not supported");
|
|
6534
6573
|
} else {
|
|
6535
|
-
if (path.extendedDetails.
|
|
6574
|
+
if (path.extendedDetails.aftermath_lp_supply_type == null) {
|
|
6536
6575
|
throw new Error("LP supply type not supported");
|
|
6537
6576
|
}
|
|
6538
6577
|
}
|
|
@@ -6547,13 +6586,16 @@ var Aftermath = class {
|
|
|
6547
6586
|
txb.pure.u64(this.slippage),
|
|
6548
6587
|
inputCoin
|
|
6549
6588
|
];
|
|
6550
|
-
const publishedAt = getAggregatorV2PublishedAt(
|
|
6589
|
+
const publishedAt = getAggregatorV2PublishedAt(
|
|
6590
|
+
AggregatorConfig2.getPublishedAtV2(),
|
|
6591
|
+
packages
|
|
6592
|
+
);
|
|
6551
6593
|
const res = txb.moveCall({
|
|
6552
6594
|
target: `${publishedAt}::aftermath::${func}`,
|
|
6553
6595
|
typeArguments: [
|
|
6554
6596
|
coinAType,
|
|
6555
6597
|
coinBType,
|
|
6556
|
-
path.extendedDetails.
|
|
6598
|
+
path.extendedDetails.aftermath_lp_supply_type
|
|
6557
6599
|
],
|
|
6558
6600
|
arguments: args
|
|
6559
6601
|
});
|
|
@@ -6771,7 +6813,7 @@ var Turbos = class {
|
|
|
6771
6813
|
if (path.extendedDetails == null) {
|
|
6772
6814
|
throw new Error("Extended details not supported");
|
|
6773
6815
|
} else {
|
|
6774
|
-
if (path.extendedDetails.
|
|
6816
|
+
if (path.extendedDetails.turbos_fee_type == null) {
|
|
6775
6817
|
throw new Error("Turbos fee type not supported");
|
|
6776
6818
|
}
|
|
6777
6819
|
}
|
|
@@ -6781,10 +6823,17 @@ var Turbos = class {
|
|
|
6781
6823
|
txb.object(CLOCK_ADDRESS),
|
|
6782
6824
|
txb.object(this.versioned)
|
|
6783
6825
|
];
|
|
6784
|
-
const publishedAt = getAggregatorV2PublishedAt(
|
|
6826
|
+
const publishedAt = getAggregatorV2PublishedAt(
|
|
6827
|
+
client.publishedAtV2(),
|
|
6828
|
+
packages
|
|
6829
|
+
);
|
|
6785
6830
|
const res = txb.moveCall({
|
|
6786
6831
|
target: `${publishedAt}::turbos::${func}`,
|
|
6787
|
-
typeArguments: [
|
|
6832
|
+
typeArguments: [
|
|
6833
|
+
coinAType,
|
|
6834
|
+
coinBType,
|
|
6835
|
+
path.extendedDetails.turbos_fee_type
|
|
6836
|
+
],
|
|
6788
6837
|
arguments: args
|
|
6789
6838
|
});
|
|
6790
6839
|
return res;
|
|
@@ -7271,11 +7320,11 @@ var HaedalPmm = class {
|
|
|
7271
7320
|
if (path.extendedDetails == null) {
|
|
7272
7321
|
throw new Error("Extended details not supported haedal pmm");
|
|
7273
7322
|
} else {
|
|
7274
|
-
if (!path.extendedDetails.
|
|
7323
|
+
if (!path.extendedDetails.haedal_pmm_base_price_seed || !path.extendedDetails.haedal_pmm_quote_price_seed) {
|
|
7275
7324
|
throw new Error("Base price seed or quote price seed not supported");
|
|
7276
7325
|
}
|
|
7277
|
-
basePriceSeed = path.extendedDetails.
|
|
7278
|
-
quotePriceSeed = path.extendedDetails.
|
|
7326
|
+
basePriceSeed = path.extendedDetails.haedal_pmm_base_price_seed;
|
|
7327
|
+
quotePriceSeed = path.extendedDetails.haedal_pmm_quote_price_seed;
|
|
7279
7328
|
}
|
|
7280
7329
|
const basePriceInfoObjectId = this.pythPriceIDs.get(basePriceSeed);
|
|
7281
7330
|
const quotePriceInfoObjectId = this.pythPriceIDs.get(quotePriceSeed);
|
|
@@ -7346,46 +7395,49 @@ var SteammCPMM = class {
|
|
|
7346
7395
|
if (path.extendedDetails == null) {
|
|
7347
7396
|
throw new Error("Extended details not supported");
|
|
7348
7397
|
} else {
|
|
7349
|
-
if (path.extendedDetails.
|
|
7398
|
+
if (path.extendedDetails.steamm_bank_a == null) {
|
|
7350
7399
|
throw new Error("Steamm bank a type not supported");
|
|
7351
7400
|
}
|
|
7352
|
-
if (path.extendedDetails.
|
|
7401
|
+
if (path.extendedDetails.steamm_bank_b == null) {
|
|
7353
7402
|
throw new Error("Steamm bank b type not supported");
|
|
7354
7403
|
}
|
|
7355
|
-
if (path.extendedDetails.
|
|
7404
|
+
if (path.extendedDetails.steamm_lending_market == null) {
|
|
7356
7405
|
throw new Error("Steamm lending market not supported");
|
|
7357
7406
|
}
|
|
7358
|
-
if (path.extendedDetails.
|
|
7407
|
+
if (path.extendedDetails.steamm_lending_market_type == null) {
|
|
7359
7408
|
throw new Error("Steamm lending market type not supported");
|
|
7360
7409
|
}
|
|
7361
|
-
if (path.extendedDetails.
|
|
7410
|
+
if (path.extendedDetails.steamm_b_coin_a_type == null) {
|
|
7362
7411
|
throw new Error("Steamm b coin a type not supported");
|
|
7363
7412
|
}
|
|
7364
|
-
if (path.extendedDetails.
|
|
7413
|
+
if (path.extendedDetails.steamm_b_coin_b_type == null) {
|
|
7365
7414
|
throw new Error("Steamm b coin b type not supported");
|
|
7366
7415
|
}
|
|
7367
|
-
if (path.extendedDetails.
|
|
7416
|
+
if (path.extendedDetails.steamm_lp_token == null) {
|
|
7368
7417
|
throw new Error("Steamm lp token not supported");
|
|
7369
7418
|
}
|
|
7370
7419
|
}
|
|
7371
7420
|
const args = [
|
|
7372
7421
|
txb.object(path.id),
|
|
7373
|
-
txb.object(path.extendedDetails.
|
|
7374
|
-
txb.object(path.extendedDetails.
|
|
7375
|
-
txb.object(path.extendedDetails.
|
|
7422
|
+
txb.object(path.extendedDetails.steamm_bank_a),
|
|
7423
|
+
txb.object(path.extendedDetails.steamm_bank_b),
|
|
7424
|
+
txb.object(path.extendedDetails.steamm_lending_market),
|
|
7376
7425
|
inputCoin,
|
|
7377
7426
|
txb.object(CLOCK_ADDRESS)
|
|
7378
7427
|
];
|
|
7379
|
-
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7428
|
+
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7429
|
+
client.publishedAtV2Extend2(),
|
|
7430
|
+
packages
|
|
7431
|
+
);
|
|
7380
7432
|
const res = txb.moveCall({
|
|
7381
7433
|
target: `${publishedAt}::steamm_cpmm::${func}`,
|
|
7382
7434
|
typeArguments: [
|
|
7383
|
-
path.extendedDetails.
|
|
7435
|
+
path.extendedDetails.steamm_lending_market_type,
|
|
7384
7436
|
coinAType,
|
|
7385
7437
|
coinBType,
|
|
7386
|
-
path.extendedDetails.
|
|
7387
|
-
path.extendedDetails.
|
|
7388
|
-
path.extendedDetails.
|
|
7438
|
+
path.extendedDetails.steamm_b_coin_a_type,
|
|
7439
|
+
path.extendedDetails.steamm_b_coin_b_type,
|
|
7440
|
+
path.extendedDetails.steamm_lp_token
|
|
7389
7441
|
],
|
|
7390
7442
|
arguments: args
|
|
7391
7443
|
});
|
|
@@ -7409,58 +7461,60 @@ var SteammOmm = class {
|
|
|
7409
7461
|
if (path.extendedDetails == null) {
|
|
7410
7462
|
throw new Error("Extended details not supported");
|
|
7411
7463
|
} else {
|
|
7412
|
-
if (path.extendedDetails.
|
|
7464
|
+
if (path.extendedDetails.steamm_bank_a == null) {
|
|
7413
7465
|
throw new Error("Steamm bank a type not supported");
|
|
7414
7466
|
}
|
|
7415
|
-
if (path.extendedDetails.
|
|
7467
|
+
if (path.extendedDetails.steamm_bank_b == null) {
|
|
7416
7468
|
throw new Error("Steamm bank b type not supported");
|
|
7417
7469
|
}
|
|
7418
|
-
if (path.extendedDetails.
|
|
7470
|
+
if (path.extendedDetails.steamm_lending_market == null) {
|
|
7419
7471
|
throw new Error("Steamm lending market not supported");
|
|
7420
7472
|
}
|
|
7421
|
-
if (path.extendedDetails.
|
|
7473
|
+
if (path.extendedDetails.steamm_lending_market_type == null) {
|
|
7422
7474
|
throw new Error("Steamm lending market type not supported");
|
|
7423
7475
|
}
|
|
7424
|
-
if (path.extendedDetails.
|
|
7476
|
+
if (path.extendedDetails.steamm_b_coin_a_type == null) {
|
|
7425
7477
|
throw new Error("Steamm b coin a type not supported");
|
|
7426
7478
|
}
|
|
7427
|
-
if (path.extendedDetails.
|
|
7479
|
+
if (path.extendedDetails.steamm_b_coin_b_type == null) {
|
|
7428
7480
|
throw new Error("Steamm b coin b type not supported");
|
|
7429
7481
|
}
|
|
7430
|
-
if (path.extendedDetails.
|
|
7482
|
+
if (path.extendedDetails.steamm_lp_token == null) {
|
|
7431
7483
|
throw new Error("Steamm lp token not supported");
|
|
7432
7484
|
}
|
|
7433
|
-
if (path.extendedDetails.
|
|
7485
|
+
if (path.extendedDetails.steamm_oracle_registry_id == null) {
|
|
7434
7486
|
throw new Error("Steamm oracle registry id not supported");
|
|
7435
7487
|
}
|
|
7436
|
-
if (path.extendedDetails.
|
|
7488
|
+
if (path.extendedDetails.steamm_oracle_index_a == null) {
|
|
7437
7489
|
throw new Error("Steamm oracle index a not supported");
|
|
7438
7490
|
}
|
|
7439
|
-
if (path.extendedDetails.
|
|
7491
|
+
if (path.extendedDetails.steamm_oracle_index_b == null) {
|
|
7440
7492
|
throw new Error("Steamm oracle index b not supported");
|
|
7441
7493
|
}
|
|
7442
|
-
if (path.extendedDetails.
|
|
7494
|
+
if (path.extendedDetails.steamm_oracle_pyth_price_seed_a == null) {
|
|
7443
7495
|
throw new Error("Steamm oracle pyth price seed a not supported");
|
|
7444
7496
|
}
|
|
7445
|
-
if (path.extendedDetails.
|
|
7497
|
+
if (path.extendedDetails.steamm_oracle_pyth_price_seed_b == null) {
|
|
7446
7498
|
throw new Error("Steamm oracle pyth price seed b not supported");
|
|
7447
7499
|
}
|
|
7448
7500
|
}
|
|
7449
7501
|
const [func, coinAType, coinBType] = direction ? ["swap_a2b_v2", from, target] : ["swap_b2a_v2", target, from];
|
|
7450
|
-
const priceSeedA = path.extendedDetails.
|
|
7451
|
-
const priceSeedB = path.extendedDetails.
|
|
7502
|
+
const priceSeedA = path.extendedDetails.steamm_oracle_pyth_price_seed_a;
|
|
7503
|
+
const priceSeedB = path.extendedDetails.steamm_oracle_pyth_price_seed_b;
|
|
7452
7504
|
const priceInfoObjectIdA = this.pythPriceIDs.get(priceSeedA);
|
|
7453
7505
|
const priceInfoObjectIdB = this.pythPriceIDs.get(priceSeedB);
|
|
7454
7506
|
if (!priceInfoObjectIdA || !priceInfoObjectIdB) {
|
|
7455
|
-
throw new Error(
|
|
7507
|
+
throw new Error(
|
|
7508
|
+
"Base price info object id or quote price info object id not found"
|
|
7509
|
+
);
|
|
7456
7510
|
}
|
|
7457
7511
|
const oraclePriceUpdateA = txb.moveCall({
|
|
7458
7512
|
target: `${this.oraclePackageId}::oracles::get_pyth_price`,
|
|
7459
7513
|
typeArguments: [],
|
|
7460
7514
|
arguments: [
|
|
7461
|
-
txb.object(path.extendedDetails.
|
|
7515
|
+
txb.object(path.extendedDetails.steamm_oracle_registry_id),
|
|
7462
7516
|
txb.object(priceInfoObjectIdA),
|
|
7463
|
-
txb.pure.u64(path.extendedDetails.
|
|
7517
|
+
txb.pure.u64(path.extendedDetails.steamm_oracle_index_a),
|
|
7464
7518
|
txb.object(CLOCK_ADDRESS)
|
|
7465
7519
|
]
|
|
7466
7520
|
});
|
|
@@ -7468,32 +7522,35 @@ var SteammOmm = class {
|
|
|
7468
7522
|
target: `${this.oraclePackageId}::oracles::get_pyth_price`,
|
|
7469
7523
|
typeArguments: [],
|
|
7470
7524
|
arguments: [
|
|
7471
|
-
txb.object(path.extendedDetails.
|
|
7525
|
+
txb.object(path.extendedDetails.steamm_oracle_registry_id),
|
|
7472
7526
|
txb.object(priceInfoObjectIdB),
|
|
7473
|
-
txb.pure.u64(path.extendedDetails.
|
|
7527
|
+
txb.pure.u64(path.extendedDetails.steamm_oracle_index_b),
|
|
7474
7528
|
txb.object(CLOCK_ADDRESS)
|
|
7475
7529
|
]
|
|
7476
7530
|
});
|
|
7477
7531
|
const args = [
|
|
7478
7532
|
txb.object(path.id),
|
|
7479
|
-
txb.object(path.extendedDetails.
|
|
7480
|
-
txb.object(path.extendedDetails.
|
|
7481
|
-
txb.object(path.extendedDetails.
|
|
7533
|
+
txb.object(path.extendedDetails.steamm_bank_a),
|
|
7534
|
+
txb.object(path.extendedDetails.steamm_bank_b),
|
|
7535
|
+
txb.object(path.extendedDetails.steamm_lending_market),
|
|
7482
7536
|
oraclePriceUpdateA,
|
|
7483
7537
|
oraclePriceUpdateB,
|
|
7484
7538
|
inputCoin,
|
|
7485
7539
|
txb.object(CLOCK_ADDRESS)
|
|
7486
7540
|
];
|
|
7487
|
-
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7541
|
+
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7542
|
+
client.publishedAtV2Extend2(),
|
|
7543
|
+
packages
|
|
7544
|
+
);
|
|
7488
7545
|
const res = txb.moveCall({
|
|
7489
7546
|
target: `${publishedAt}::steamm_omm::${func}`,
|
|
7490
7547
|
typeArguments: [
|
|
7491
|
-
path.extendedDetails.
|
|
7548
|
+
path.extendedDetails.steamm_lending_market_type,
|
|
7492
7549
|
coinAType,
|
|
7493
7550
|
coinBType,
|
|
7494
|
-
path.extendedDetails.
|
|
7495
|
-
path.extendedDetails.
|
|
7496
|
-
path.extendedDetails.
|
|
7551
|
+
path.extendedDetails.steamm_b_coin_a_type,
|
|
7552
|
+
path.extendedDetails.steamm_b_coin_b_type,
|
|
7553
|
+
path.extendedDetails.steamm_lp_token
|
|
7497
7554
|
],
|
|
7498
7555
|
arguments: args
|
|
7499
7556
|
});
|
|
@@ -7524,43 +7581,50 @@ var Metastable = class {
|
|
|
7524
7581
|
if (path.extendedDetails == null) {
|
|
7525
7582
|
throw new Error("Extended details not supported metastable");
|
|
7526
7583
|
} else {
|
|
7527
|
-
if (!path.extendedDetails.
|
|
7528
|
-
throw new Error(
|
|
7584
|
+
if (!path.extendedDetails.metastable_create_cap_pkg_id || !path.extendedDetails.metastable_create_cap_module || !path.extendedDetails.metastable_registry_id || !path.extendedDetails.metastable_whitelisted_app_id) {
|
|
7585
|
+
throw new Error(
|
|
7586
|
+
"CreateCapPkgId or CreateCapModule or RegistryId or WhitelistedAppId or CreateCapAllTypeParams not supported"
|
|
7587
|
+
);
|
|
7529
7588
|
}
|
|
7530
|
-
createExchangePkgId = path.extendedDetails.
|
|
7531
|
-
createDepositModule = path.extendedDetails.
|
|
7532
|
-
metaSingletonId = path.extendedDetails.
|
|
7589
|
+
createExchangePkgId = path.extendedDetails.metastable_create_cap_pkg_id;
|
|
7590
|
+
createDepositModule = path.extendedDetails.metastable_create_cap_module;
|
|
7591
|
+
metaSingletonId = path.extendedDetails.metastable_whitelisted_app_id;
|
|
7533
7592
|
}
|
|
7534
|
-
const createDepositCapTypeArgs = [
|
|
7535
|
-
|
|
7536
|
-
];
|
|
7537
|
-
if (path.extendedDetails.metastableCreateCapAllTypeParams) {
|
|
7593
|
+
const createDepositCapTypeArgs = [metaCoinType];
|
|
7594
|
+
if (path.extendedDetails.metastable_create_cap_all_type_params) {
|
|
7538
7595
|
createDepositCapTypeArgs.push(coinType);
|
|
7539
7596
|
}
|
|
7540
|
-
const depositArgs = [
|
|
7541
|
-
txb.object(metaSingletonId),
|
|
7542
|
-
txb.object(path.id)
|
|
7543
|
-
];
|
|
7597
|
+
const depositArgs = [txb.object(metaSingletonId), txb.object(path.id)];
|
|
7544
7598
|
switch (metaCoinType) {
|
|
7545
7599
|
case SUPER_SUI_TYPE: {
|
|
7546
|
-
if (!path.extendedDetails.
|
|
7600
|
+
if (!path.extendedDetails.metastable_registry_id) {
|
|
7547
7601
|
throw new Error("Not found registry id for super sui");
|
|
7548
7602
|
}
|
|
7549
|
-
depositArgs.push(
|
|
7603
|
+
depositArgs.push(
|
|
7604
|
+
txb.object(path.extendedDetails.metastable_registry_id)
|
|
7605
|
+
);
|
|
7550
7606
|
break;
|
|
7551
7607
|
}
|
|
7552
7608
|
case MUSD_TYPE: {
|
|
7553
|
-
if (path.extendedDetails.
|
|
7554
|
-
const priceId = this.pythPriceIDs.get(
|
|
7609
|
+
if (path.extendedDetails.metastable_price_seed != null) {
|
|
7610
|
+
const priceId = this.pythPriceIDs.get(
|
|
7611
|
+
path.extendedDetails.metastable_price_seed
|
|
7612
|
+
);
|
|
7555
7613
|
if (priceId == null) {
|
|
7556
|
-
throw new Error(
|
|
7614
|
+
throw new Error(
|
|
7615
|
+
"Invalid Pyth price feed: " + path.extendedDetails.metastable_price_seed
|
|
7616
|
+
);
|
|
7557
7617
|
}
|
|
7558
7618
|
depositArgs.push(txb.object(priceId));
|
|
7559
7619
|
}
|
|
7560
|
-
if (path.extendedDetails.
|
|
7561
|
-
const priceId = this.pythPriceIDs.get(
|
|
7620
|
+
if (path.extendedDetails.metastable_eth_price_seed != null) {
|
|
7621
|
+
const priceId = this.pythPriceIDs.get(
|
|
7622
|
+
path.extendedDetails.metastable_eth_price_seed
|
|
7623
|
+
);
|
|
7562
7624
|
if (priceId == null) {
|
|
7563
|
-
throw new Error(
|
|
7625
|
+
throw new Error(
|
|
7626
|
+
"Invalid Pyth price feed: " + path.extendedDetails.metastable_eth_price_seed
|
|
7627
|
+
);
|
|
7564
7628
|
}
|
|
7565
7629
|
depositArgs.push(txb.object(priceId));
|
|
7566
7630
|
}
|
|
@@ -7568,17 +7632,25 @@ var Metastable = class {
|
|
|
7568
7632
|
break;
|
|
7569
7633
|
}
|
|
7570
7634
|
case METH_TYPE: {
|
|
7571
|
-
if (path.extendedDetails.
|
|
7572
|
-
const priceId = this.pythPriceIDs.get(
|
|
7635
|
+
if (path.extendedDetails.metastable_price_seed != null) {
|
|
7636
|
+
const priceId = this.pythPriceIDs.get(
|
|
7637
|
+
path.extendedDetails.metastable_price_seed
|
|
7638
|
+
);
|
|
7573
7639
|
if (priceId == null) {
|
|
7574
|
-
throw new Error(
|
|
7640
|
+
throw new Error(
|
|
7641
|
+
"Invalid Pyth price feed: " + path.extendedDetails.metastable_price_seed
|
|
7642
|
+
);
|
|
7575
7643
|
}
|
|
7576
7644
|
depositArgs.push(txb.object(priceId));
|
|
7577
7645
|
}
|
|
7578
|
-
if (path.extendedDetails.
|
|
7579
|
-
const priceId = this.pythPriceIDs.get(
|
|
7646
|
+
if (path.extendedDetails.metastable_eth_price_seed != null) {
|
|
7647
|
+
const priceId = this.pythPriceIDs.get(
|
|
7648
|
+
path.extendedDetails.metastable_eth_price_seed
|
|
7649
|
+
);
|
|
7580
7650
|
if (priceId == null) {
|
|
7581
|
-
throw new Error(
|
|
7651
|
+
throw new Error(
|
|
7652
|
+
"Invalid Pyth price feed: " + path.extendedDetails.metastable_eth_price_seed
|
|
7653
|
+
);
|
|
7582
7654
|
}
|
|
7583
7655
|
depositArgs.push(txb.object(priceId));
|
|
7584
7656
|
}
|
|
@@ -7599,13 +7671,13 @@ var Metastable = class {
|
|
|
7599
7671
|
depositResult,
|
|
7600
7672
|
inputCoin
|
|
7601
7673
|
];
|
|
7602
|
-
const publishedAt = getAggregatorV2ExtendPublishedAt(
|
|
7674
|
+
const publishedAt = getAggregatorV2ExtendPublishedAt(
|
|
7675
|
+
client.publishedAtV2Extend(),
|
|
7676
|
+
packages
|
|
7677
|
+
);
|
|
7603
7678
|
const res = txb.moveCall({
|
|
7604
7679
|
target: `${publishedAt}::metastable::${func}`,
|
|
7605
|
-
typeArguments: [
|
|
7606
|
-
coinType,
|
|
7607
|
-
metaCoinType
|
|
7608
|
-
],
|
|
7680
|
+
typeArguments: [coinType, metaCoinType],
|
|
7609
7681
|
arguments: swapArgs
|
|
7610
7682
|
});
|
|
7611
7683
|
return res;
|
|
@@ -7633,17 +7705,17 @@ var Obric = class {
|
|
|
7633
7705
|
if (path.extendedDetails == null) {
|
|
7634
7706
|
throw new Error("Extended details not supported in obric");
|
|
7635
7707
|
} else {
|
|
7636
|
-
if (path.extendedDetails.
|
|
7637
|
-
coinAPriceSeed = path.extendedDetails.
|
|
7708
|
+
if (path.extendedDetails.obric_coin_a_price_seed && path.extendedDetails.obric_coin_b_price_seed) {
|
|
7709
|
+
coinAPriceSeed = path.extendedDetails.obric_coin_a_price_seed;
|
|
7638
7710
|
coinAPriceInfoObjectId = this.pythPriceIDs.get(coinAPriceSeed);
|
|
7639
|
-
coinBPriceSeed = path.extendedDetails.
|
|
7711
|
+
coinBPriceSeed = path.extendedDetails.obric_coin_b_price_seed;
|
|
7640
7712
|
coinBPriceInfoObjectId = this.pythPriceIDs.get(coinBPriceSeed);
|
|
7641
7713
|
} else {
|
|
7642
|
-
if (!path.extendedDetails.
|
|
7714
|
+
if (!path.extendedDetails.obric_coin_a_price_id || !path.extendedDetails.obric_coin_b_price_id) {
|
|
7643
7715
|
throw new Error("Base price id or quote price id not supported");
|
|
7644
7716
|
} else {
|
|
7645
|
-
coinAPriceInfoObjectId = path.extendedDetails.
|
|
7646
|
-
coinBPriceInfoObjectId = path.extendedDetails.
|
|
7717
|
+
coinAPriceInfoObjectId = path.extendedDetails.obric_coin_a_price_id;
|
|
7718
|
+
coinBPriceInfoObjectId = path.extendedDetails.obric_coin_b_price_id;
|
|
7647
7719
|
}
|
|
7648
7720
|
}
|
|
7649
7721
|
}
|
|
@@ -7747,58 +7819,60 @@ var SteammOmmV2 = class {
|
|
|
7747
7819
|
if (path.extendedDetails == null) {
|
|
7748
7820
|
throw new Error("Extended details not supported");
|
|
7749
7821
|
} else {
|
|
7750
|
-
if (path.extendedDetails.
|
|
7822
|
+
if (path.extendedDetails.steamm_bank_a == null) {
|
|
7751
7823
|
throw new Error("Steamm bank a type not supported");
|
|
7752
7824
|
}
|
|
7753
|
-
if (path.extendedDetails.
|
|
7825
|
+
if (path.extendedDetails.steamm_bank_b == null) {
|
|
7754
7826
|
throw new Error("Steamm bank b type not supported");
|
|
7755
7827
|
}
|
|
7756
|
-
if (path.extendedDetails.
|
|
7828
|
+
if (path.extendedDetails.steamm_lending_market == null) {
|
|
7757
7829
|
throw new Error("Steamm lending market not supported");
|
|
7758
7830
|
}
|
|
7759
|
-
if (path.extendedDetails.
|
|
7831
|
+
if (path.extendedDetails.steamm_lending_market_type == null) {
|
|
7760
7832
|
throw new Error("Steamm lending market type not supported");
|
|
7761
7833
|
}
|
|
7762
|
-
if (path.extendedDetails.
|
|
7834
|
+
if (path.extendedDetails.steamm_b_coin_a_type == null) {
|
|
7763
7835
|
throw new Error("Steamm b coin a type not supported");
|
|
7764
7836
|
}
|
|
7765
|
-
if (path.extendedDetails.
|
|
7837
|
+
if (path.extendedDetails.steamm_b_coin_b_type == null) {
|
|
7766
7838
|
throw new Error("Steamm b coin b type not supported");
|
|
7767
7839
|
}
|
|
7768
|
-
if (path.extendedDetails.
|
|
7840
|
+
if (path.extendedDetails.steamm_lp_token == null) {
|
|
7769
7841
|
throw new Error("Steamm lp token not supported");
|
|
7770
7842
|
}
|
|
7771
|
-
if (path.extendedDetails.
|
|
7843
|
+
if (path.extendedDetails.steamm_oracle_registry_id == null) {
|
|
7772
7844
|
throw new Error("Steamm oracle registry id not supported");
|
|
7773
7845
|
}
|
|
7774
|
-
if (path.extendedDetails.
|
|
7846
|
+
if (path.extendedDetails.steamm_oracle_index_a == null) {
|
|
7775
7847
|
throw new Error("Steamm oracle index a not supported");
|
|
7776
7848
|
}
|
|
7777
|
-
if (path.extendedDetails.
|
|
7849
|
+
if (path.extendedDetails.steamm_oracle_index_b == null) {
|
|
7778
7850
|
throw new Error("Steamm oracle index b not supported");
|
|
7779
7851
|
}
|
|
7780
|
-
if (path.extendedDetails.
|
|
7852
|
+
if (path.extendedDetails.steamm_oracle_pyth_price_seed_a == null) {
|
|
7781
7853
|
throw new Error("Steamm oracle pyth price seed a not supported");
|
|
7782
7854
|
}
|
|
7783
|
-
if (path.extendedDetails.
|
|
7855
|
+
if (path.extendedDetails.steamm_oracle_pyth_price_seed_b == null) {
|
|
7784
7856
|
throw new Error("Steamm oracle pyth price seed b not supported");
|
|
7785
7857
|
}
|
|
7786
7858
|
}
|
|
7787
7859
|
const [func, coinAType, coinBType] = direction ? ["swap_a2b", from, target] : ["swap_b2a", target, from];
|
|
7788
|
-
const priceSeedA = path.extendedDetails.
|
|
7789
|
-
const priceSeedB = path.extendedDetails.
|
|
7860
|
+
const priceSeedA = path.extendedDetails.steamm_oracle_pyth_price_seed_a;
|
|
7861
|
+
const priceSeedB = path.extendedDetails.steamm_oracle_pyth_price_seed_b;
|
|
7790
7862
|
const priceInfoObjectIdA = this.pythPriceIDs.get(priceSeedA);
|
|
7791
7863
|
const priceInfoObjectIdB = this.pythPriceIDs.get(priceSeedB);
|
|
7792
7864
|
if (!priceInfoObjectIdA || !priceInfoObjectIdB) {
|
|
7793
|
-
throw new Error(
|
|
7865
|
+
throw new Error(
|
|
7866
|
+
"Base price info object id or quote price info object id not found"
|
|
7867
|
+
);
|
|
7794
7868
|
}
|
|
7795
7869
|
const oraclePriceUpdateA = txb.moveCall({
|
|
7796
7870
|
target: `${this.oraclePackageId}::oracles::get_pyth_price`,
|
|
7797
7871
|
typeArguments: [],
|
|
7798
7872
|
arguments: [
|
|
7799
|
-
txb.object(path.extendedDetails.
|
|
7873
|
+
txb.object(path.extendedDetails.steamm_oracle_registry_id),
|
|
7800
7874
|
txb.object(priceInfoObjectIdA),
|
|
7801
|
-
txb.pure.u64(path.extendedDetails.
|
|
7875
|
+
txb.pure.u64(path.extendedDetails.steamm_oracle_index_a),
|
|
7802
7876
|
txb.object(CLOCK_ADDRESS)
|
|
7803
7877
|
]
|
|
7804
7878
|
});
|
|
@@ -7806,32 +7880,35 @@ var SteammOmmV2 = class {
|
|
|
7806
7880
|
target: `${this.oraclePackageId}::oracles::get_pyth_price`,
|
|
7807
7881
|
typeArguments: [],
|
|
7808
7882
|
arguments: [
|
|
7809
|
-
txb.object(path.extendedDetails.
|
|
7883
|
+
txb.object(path.extendedDetails.steamm_oracle_registry_id),
|
|
7810
7884
|
txb.object(priceInfoObjectIdB),
|
|
7811
|
-
txb.pure.u64(path.extendedDetails.
|
|
7885
|
+
txb.pure.u64(path.extendedDetails.steamm_oracle_index_b),
|
|
7812
7886
|
txb.object(CLOCK_ADDRESS)
|
|
7813
7887
|
]
|
|
7814
7888
|
});
|
|
7815
7889
|
const args = [
|
|
7816
7890
|
txb.object(path.id),
|
|
7817
|
-
txb.object(path.extendedDetails.
|
|
7818
|
-
txb.object(path.extendedDetails.
|
|
7819
|
-
txb.object(path.extendedDetails.
|
|
7891
|
+
txb.object(path.extendedDetails.steamm_bank_a),
|
|
7892
|
+
txb.object(path.extendedDetails.steamm_bank_b),
|
|
7893
|
+
txb.object(path.extendedDetails.steamm_lending_market),
|
|
7820
7894
|
oraclePriceUpdateA,
|
|
7821
7895
|
oraclePriceUpdateB,
|
|
7822
7896
|
inputCoin,
|
|
7823
7897
|
txb.object(CLOCK_ADDRESS)
|
|
7824
7898
|
];
|
|
7825
|
-
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7899
|
+
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7900
|
+
client.publishedAtV2Extend2(),
|
|
7901
|
+
packages
|
|
7902
|
+
);
|
|
7826
7903
|
const res = txb.moveCall({
|
|
7827
7904
|
target: `${publishedAt}::steamm_omm_v2::${func}`,
|
|
7828
7905
|
typeArguments: [
|
|
7829
|
-
path.extendedDetails.
|
|
7906
|
+
path.extendedDetails.steamm_lending_market_type,
|
|
7830
7907
|
coinAType,
|
|
7831
7908
|
coinBType,
|
|
7832
|
-
path.extendedDetails.
|
|
7833
|
-
path.extendedDetails.
|
|
7834
|
-
path.extendedDetails.
|
|
7909
|
+
path.extendedDetails.steamm_b_coin_a_type,
|
|
7910
|
+
path.extendedDetails.steamm_b_coin_b_type,
|
|
7911
|
+
path.extendedDetails.steamm_lp_token
|
|
7835
7912
|
],
|
|
7836
7913
|
arguments: args
|
|
7837
7914
|
});
|
|
@@ -7890,14 +7967,14 @@ var Sevenk = class {
|
|
|
7890
7967
|
if (path.extendedDetails == null) {
|
|
7891
7968
|
throw new Error("Extended details not supported haedal pmm");
|
|
7892
7969
|
} else {
|
|
7893
|
-
if (!path.extendedDetails.
|
|
7970
|
+
if (!path.extendedDetails.sevenk_coin_a_price_seed || !path.extendedDetails.sevenk_coin_b_price_seed || !path.extendedDetails.sevenk_oracle_config_a || !path.extendedDetails.sevenk_oracle_config_b || !path.extendedDetails.sevenk_lp_cap_type) {
|
|
7894
7971
|
throw new Error("Base price seed or quote price seed not supported");
|
|
7895
7972
|
}
|
|
7896
|
-
coinAPriceSeed = path.extendedDetails.
|
|
7897
|
-
coinBPriceSeed = path.extendedDetails.
|
|
7898
|
-
coinAOracleId = path.extendedDetails.
|
|
7899
|
-
coinBOracleId = path.extendedDetails.
|
|
7900
|
-
lpCapType = path.extendedDetails.
|
|
7973
|
+
coinAPriceSeed = path.extendedDetails.sevenk_coin_a_price_seed;
|
|
7974
|
+
coinBPriceSeed = path.extendedDetails.sevenk_coin_b_price_seed;
|
|
7975
|
+
coinAOracleId = path.extendedDetails.sevenk_oracle_config_a;
|
|
7976
|
+
coinBOracleId = path.extendedDetails.sevenk_oracle_config_b;
|
|
7977
|
+
lpCapType = path.extendedDetails.sevenk_lp_cap_type;
|
|
7901
7978
|
}
|
|
7902
7979
|
const coinAPriceInfoObjectId = this.pythPriceIDs.get(coinAPriceSeed);
|
|
7903
7980
|
const coinBPriceInfoObjectId = this.pythPriceIDs.get(coinBPriceSeed);
|
|
@@ -7931,11 +8008,7 @@ var Sevenk = class {
|
|
|
7931
8008
|
txb.object(CLOCK_ADDRESS)
|
|
7932
8009
|
]
|
|
7933
8010
|
});
|
|
7934
|
-
const args = [
|
|
7935
|
-
txb.object(path.id),
|
|
7936
|
-
holder,
|
|
7937
|
-
inputCoin
|
|
7938
|
-
];
|
|
8011
|
+
const args = [txb.object(path.id), holder, inputCoin];
|
|
7939
8012
|
const publishedAt = getAggregatorV2Extend2PublishedAt(
|
|
7940
8013
|
client.publishedAtV2Extend2(),
|
|
7941
8014
|
packages
|
|
@@ -7993,6 +8066,7 @@ var _AggregatorClient = class _AggregatorClient {
|
|
|
7993
8066
|
this.signer = params.signer || "";
|
|
7994
8067
|
this.env = params.env || 0 /* Mainnet */;
|
|
7995
8068
|
this.allCoins = /* @__PURE__ */ new Map();
|
|
8069
|
+
AggregatorConfig2.setEnv(this.env);
|
|
7996
8070
|
const config2 = _AggregatorClient.CONFIG[this.env];
|
|
7997
8071
|
this.pythConnections = this.newPythClients((_a = params.pythUrls) != null ? _a : []);
|
|
7998
8072
|
this.pythClient = new SuiPythClient(
|
|
@@ -8513,26 +8587,14 @@ var _AggregatorClient = class _AggregatorClient {
|
|
|
8513
8587
|
}
|
|
8514
8588
|
// Include cetus、deepbookv2、flowxv2 & v3、kriyav2 & v3、turbos、aftermath、haedal、afsui、volo、bluemove
|
|
8515
8589
|
publishedAtV2() {
|
|
8516
|
-
|
|
8517
|
-
return "0x8ae871505a80d8bf6bf9c05906cda6edfeea460c85bebe2e26a4313f5e67874a";
|
|
8518
|
-
} else {
|
|
8519
|
-
return "0x52eae33adeb44de55cfb3f281d4cc9e02d976181c0952f5323648b5717b33934";
|
|
8520
|
-
}
|
|
8590
|
+
return AggregatorConfig2.getPublishedAtV2(this.env);
|
|
8521
8591
|
}
|
|
8522
8592
|
// Include deepbookv3, scallop, bluefin
|
|
8523
8593
|
publishedAtV2Extend() {
|
|
8524
|
-
|
|
8525
|
-
return "0x8a2f7a5b20665eeccc79de3aa37c3b6c473eca233ada1e1cd4678ec07d4d4073";
|
|
8526
|
-
} else {
|
|
8527
|
-
return "0xabb6a81c8a216828e317719e06125de5bb2cb0fe8f9916ff8c023ca5be224c78";
|
|
8528
|
-
}
|
|
8594
|
+
return AggregatorConfig2.getPublishedAtV2Extend(this.env);
|
|
8529
8595
|
}
|
|
8530
8596
|
publishedAtV2Extend2() {
|
|
8531
|
-
|
|
8532
|
-
return "0x5cb7499fc49c2642310e24a4ecffdbee00133f97e80e2b45bca90c64d55de880";
|
|
8533
|
-
} else {
|
|
8534
|
-
return "0x0";
|
|
8535
|
-
}
|
|
8597
|
+
return AggregatorConfig2.getPublishedAtV2Extend2(this.env);
|
|
8536
8598
|
}
|
|
8537
8599
|
deepbookv3DeepFeeType() {
|
|
8538
8600
|
if (this.env === 0 /* Mainnet */) {
|
|
@@ -8737,50 +8799,44 @@ _AggregatorClient.CONFIG = {
|
|
|
8737
8799
|
pythStateId: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8"
|
|
8738
8800
|
}
|
|
8739
8801
|
};
|
|
8740
|
-
var
|
|
8802
|
+
var AggregatorClient = _AggregatorClient;
|
|
8741
8803
|
function findPythPriceIDs(routes) {
|
|
8742
8804
|
const priceIDs = /* @__PURE__ */ new Set();
|
|
8743
8805
|
for (const route of routes) {
|
|
8744
8806
|
for (const path of route.path) {
|
|
8745
8807
|
if (path.provider === HAEDALPMM2) {
|
|
8746
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8747
|
-
priceIDs.add(path.extendedDetails.
|
|
8748
|
-
priceIDs.add(path.extendedDetails.
|
|
8808
|
+
if (path.extendedDetails && path.extendedDetails.haedal_pmm_base_price_seed && path.extendedDetails.haedal_pmm_quote_price_seed) {
|
|
8809
|
+
priceIDs.add(path.extendedDetails.haedal_pmm_base_price_seed);
|
|
8810
|
+
priceIDs.add(path.extendedDetails.haedal_pmm_quote_price_seed);
|
|
8749
8811
|
}
|
|
8750
8812
|
}
|
|
8751
8813
|
if (path.provider === METASTABLE2) {
|
|
8752
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8753
|
-
priceIDs.add(path.extendedDetails.
|
|
8814
|
+
if (path.extendedDetails && path.extendedDetails.metastable_price_seed) {
|
|
8815
|
+
priceIDs.add(path.extendedDetails.metastable_price_seed);
|
|
8754
8816
|
}
|
|
8755
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8756
|
-
priceIDs.add(path.extendedDetails.
|
|
8817
|
+
if (path.extendedDetails && path.extendedDetails.metastable_eth_price_seed) {
|
|
8818
|
+
priceIDs.add(path.extendedDetails.metastable_eth_price_seed);
|
|
8757
8819
|
}
|
|
8758
8820
|
}
|
|
8759
8821
|
if (path.provider === OBRIC2) {
|
|
8760
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8761
|
-
priceIDs.add(path.extendedDetails.
|
|
8822
|
+
if (path.extendedDetails && path.extendedDetails.obric_coin_a_price_seed) {
|
|
8823
|
+
priceIDs.add(path.extendedDetails.obric_coin_a_price_seed);
|
|
8762
8824
|
}
|
|
8763
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8764
|
-
priceIDs.add(path.extendedDetails.
|
|
8825
|
+
if (path.extendedDetails && path.extendedDetails.obric_coin_b_price_seed) {
|
|
8826
|
+
priceIDs.add(path.extendedDetails.obric_coin_b_price_seed);
|
|
8765
8827
|
}
|
|
8766
8828
|
}
|
|
8767
8829
|
if (path.provider === STEAMM_OMM2 || path.provider === STEAMM_OMM_V22) {
|
|
8768
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8769
|
-
priceIDs.add(path.extendedDetails.
|
|
8830
|
+
if (path.extendedDetails && path.extendedDetails.steamm_oracle_pyth_price_seed_a) {
|
|
8831
|
+
priceIDs.add(path.extendedDetails.steamm_oracle_pyth_price_seed_a);
|
|
8770
8832
|
}
|
|
8771
|
-
if (path.extendedDetails && path.extendedDetails.
|
|
8772
|
-
priceIDs.add(path.extendedDetails.
|
|
8833
|
+
if (path.extendedDetails && path.extendedDetails.steamm_oracle_pyth_price_seed_b) {
|
|
8834
|
+
priceIDs.add(path.extendedDetails.steamm_oracle_pyth_price_seed_b);
|
|
8773
8835
|
}
|
|
8774
8836
|
}
|
|
8775
8837
|
if (path.provider === SEVENK2) {
|
|
8776
8838
|
if (path.extendedDetails) {
|
|
8777
8839
|
const extDetails = path.extendedDetails;
|
|
8778
|
-
if (extDetails.sevenkCoinAPriceSeed) {
|
|
8779
|
-
priceIDs.add(extDetails.sevenkCoinAPriceSeed);
|
|
8780
|
-
}
|
|
8781
|
-
if (extDetails.sevenkCoinBPriceSeed) {
|
|
8782
|
-
priceIDs.add(extDetails.sevenkCoinBPriceSeed);
|
|
8783
|
-
}
|
|
8784
8840
|
if (extDetails.sevenk_coin_a_price_seed) {
|
|
8785
8841
|
priceIDs.add(extDetails.sevenk_coin_a_price_seed);
|
|
8786
8842
|
}
|
|
@@ -8996,11 +9052,11 @@ var TurbosRouter = class {
|
|
|
8996
9052
|
if (path.extendedDetails == null) {
|
|
8997
9053
|
throw new Error("Extended details not supported");
|
|
8998
9054
|
} else {
|
|
8999
|
-
if (path.extendedDetails.
|
|
9055
|
+
if (path.extendedDetails.turbos_fee_type == null) {
|
|
9000
9056
|
throw new Error("Turbos fee type not supported");
|
|
9001
9057
|
}
|
|
9002
9058
|
}
|
|
9003
|
-
const feeType = path.extendedDetails.
|
|
9059
|
+
const feeType = path.extendedDetails.turbos_fee_type;
|
|
9004
9060
|
return {
|
|
9005
9061
|
coinAType,
|
|
9006
9062
|
coinBType,
|
|
@@ -9364,7 +9420,7 @@ var AftermathRouter = class {
|
|
|
9364
9420
|
return {
|
|
9365
9421
|
coinAType,
|
|
9366
9422
|
coinBType,
|
|
9367
|
-
feeType: ((_a = path.extendedDetails) == null ? void 0 : _a.
|
|
9423
|
+
feeType: ((_a = path.extendedDetails) == null ? void 0 : _a.aftermath_lp_supply_type) || ((_b = path.extendedDetails) == null ? void 0 : _b.aftermath_lp_supply_type) || "0x2::sui::SUI",
|
|
9368
9424
|
// Use LP supply type from path (handle both camelCase and snake_case)
|
|
9369
9425
|
direction: path.direction,
|
|
9370
9426
|
amountIn,
|
|
@@ -9494,7 +9550,7 @@ var ScallopRouter = class {
|
|
|
9494
9550
|
if (flattenedPath.path.publishedAt == null) {
|
|
9495
9551
|
throw new Error("Scallop not set publishedAt");
|
|
9496
9552
|
}
|
|
9497
|
-
const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.
|
|
9553
|
+
const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.from, path.target];
|
|
9498
9554
|
const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
|
|
9499
9555
|
if (path.extendedDetails == null) {
|
|
9500
9556
|
throw new Error("Extended details not supported");
|
|
@@ -9634,10 +9690,10 @@ var HaedalPmmRouter = class {
|
|
|
9634
9690
|
this.executeSwapContract(txb, swapData, swapContext);
|
|
9635
9691
|
}
|
|
9636
9692
|
validateExtendedDetails(extendedDetails) {
|
|
9637
|
-
if (!extendedDetails.
|
|
9693
|
+
if (!extendedDetails.haedal_pmm_base_price_seed) {
|
|
9638
9694
|
throw new Error("Haedal PMM base price seed not supported");
|
|
9639
9695
|
}
|
|
9640
|
-
if (!extendedDetails.
|
|
9696
|
+
if (!extendedDetails.haedal_pmm_quote_price_seed) {
|
|
9641
9697
|
throw new Error("Haedal PMM quote price seed not supported");
|
|
9642
9698
|
}
|
|
9643
9699
|
}
|
|
@@ -9649,8 +9705,8 @@ var HaedalPmmRouter = class {
|
|
|
9649
9705
|
const extendedDetails = path.extendedDetails;
|
|
9650
9706
|
const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.target, path.from];
|
|
9651
9707
|
const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
|
|
9652
|
-
const basePriceSeed = extendedDetails.
|
|
9653
|
-
const quotePriceSeed = extendedDetails.
|
|
9708
|
+
const basePriceSeed = extendedDetails.haedal_pmm_base_price_seed;
|
|
9709
|
+
const quotePriceSeed = extendedDetails.haedal_pmm_quote_price_seed;
|
|
9654
9710
|
const basePriceId = this.pythPriceIDs.get(basePriceSeed);
|
|
9655
9711
|
const quotePriceId = this.pythPriceIDs.get(quotePriceSeed);
|
|
9656
9712
|
if (!basePriceId || !quotePriceId) {
|
|
@@ -9903,8 +9959,8 @@ var SteammOmmRouter = class {
|
|
|
9903
9959
|
const { direction, from, target } = path;
|
|
9904
9960
|
const [func, coinAType, coinBType] = direction ? ["swap_a2b_v2", from, target] : ["swap_b2a_v2", target, from];
|
|
9905
9961
|
const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
|
|
9906
|
-
const priceSeedA = extendedDetails.
|
|
9907
|
-
const priceSeedB = extendedDetails.
|
|
9962
|
+
const priceSeedA = extendedDetails.steamm_oracle_pyth_price_seed_a;
|
|
9963
|
+
const priceSeedB = extendedDetails.steamm_oracle_pyth_price_seed_b;
|
|
9908
9964
|
if (!priceSeedA || !priceSeedB) {
|
|
9909
9965
|
throw new Error("Steamm oracle price seeds not found");
|
|
9910
9966
|
}
|
|
@@ -10022,8 +10078,8 @@ var SteammOmmV2Router = class {
|
|
|
10022
10078
|
const { direction, from, target } = path;
|
|
10023
10079
|
const [func, coinAType, coinBType] = direction ? ["swap_a2b", from, target] : ["swap_b2a", target, from];
|
|
10024
10080
|
const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
|
|
10025
|
-
const priceSeedA = extendedDetails.
|
|
10026
|
-
const priceSeedB = extendedDetails.
|
|
10081
|
+
const priceSeedA = extendedDetails.steamm_oracle_pyth_price_seed_a;
|
|
10082
|
+
const priceSeedB = extendedDetails.steamm_oracle_pyth_price_seed_b;
|
|
10027
10083
|
if (!priceSeedA || !priceSeedB) {
|
|
10028
10084
|
throw new Error("Steamm OMM V2 oracle price seeds not found");
|
|
10029
10085
|
}
|
|
@@ -10522,7 +10578,7 @@ function transfer_or_destroy_coin(params, txb) {
|
|
|
10522
10578
|
arguments: [coin]
|
|
10523
10579
|
});
|
|
10524
10580
|
}
|
|
10525
|
-
var AggregatorClientV3 = class extends
|
|
10581
|
+
var AggregatorClientV3 = class extends AggregatorClient {
|
|
10526
10582
|
constructor(params) {
|
|
10527
10583
|
var _a;
|
|
10528
10584
|
const v3Params = __spreadProps(__spreadValues({}, params), {
|
|
@@ -10939,13 +10995,144 @@ var AggregatorClientV3 = class extends AggregatorClient28 {
|
|
|
10939
10995
|
return this.fixableRouterSwapV3(params);
|
|
10940
10996
|
});
|
|
10941
10997
|
}
|
|
10998
|
+
swapInPools(params) {
|
|
10999
|
+
return __async(this, null, function* () {
|
|
11000
|
+
let result;
|
|
11001
|
+
try {
|
|
11002
|
+
result = yield this.swapInPoolsV3(params);
|
|
11003
|
+
} catch (e) {
|
|
11004
|
+
console.error("swapInPoolsV3 error:", e);
|
|
11005
|
+
return null;
|
|
11006
|
+
}
|
|
11007
|
+
return result;
|
|
11008
|
+
});
|
|
11009
|
+
}
|
|
11010
|
+
swapInPoolsV3(params) {
|
|
11011
|
+
return __async(this, null, function* () {
|
|
11012
|
+
var _a, _b, _c, _d, _e;
|
|
11013
|
+
const { from, target, amount, byAmountIn, pools } = params;
|
|
11014
|
+
const fromCoin = completionCoin(from);
|
|
11015
|
+
const targetCoin = completionCoin(target);
|
|
11016
|
+
const tx = new Transaction();
|
|
11017
|
+
const direction = compareCoins(fromCoin, targetCoin);
|
|
11018
|
+
const coinA = direction ? fromCoin : targetCoin;
|
|
11019
|
+
const coinB = direction ? targetCoin : fromCoin;
|
|
11020
|
+
const typeArguments = [coinA, coinB];
|
|
11021
|
+
const integratePublishedAt = this.env === 0 /* Mainnet */ ? "0xb2db7142fa83210a7d78d9c12ac49c043b3cbbd482224fea6e3da00aa5a5ae2d" : "0x4f920e1ef6318cfba77e20a0538a419a5a504c14230169438b99aba485db40a6";
|
|
11022
|
+
for (let i = 0; i < pools.length; i++) {
|
|
11023
|
+
const args = [
|
|
11024
|
+
tx.object(pools[i]),
|
|
11025
|
+
tx.pure.bool(direction),
|
|
11026
|
+
tx.pure.bool(byAmountIn),
|
|
11027
|
+
tx.pure.u64(amount.toString())
|
|
11028
|
+
];
|
|
11029
|
+
tx.moveCall({
|
|
11030
|
+
target: `${integratePublishedAt}::fetcher_script::calculate_swap_result`,
|
|
11031
|
+
arguments: args,
|
|
11032
|
+
typeArguments
|
|
11033
|
+
});
|
|
11034
|
+
}
|
|
11035
|
+
if (!this.signer) {
|
|
11036
|
+
this.signer = "0x0";
|
|
11037
|
+
}
|
|
11038
|
+
printTransaction(tx);
|
|
11039
|
+
const simulateRes = yield this.client.devInspectTransactionBlock({
|
|
11040
|
+
transactionBlock: tx,
|
|
11041
|
+
sender: this.signer
|
|
11042
|
+
});
|
|
11043
|
+
if (simulateRes.error != null) {
|
|
11044
|
+
console.log("simulateRes.error", simulateRes.error);
|
|
11045
|
+
throw new Error("Simulation error: " + simulateRes.error);
|
|
11046
|
+
}
|
|
11047
|
+
const valueData = (_a = simulateRes.events) == null ? void 0 : _a.filter((item) => {
|
|
11048
|
+
return item.type.includes("CalculatedSwapResultEvent");
|
|
11049
|
+
});
|
|
11050
|
+
if (valueData.length === 0 || valueData.length !== pools.length) {
|
|
11051
|
+
throw new Error("Simulate event result error");
|
|
11052
|
+
}
|
|
11053
|
+
let tempMaxAmount = byAmountIn ? new import_bn9.default(0) : new import_bn9.default(U64_MAX);
|
|
11054
|
+
let tempIndex = 0;
|
|
11055
|
+
for (let i = 0; i < valueData.length; i += 1) {
|
|
11056
|
+
if (valueData[i].parsedJson.data.is_exceed) {
|
|
11057
|
+
continue;
|
|
11058
|
+
}
|
|
11059
|
+
if (params.byAmountIn) {
|
|
11060
|
+
const amount2 = new import_bn9.default(valueData[i].parsedJson.data.amount_out);
|
|
11061
|
+
if (amount2.gt(tempMaxAmount)) {
|
|
11062
|
+
tempIndex = i;
|
|
11063
|
+
tempMaxAmount = amount2;
|
|
11064
|
+
}
|
|
11065
|
+
} else {
|
|
11066
|
+
const amount2 = new import_bn9.default(valueData[i].parsedJson.data.amount_out);
|
|
11067
|
+
if (amount2.lt(tempMaxAmount)) {
|
|
11068
|
+
tempIndex = i;
|
|
11069
|
+
tempMaxAmount = amount2;
|
|
11070
|
+
}
|
|
11071
|
+
}
|
|
11072
|
+
}
|
|
11073
|
+
const event = valueData[tempIndex].parsedJson.data;
|
|
11074
|
+
const currentSqrtPrice = event.step_results[0].current_sqrt_price;
|
|
11075
|
+
const [decimalA, decimalB] = yield Promise.all([
|
|
11076
|
+
this.client.getCoinMetadata({ coinType: coinA }).then((metadata) => metadata == null ? void 0 : metadata.decimals),
|
|
11077
|
+
this.client.getCoinMetadata({ coinType: coinB }).then((metadata) => metadata == null ? void 0 : metadata.decimals)
|
|
11078
|
+
]);
|
|
11079
|
+
if (decimalA == null || decimalB == null) {
|
|
11080
|
+
throw new Error("Cannot get coin decimals");
|
|
11081
|
+
}
|
|
11082
|
+
const sqrtPriceNum = new import_bn9.default(currentSqrtPrice);
|
|
11083
|
+
const price = sqrtPriceNum.mul(sqrtPriceNum).div(new import_bn9.default(2).pow(new import_bn9.default(128)));
|
|
11084
|
+
const priceScale = new import_bn9.default(10).pow(new import_bn9.default(decimalB - decimalA));
|
|
11085
|
+
const initialPriceNum = price.div(priceScale).toNumber();
|
|
11086
|
+
const initialPrice = new decimal_default(initialPriceNum);
|
|
11087
|
+
const feeRate = Number(event.fee_rate) / 1e6;
|
|
11088
|
+
const pureAmountIn = new import_bn9.default((_b = event.amount_in) != null ? _b : 0);
|
|
11089
|
+
const feeAmount = new import_bn9.default((_c = event.fee_amount) != null ? _c : 0);
|
|
11090
|
+
const amountIn = pureAmountIn.add(feeAmount);
|
|
11091
|
+
const routeData = {
|
|
11092
|
+
amountIn,
|
|
11093
|
+
amountOut: new import_bn9.default((_d = event.amount_out) != null ? _d : 0),
|
|
11094
|
+
routes: [
|
|
11095
|
+
{
|
|
11096
|
+
path: [
|
|
11097
|
+
{
|
|
11098
|
+
id: pools[tempIndex],
|
|
11099
|
+
direction,
|
|
11100
|
+
provider: CETUS,
|
|
11101
|
+
from: fromCoin,
|
|
11102
|
+
target: targetCoin,
|
|
11103
|
+
feeRate,
|
|
11104
|
+
amountIn: amountIn.toString(),
|
|
11105
|
+
amountOut: event.amount_out,
|
|
11106
|
+
publishedAt: CETUS_V3_PUBLISHED_AT,
|
|
11107
|
+
extendedDetails: {
|
|
11108
|
+
afterSqrtPrice: event.after_sqrt_price
|
|
11109
|
+
}
|
|
11110
|
+
}
|
|
11111
|
+
],
|
|
11112
|
+
amountIn,
|
|
11113
|
+
amountOut: new import_bn9.default((_e = event.amount_out) != null ? _e : 0),
|
|
11114
|
+
initialPrice
|
|
11115
|
+
}
|
|
11116
|
+
],
|
|
11117
|
+
insufficientLiquidity: false,
|
|
11118
|
+
byAmountIn: params.byAmountIn,
|
|
11119
|
+
quoteID: "cetus-pools-fallback",
|
|
11120
|
+
packages: /* @__PURE__ */ new Map([
|
|
11121
|
+
[
|
|
11122
|
+
PACKAGE_NAMES.AGGREGATOR_V3,
|
|
11123
|
+
AGGREGATOR_V3_CONFIG.DEFAULT_PUBLISHED_AT.Mainnet
|
|
11124
|
+
]
|
|
11125
|
+
])
|
|
11126
|
+
};
|
|
11127
|
+
const result = {
|
|
11128
|
+
isExceed: event.is_exceed,
|
|
11129
|
+
routeData
|
|
11130
|
+
};
|
|
11131
|
+
return result;
|
|
11132
|
+
});
|
|
11133
|
+
}
|
|
10942
11134
|
};
|
|
10943
11135
|
|
|
10944
|
-
// src/transaction/index.ts
|
|
10945
|
-
var AGGREGATOR_V2 = "aggregator_v2";
|
|
10946
|
-
var AGGREGATOR_V2_EXTEND = "aggregator_v2_extend";
|
|
10947
|
-
var AGGREGATOR_V2_EXTEND2 = "aggregator_v2_extend2";
|
|
10948
|
-
|
|
10949
11136
|
// src/types/sui.ts
|
|
10950
11137
|
var getDefaultSuiInputType = (value) => {
|
|
10951
11138
|
if (typeof value === "string" && value.startsWith("0x")) {
|
|
@@ -10971,4 +11158,4 @@ decimal.js/decimal.mjs:
|
|
|
10971
11158
|
*)
|
|
10972
11159
|
*/
|
|
10973
11160
|
|
|
10974
|
-
export { AFSUI, AFTERMATH, AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR,
|
|
11161
|
+
export { AFSUI, AFTERMATH, AFTERMATH_AMM, AFTERMATH_MODULE, AGGREGATOR, AGGREGATOR_V3_CONFIG, ALL_DEXES, ALPHAFI, AggregatorClient, AggregatorClientV3, AggregatorConfig, AggregatorError, AggregatorServerErrorCode, BLUEFIN, BLUEMOVE, CETUS, CETUS_DEX, CETUS_MODULE, CETUS_PUBLISHED_AT, CETUS_V3_PUBLISHED_AT, CHECK_COINS_THRESHOLD_FUNC, CLIENT_CONFIG, CLOCK_ADDRESS, CoinInfoAddress, CoinStoreAddress, CoinUtils, ConfigErrorCode, DEEPBOOKV2, DEEPBOOKV3, DEEPBOOK_CLOB_V2_MODULE, DEEPBOOK_CUSTODIAN_V2_MODULE, DEEPBOOK_DEX, DEEPBOOK_MODULE, DEEPBOOK_PACKAGE_ID, DEEPBOOK_PUBLISHED_AT, DEEPBOOK_V3_DEEP_FEE_TYPES, DEFAULT_AGG_V2_ENDPOINT, DEFAULT_AGG_V3_ENDPOINT, DEFAULT_GAS_BUDGET_FOR_MERGE, DEFAULT_GAS_BUDGET_FOR_SPLIT, DEFAULT_GAS_BUDGET_FOR_STAKE, DEFAULT_GAS_BUDGET_FOR_TRANSFER, DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI, DEFAULT_NFT_TRANSFER_GAS_FEE, Dex, Env, FLOWXV2, FLOWXV3, FLOWX_AMM, FLOWX_AMM_MODULE, FlashSwapA2BFunc, FlashSwapB2AFunc, FlashSwapFunc, FlashSwapWithPartnerA2BFunc, FlashSwapWithPartnerB2AFunc, FlashSwapWithPartnerFunc, GAS_SYMBOL, GAS_TYPE_ARG, GAS_TYPE_ARG_LONG, HAEDAL, HAEDALPMM, HAWAL, INTEGRATE, JOIN_FUNC, KRIYA, KRIYAV3, KRIYA_DEX, KRIYA_MODULE, MAGMA, 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, METASTABLE, MOMENTUM, OBRIC, ONE, PACKAGE_NAMES, PAY_MODULE, POOL_MODULT, PUBLISHED_ADDRESSES, PYTH_CONFIG, 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, SCALLOP, SEVENK, SPRINGSUI, STEAMM, STEAMM_OMM, STEAMM_OMM_V2, SUILEND, SUI_SYSTEM_STATE_OBJECT_ID, 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, TURBOS_DEX, TURBOS_MODULE, TURBOS_VERSIONED, TWO, TransactionErrorCode, TypesErrorCode, U128, U64_MAX, U64_MAX_BN, UTILS_MODULE, VOLO, ZERO, buildInputCoin, calculateGasEfficiency, calculatePriceImpact, checkInvalidSuiAddress, compareCoins, compareGasMetrics, completionCoin, composeType, createTarget, dealWithFastRouterSwapParamsForMsafe, exportToCSV, exportToJSON, extractAddressFromType, extractGasMetrics, extractStructTagFromType, extractTimestampFromDowngradeUuid6, fixSuiObjectId, formatGasMetrics, generateDowngradeUuid6, generateSimpleDowngradeUuid6, getAggregatorServerErrorMessage, getAggregatorV2Extend2PublishedAt, getAggregatorV2ExtendPublishedAt, getAggregatorV2PublishedAt, getDeepbookV3Config, getDefaultSuiInputType, getOrCreateAccountCap, getRouterResult, isSortedSymbols, isValidDowngradeUuid6, mintZeroCoin, normalizeCoinType, parseAftermathFeeType, parseTurbosPoolFeeType, patchFixSuiObjectId, printTransaction, processEndpoint, restituteMsafeFastRouterSwapParams, sortAndFlattenRoutes, swapInPools };
|