@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.js CHANGED
@@ -4995,36 +4995,36 @@ var Env = /* @__PURE__ */ ((Env2) => {
4995
4995
  Env2[Env2["Testnet"] = 1] = "Testnet";
4996
4996
  return Env2;
4997
4997
  })(Env || {});
4998
- var Dex = /* @__PURE__ */ ((Dex29) => {
4999
- Dex29["CETUS"] = "CETUS";
5000
- Dex29["KRIYA"] = "KRIYA";
5001
- Dex29["FLOWX"] = "FLOWX";
5002
- Dex29["TURBOS"] = "TURBOS";
5003
- Dex29["AFTERMATH"] = "AFTERMATH";
5004
- Dex29["DEEPBOOK"] = "DEEPBOOK";
5005
- Dex29["DEEPBOOKV3"] = "DEEPBOOKV3";
5006
- Dex29["BLUEMOVE"] = "BLUEMOVE";
5007
- Dex29["BLUEFIN"] = "BLUEFIN";
5008
- Dex29["MOMENTUM"] = "MOMENTUM";
5009
- Dex29["MAGMA"] = "MAGMA";
5010
- Dex29["SCALLOP"] = "SCALLOP";
5011
- Dex29["STEAMM"] = "STEAMM";
5012
- Dex29["KRIYAV3"] = "KRIYAV3";
5013
- Dex29["FLOWXV3"] = "FLOWXV3";
5014
- Dex29["SUILEND"] = "SUILEND";
5015
- Dex29["SPRINGSUI"] = "SPRINGSUI";
5016
- Dex29["HAEDALPMM"] = "HAEDALPMM";
5017
- Dex29["OBRIC"] = "OBRIC";
5018
- Dex29["SEVENK"] = "SEVENK";
5019
- Dex29["STEAMM_OMM"] = "STEAMM_OMM";
5020
- Dex29["STEAMM_OMM_V2"] = "STEAMM_OMM_V2";
5021
- Dex29["METASTABLE"] = "METASTABLE";
5022
- Dex29["ALPHAFI"] = "ALPHAFI";
5023
- Dex29["VOLO"] = "VOLO";
5024
- Dex29["AFSUI"] = "AFSUI";
5025
- Dex29["HAEDAL"] = "HAEDAL";
5026
- Dex29["HAWAL"] = "HAWAL";
5027
- return Dex29;
4998
+ var Dex = /* @__PURE__ */ ((Dex2) => {
4999
+ Dex2["CETUS"] = "CETUS";
5000
+ Dex2["KRIYA"] = "KRIYA";
5001
+ Dex2["FLOWX"] = "FLOWX";
5002
+ Dex2["TURBOS"] = "TURBOS";
5003
+ Dex2["AFTERMATH"] = "AFTERMATH";
5004
+ Dex2["DEEPBOOK"] = "DEEPBOOK";
5005
+ Dex2["DEEPBOOKV3"] = "DEEPBOOKV3";
5006
+ Dex2["BLUEMOVE"] = "BLUEMOVE";
5007
+ Dex2["BLUEFIN"] = "BLUEFIN";
5008
+ Dex2["MOMENTUM"] = "MOMENTUM";
5009
+ Dex2["MAGMA"] = "MAGMA";
5010
+ Dex2["SCALLOP"] = "SCALLOP";
5011
+ Dex2["STEAMM"] = "STEAMM";
5012
+ Dex2["KRIYAV3"] = "KRIYAV3";
5013
+ Dex2["FLOWXV3"] = "FLOWXV3";
5014
+ Dex2["SUILEND"] = "SUILEND";
5015
+ Dex2["SPRINGSUI"] = "SPRINGSUI";
5016
+ Dex2["HAEDALPMM"] = "HAEDALPMM";
5017
+ Dex2["OBRIC"] = "OBRIC";
5018
+ Dex2["SEVENK"] = "SEVENK";
5019
+ Dex2["STEAMM_OMM"] = "STEAMM_OMM";
5020
+ Dex2["STEAMM_OMM_V2"] = "STEAMM_OMM_V2";
5021
+ Dex2["METASTABLE"] = "METASTABLE";
5022
+ Dex2["ALPHAFI"] = "ALPHAFI";
5023
+ Dex2["VOLO"] = "VOLO";
5024
+ Dex2["AFSUI"] = "AFSUI";
5025
+ Dex2["HAEDAL"] = "HAEDAL";
5026
+ Dex2["HAWAL"] = "HAWAL";
5027
+ return Dex2;
5028
5028
  })(Dex || {});
5029
5029
  var AggregatorConfig = class {
5030
5030
  constructor(endpoint, fullNodeUrl, signer, packages, env) {
@@ -5191,6 +5191,7 @@ var SuiZeroCoinFn = "0x2::coin::zero";
5191
5191
  var DEEPBOOK_PACKAGE_ID = "0x000000000000000000000000000000000000000000000000000000000000dee9";
5192
5192
  var DEEPBOOK_PUBLISHED_AT = "0x000000000000000000000000000000000000000000000000000000000000dee9";
5193
5193
  var CETUS_PUBLISHED_AT = "0x70968826ad1b4ba895753f634b0aea68d0672908ca1075a2abdf0fc9e0b2fc6a";
5194
+ var CETUS_V3_PUBLISHED_AT = "0xb85d33ef69a8308f7b1ae341e48bd8817476c144f14344d3ce612c16480d16f2";
5194
5195
  var MAINNET_CETUS_GLOBAL_CONFIG_ID = "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f";
5195
5196
  var TESTNET_CETUS_GLOBAL_CONFIG_ID = "0x6f4149091a5aea0e818e7243a13adcfb403842d670b9a2089de058512620687a";
5196
5197
  var MAINNET_FLOWX_AMM_CONTAINER_ID = "0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511";
@@ -6448,7 +6449,7 @@ function sortAndFlattenRoutes(routerData) {
6448
6449
  lastOccurrenceIndex.set(from, i);
6449
6450
  }
6450
6451
  }
6451
- for (const [tokenType, lastIndex] of lastOccurrenceIndex) {
6452
+ for (const [_tokenType, lastIndex] of lastOccurrenceIndex) {
6452
6453
  flattenedPaths[lastIndex].isLastUseOfIntermediateToken = true;
6453
6454
  }
6454
6455
  return {
@@ -6514,6 +6515,44 @@ function topologicalSortKahn(dependencies) {
6514
6515
  return result;
6515
6516
  }
6516
6517
 
6518
+ // src/utils/aggregator-config.ts
6519
+ var AggregatorConfig2 = class {
6520
+ static setEnv(env) {
6521
+ this.currentEnv = env;
6522
+ }
6523
+ static getEnv() {
6524
+ return this.currentEnv;
6525
+ }
6526
+ static getPublishedAtV2(env) {
6527
+ const targetEnv = env != null ? env : this.currentEnv;
6528
+ return this.publishedAtV2Map.get(targetEnv) || "";
6529
+ }
6530
+ static getPublishedAtV2Extend(env) {
6531
+ const targetEnv = env != null ? env : this.currentEnv;
6532
+ return this.publishedAtV2ExtendMap.get(targetEnv) || "";
6533
+ }
6534
+ static getPublishedAtV2Extend2(env) {
6535
+ const targetEnv = env != null ? env : this.currentEnv;
6536
+ return this.publishedAtV2Extend2Map.get(targetEnv) || "";
6537
+ }
6538
+ };
6539
+ AggregatorConfig2.publishedAtV2Map = /* @__PURE__ */ new Map([
6540
+ [0 /* Mainnet */, "0x8ae871505a80d8bf6bf9c05906cda6edfeea460c85bebe2e26a4313f5e67874a"],
6541
+ // version 12
6542
+ [1 /* Testnet */, "0x52eae33adeb44de55cfb3f281d4cc9e02d976181c0952f5323648b5717b33934"]
6543
+ ]);
6544
+ AggregatorConfig2.publishedAtV2ExtendMap = /* @__PURE__ */ new Map([
6545
+ [0 /* Mainnet */, "0x8a2f7a5b20665eeccc79de3aa37c3b6c473eca233ada1e1cd4678ec07d4d4073"],
6546
+ // version 17
6547
+ [1 /* Testnet */, "0xabb6a81c8a216828e317719e06125de5bb2cb0fe8f9916ff8c023ca5be224c78"]
6548
+ ]);
6549
+ AggregatorConfig2.publishedAtV2Extend2Map = /* @__PURE__ */ new Map([
6550
+ [0 /* Mainnet */, "0x5cb7499fc49c2642310e24a4ecffdbee00133f97e80e2b45bca90c64d55de880"],
6551
+ // version 8
6552
+ [1 /* Testnet */, "0x0"]
6553
+ ]);
6554
+ AggregatorConfig2.currentEnv = 0 /* Mainnet */;
6555
+
6517
6556
  // src/transaction/aftermath.ts
6518
6557
  var import_bn5 = __toESM(require_bn());
6519
6558
  var Aftermath = class {
@@ -6538,7 +6577,7 @@ var Aftermath = class {
6538
6577
  if (path.extendedDetails == null) {
6539
6578
  throw new Error("Extended details not supported");
6540
6579
  } else {
6541
- if (path.extendedDetails.aftermathLpSupplyType == null) {
6580
+ if (path.extendedDetails.aftermath_lp_supply_type == null) {
6542
6581
  throw new Error("LP supply type not supported");
6543
6582
  }
6544
6583
  }
@@ -6553,13 +6592,16 @@ var Aftermath = class {
6553
6592
  txb.pure.u64(this.slippage),
6554
6593
  inputCoin
6555
6594
  ];
6556
- const publishedAt = getAggregatorV2PublishedAt(client.publishedAtV2(), packages);
6595
+ const publishedAt = getAggregatorV2PublishedAt(
6596
+ AggregatorConfig2.getPublishedAtV2(),
6597
+ packages
6598
+ );
6557
6599
  const res = txb.moveCall({
6558
6600
  target: `${publishedAt}::aftermath::${func}`,
6559
6601
  typeArguments: [
6560
6602
  coinAType,
6561
6603
  coinBType,
6562
- path.extendedDetails.aftermathLpSupplyType
6604
+ path.extendedDetails.aftermath_lp_supply_type
6563
6605
  ],
6564
6606
  arguments: args
6565
6607
  });
@@ -6777,7 +6819,7 @@ var Turbos = class {
6777
6819
  if (path.extendedDetails == null) {
6778
6820
  throw new Error("Extended details not supported");
6779
6821
  } else {
6780
- if (path.extendedDetails.turbosFeeType == null) {
6822
+ if (path.extendedDetails.turbos_fee_type == null) {
6781
6823
  throw new Error("Turbos fee type not supported");
6782
6824
  }
6783
6825
  }
@@ -6787,10 +6829,17 @@ var Turbos = class {
6787
6829
  txb.object(CLOCK_ADDRESS),
6788
6830
  txb.object(this.versioned)
6789
6831
  ];
6790
- const publishedAt = getAggregatorV2PublishedAt(client.publishedAtV2(), packages);
6832
+ const publishedAt = getAggregatorV2PublishedAt(
6833
+ client.publishedAtV2(),
6834
+ packages
6835
+ );
6791
6836
  const res = txb.moveCall({
6792
6837
  target: `${publishedAt}::turbos::${func}`,
6793
- typeArguments: [coinAType, coinBType, path.extendedDetails.turbosFeeType],
6838
+ typeArguments: [
6839
+ coinAType,
6840
+ coinBType,
6841
+ path.extendedDetails.turbos_fee_type
6842
+ ],
6794
6843
  arguments: args
6795
6844
  });
6796
6845
  return res;
@@ -7277,11 +7326,11 @@ var HaedalPmm = class {
7277
7326
  if (path.extendedDetails == null) {
7278
7327
  throw new Error("Extended details not supported haedal pmm");
7279
7328
  } else {
7280
- if (!path.extendedDetails.haedalPmmBasePriceSeed || !path.extendedDetails.haedalPmmQuotePriceSeed) {
7329
+ if (!path.extendedDetails.haedal_pmm_base_price_seed || !path.extendedDetails.haedal_pmm_quote_price_seed) {
7281
7330
  throw new Error("Base price seed or quote price seed not supported");
7282
7331
  }
7283
- basePriceSeed = path.extendedDetails.haedalPmmBasePriceSeed;
7284
- quotePriceSeed = path.extendedDetails.haedalPmmQuotePriceSeed;
7332
+ basePriceSeed = path.extendedDetails.haedal_pmm_base_price_seed;
7333
+ quotePriceSeed = path.extendedDetails.haedal_pmm_quote_price_seed;
7285
7334
  }
7286
7335
  const basePriceInfoObjectId = this.pythPriceIDs.get(basePriceSeed);
7287
7336
  const quotePriceInfoObjectId = this.pythPriceIDs.get(quotePriceSeed);
@@ -7352,46 +7401,49 @@ var SteammCPMM = class {
7352
7401
  if (path.extendedDetails == null) {
7353
7402
  throw new Error("Extended details not supported");
7354
7403
  } else {
7355
- if (path.extendedDetails.steammBankA == null) {
7404
+ if (path.extendedDetails.steamm_bank_a == null) {
7356
7405
  throw new Error("Steamm bank a type not supported");
7357
7406
  }
7358
- if (path.extendedDetails.steammBankB == null) {
7407
+ if (path.extendedDetails.steamm_bank_b == null) {
7359
7408
  throw new Error("Steamm bank b type not supported");
7360
7409
  }
7361
- if (path.extendedDetails.steammLendingMarket == null) {
7410
+ if (path.extendedDetails.steamm_lending_market == null) {
7362
7411
  throw new Error("Steamm lending market not supported");
7363
7412
  }
7364
- if (path.extendedDetails.steammLendingMarketType == null) {
7413
+ if (path.extendedDetails.steamm_lending_market_type == null) {
7365
7414
  throw new Error("Steamm lending market type not supported");
7366
7415
  }
7367
- if (path.extendedDetails.steammBCoinAType == null) {
7416
+ if (path.extendedDetails.steamm_b_coin_a_type == null) {
7368
7417
  throw new Error("Steamm b coin a type not supported");
7369
7418
  }
7370
- if (path.extendedDetails.steammBCoinBType == null) {
7419
+ if (path.extendedDetails.steamm_b_coin_b_type == null) {
7371
7420
  throw new Error("Steamm b coin b type not supported");
7372
7421
  }
7373
- if (path.extendedDetails.steammLPToken == null) {
7422
+ if (path.extendedDetails.steamm_lp_token == null) {
7374
7423
  throw new Error("Steamm lp token not supported");
7375
7424
  }
7376
7425
  }
7377
7426
  const args = [
7378
7427
  txb.object(path.id),
7379
- txb.object(path.extendedDetails.steammBankA),
7380
- txb.object(path.extendedDetails.steammBankB),
7381
- txb.object(path.extendedDetails.steammLendingMarket),
7428
+ txb.object(path.extendedDetails.steamm_bank_a),
7429
+ txb.object(path.extendedDetails.steamm_bank_b),
7430
+ txb.object(path.extendedDetails.steamm_lending_market),
7382
7431
  inputCoin,
7383
7432
  txb.object(CLOCK_ADDRESS)
7384
7433
  ];
7385
- const publishedAt = getAggregatorV2Extend2PublishedAt(client.publishedAtV2Extend2(), packages);
7434
+ const publishedAt = getAggregatorV2Extend2PublishedAt(
7435
+ client.publishedAtV2Extend2(),
7436
+ packages
7437
+ );
7386
7438
  const res = txb.moveCall({
7387
7439
  target: `${publishedAt}::steamm_cpmm::${func}`,
7388
7440
  typeArguments: [
7389
- path.extendedDetails.steammLendingMarketType,
7441
+ path.extendedDetails.steamm_lending_market_type,
7390
7442
  coinAType,
7391
7443
  coinBType,
7392
- path.extendedDetails.steammBCoinAType,
7393
- path.extendedDetails.steammBCoinBType,
7394
- path.extendedDetails.steammLPToken
7444
+ path.extendedDetails.steamm_b_coin_a_type,
7445
+ path.extendedDetails.steamm_b_coin_b_type,
7446
+ path.extendedDetails.steamm_lp_token
7395
7447
  ],
7396
7448
  arguments: args
7397
7449
  });
@@ -7415,58 +7467,60 @@ var SteammOmm = class {
7415
7467
  if (path.extendedDetails == null) {
7416
7468
  throw new Error("Extended details not supported");
7417
7469
  } else {
7418
- if (path.extendedDetails.steammBankA == null) {
7470
+ if (path.extendedDetails.steamm_bank_a == null) {
7419
7471
  throw new Error("Steamm bank a type not supported");
7420
7472
  }
7421
- if (path.extendedDetails.steammBankB == null) {
7473
+ if (path.extendedDetails.steamm_bank_b == null) {
7422
7474
  throw new Error("Steamm bank b type not supported");
7423
7475
  }
7424
- if (path.extendedDetails.steammLendingMarket == null) {
7476
+ if (path.extendedDetails.steamm_lending_market == null) {
7425
7477
  throw new Error("Steamm lending market not supported");
7426
7478
  }
7427
- if (path.extendedDetails.steammLendingMarketType == null) {
7479
+ if (path.extendedDetails.steamm_lending_market_type == null) {
7428
7480
  throw new Error("Steamm lending market type not supported");
7429
7481
  }
7430
- if (path.extendedDetails.steammBCoinAType == null) {
7482
+ if (path.extendedDetails.steamm_b_coin_a_type == null) {
7431
7483
  throw new Error("Steamm b coin a type not supported");
7432
7484
  }
7433
- if (path.extendedDetails.steammBCoinBType == null) {
7485
+ if (path.extendedDetails.steamm_b_coin_b_type == null) {
7434
7486
  throw new Error("Steamm b coin b type not supported");
7435
7487
  }
7436
- if (path.extendedDetails.steammLPToken == null) {
7488
+ if (path.extendedDetails.steamm_lp_token == null) {
7437
7489
  throw new Error("Steamm lp token not supported");
7438
7490
  }
7439
- if (path.extendedDetails.steammOracleRegistryId == null) {
7491
+ if (path.extendedDetails.steamm_oracle_registry_id == null) {
7440
7492
  throw new Error("Steamm oracle registry id not supported");
7441
7493
  }
7442
- if (path.extendedDetails.steammOracleIndexA == null) {
7494
+ if (path.extendedDetails.steamm_oracle_index_a == null) {
7443
7495
  throw new Error("Steamm oracle index a not supported");
7444
7496
  }
7445
- if (path.extendedDetails.steammOracleIndexB == null) {
7497
+ if (path.extendedDetails.steamm_oracle_index_b == null) {
7446
7498
  throw new Error("Steamm oracle index b not supported");
7447
7499
  }
7448
- if (path.extendedDetails.steammOraclePythPriceSeedA == null) {
7500
+ if (path.extendedDetails.steamm_oracle_pyth_price_seed_a == null) {
7449
7501
  throw new Error("Steamm oracle pyth price seed a not supported");
7450
7502
  }
7451
- if (path.extendedDetails.steammOraclePythPriceSeedB == null) {
7503
+ if (path.extendedDetails.steamm_oracle_pyth_price_seed_b == null) {
7452
7504
  throw new Error("Steamm oracle pyth price seed b not supported");
7453
7505
  }
7454
7506
  }
7455
7507
  const [func, coinAType, coinBType] = direction ? ["swap_a2b_v2", from, target] : ["swap_b2a_v2", target, from];
7456
- const priceSeedA = path.extendedDetails.steammOraclePythPriceSeedA;
7457
- const priceSeedB = path.extendedDetails.steammOraclePythPriceSeedB;
7508
+ const priceSeedA = path.extendedDetails.steamm_oracle_pyth_price_seed_a;
7509
+ const priceSeedB = path.extendedDetails.steamm_oracle_pyth_price_seed_b;
7458
7510
  const priceInfoObjectIdA = this.pythPriceIDs.get(priceSeedA);
7459
7511
  const priceInfoObjectIdB = this.pythPriceIDs.get(priceSeedB);
7460
7512
  if (!priceInfoObjectIdA || !priceInfoObjectIdB) {
7461
- throw new Error("Base price info object id or quote price info object id not found");
7513
+ throw new Error(
7514
+ "Base price info object id or quote price info object id not found"
7515
+ );
7462
7516
  }
7463
7517
  const oraclePriceUpdateA = txb.moveCall({
7464
7518
  target: `${this.oraclePackageId}::oracles::get_pyth_price`,
7465
7519
  typeArguments: [],
7466
7520
  arguments: [
7467
- txb.object(path.extendedDetails.steammOracleRegistryId),
7521
+ txb.object(path.extendedDetails.steamm_oracle_registry_id),
7468
7522
  txb.object(priceInfoObjectIdA),
7469
- txb.pure.u64(path.extendedDetails.steammOracleIndexA),
7523
+ txb.pure.u64(path.extendedDetails.steamm_oracle_index_a),
7470
7524
  txb.object(CLOCK_ADDRESS)
7471
7525
  ]
7472
7526
  });
@@ -7474,32 +7528,35 @@ var SteammOmm = class {
7474
7528
  target: `${this.oraclePackageId}::oracles::get_pyth_price`,
7475
7529
  typeArguments: [],
7476
7530
  arguments: [
7477
- txb.object(path.extendedDetails.steammOracleRegistryId),
7531
+ txb.object(path.extendedDetails.steamm_oracle_registry_id),
7478
7532
  txb.object(priceInfoObjectIdB),
7479
- txb.pure.u64(path.extendedDetails.steammOracleIndexB),
7533
+ txb.pure.u64(path.extendedDetails.steamm_oracle_index_b),
7480
7534
  txb.object(CLOCK_ADDRESS)
7481
7535
  ]
7482
7536
  });
7483
7537
  const args = [
7484
7538
  txb.object(path.id),
7485
- txb.object(path.extendedDetails.steammBankA),
7486
- txb.object(path.extendedDetails.steammBankB),
7487
- txb.object(path.extendedDetails.steammLendingMarket),
7539
+ txb.object(path.extendedDetails.steamm_bank_a),
7540
+ txb.object(path.extendedDetails.steamm_bank_b),
7541
+ txb.object(path.extendedDetails.steamm_lending_market),
7488
7542
  oraclePriceUpdateA,
7489
7543
  oraclePriceUpdateB,
7490
7544
  inputCoin,
7491
7545
  txb.object(CLOCK_ADDRESS)
7492
7546
  ];
7493
- const publishedAt = getAggregatorV2Extend2PublishedAt(client.publishedAtV2Extend2(), packages);
7547
+ const publishedAt = getAggregatorV2Extend2PublishedAt(
7548
+ client.publishedAtV2Extend2(),
7549
+ packages
7550
+ );
7494
7551
  const res = txb.moveCall({
7495
7552
  target: `${publishedAt}::steamm_omm::${func}`,
7496
7553
  typeArguments: [
7497
- path.extendedDetails.steammLendingMarketType,
7554
+ path.extendedDetails.steamm_lending_market_type,
7498
7555
  coinAType,
7499
7556
  coinBType,
7500
- path.extendedDetails.steammBCoinAType,
7501
- path.extendedDetails.steammBCoinBType,
7502
- path.extendedDetails.steammLPToken
7557
+ path.extendedDetails.steamm_b_coin_a_type,
7558
+ path.extendedDetails.steamm_b_coin_b_type,
7559
+ path.extendedDetails.steamm_lp_token
7503
7560
  ],
7504
7561
  arguments: args
7505
7562
  });
@@ -7530,43 +7587,50 @@ var Metastable = class {
7530
7587
  if (path.extendedDetails == null) {
7531
7588
  throw new Error("Extended details not supported metastable");
7532
7589
  } else {
7533
- if (!path.extendedDetails.metastableCreateCapPkgId || !path.extendedDetails.metastableCreateCapModule || !path.extendedDetails.metastableRegistryId || !path.extendedDetails.metastableWhitelistedAppId) {
7534
- throw new Error("CreateCapPkgId or CreateCapModule or RegistryId or WhitelistedAppId or CreateCapAllTypeParams not supported");
7590
+ 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) {
7591
+ throw new Error(
7592
+ "CreateCapPkgId or CreateCapModule or RegistryId or WhitelistedAppId or CreateCapAllTypeParams not supported"
7593
+ );
7535
7594
  }
7536
- createExchangePkgId = path.extendedDetails.metastableCreateCapPkgId;
7537
- createDepositModule = path.extendedDetails.metastableCreateCapModule;
7538
- metaSingletonId = path.extendedDetails.metastableWhitelistedAppId;
7595
+ createExchangePkgId = path.extendedDetails.metastable_create_cap_pkg_id;
7596
+ createDepositModule = path.extendedDetails.metastable_create_cap_module;
7597
+ metaSingletonId = path.extendedDetails.metastable_whitelisted_app_id;
7539
7598
  }
7540
- const createDepositCapTypeArgs = [
7541
- metaCoinType
7542
- ];
7543
- if (path.extendedDetails.metastableCreateCapAllTypeParams) {
7599
+ const createDepositCapTypeArgs = [metaCoinType];
7600
+ if (path.extendedDetails.metastable_create_cap_all_type_params) {
7544
7601
  createDepositCapTypeArgs.push(coinType);
7545
7602
  }
7546
- const depositArgs = [
7547
- txb.object(metaSingletonId),
7548
- txb.object(path.id)
7549
- ];
7603
+ const depositArgs = [txb.object(metaSingletonId), txb.object(path.id)];
7550
7604
  switch (metaCoinType) {
7551
7605
  case SUPER_SUI_TYPE: {
7552
- if (!path.extendedDetails.metastableRegistryId) {
7606
+ if (!path.extendedDetails.metastable_registry_id) {
7553
7607
  throw new Error("Not found registry id for super sui");
7554
7608
  }
7555
- depositArgs.push(txb.object(path.extendedDetails.metastableRegistryId));
7609
+ depositArgs.push(
7610
+ txb.object(path.extendedDetails.metastable_registry_id)
7611
+ );
7556
7612
  break;
7557
7613
  }
7558
7614
  case MUSD_TYPE: {
7559
- if (path.extendedDetails.metastablePriceSeed != null) {
7560
- const priceId = this.pythPriceIDs.get(path.extendedDetails.metastablePriceSeed);
7615
+ if (path.extendedDetails.metastable_price_seed != null) {
7616
+ const priceId = this.pythPriceIDs.get(
7617
+ path.extendedDetails.metastable_price_seed
7618
+ );
7561
7619
  if (priceId == null) {
7562
- throw new Error("Invalid Pyth price feed: " + path.extendedDetails.metastablePriceSeed);
7620
+ throw new Error(
7621
+ "Invalid Pyth price feed: " + path.extendedDetails.metastable_price_seed
7622
+ );
7563
7623
  }
7564
7624
  depositArgs.push(txb.object(priceId));
7565
7625
  }
7566
- if (path.extendedDetails.metastableETHPriceSeed != null) {
7567
- const priceId = this.pythPriceIDs.get(path.extendedDetails.metastableETHPriceSeed);
7626
+ if (path.extendedDetails.metastable_eth_price_seed != null) {
7627
+ const priceId = this.pythPriceIDs.get(
7628
+ path.extendedDetails.metastable_eth_price_seed
7629
+ );
7568
7630
  if (priceId == null) {
7569
- throw new Error("Invalid Pyth price feed: " + path.extendedDetails.metastableETHPriceSeed);
7631
+ throw new Error(
7632
+ "Invalid Pyth price feed: " + path.extendedDetails.metastable_eth_price_seed
7633
+ );
7570
7634
  }
7571
7635
  depositArgs.push(txb.object(priceId));
7572
7636
  }
@@ -7574,17 +7638,25 @@ var Metastable = class {
7574
7638
  break;
7575
7639
  }
7576
7640
  case METH_TYPE: {
7577
- if (path.extendedDetails.metastablePriceSeed != null) {
7578
- const priceId = this.pythPriceIDs.get(path.extendedDetails.metastablePriceSeed);
7641
+ if (path.extendedDetails.metastable_price_seed != null) {
7642
+ const priceId = this.pythPriceIDs.get(
7643
+ path.extendedDetails.metastable_price_seed
7644
+ );
7579
7645
  if (priceId == null) {
7580
- throw new Error("Invalid Pyth price feed: " + path.extendedDetails.metastablePriceSeed);
7646
+ throw new Error(
7647
+ "Invalid Pyth price feed: " + path.extendedDetails.metastable_price_seed
7648
+ );
7581
7649
  }
7582
7650
  depositArgs.push(txb.object(priceId));
7583
7651
  }
7584
- if (path.extendedDetails.metastableETHPriceSeed != null) {
7585
- const priceId = this.pythPriceIDs.get(path.extendedDetails.metastableETHPriceSeed);
7652
+ if (path.extendedDetails.metastable_eth_price_seed != null) {
7653
+ const priceId = this.pythPriceIDs.get(
7654
+ path.extendedDetails.metastable_eth_price_seed
7655
+ );
7586
7656
  if (priceId == null) {
7587
- throw new Error("Invalid Pyth price feed: " + path.extendedDetails.metastableETHPriceSeed);
7657
+ throw new Error(
7658
+ "Invalid Pyth price feed: " + path.extendedDetails.metastable_eth_price_seed
7659
+ );
7588
7660
  }
7589
7661
  depositArgs.push(txb.object(priceId));
7590
7662
  }
@@ -7605,13 +7677,13 @@ var Metastable = class {
7605
7677
  depositResult,
7606
7678
  inputCoin
7607
7679
  ];
7608
- const publishedAt = getAggregatorV2ExtendPublishedAt(client.publishedAtV2Extend(), packages);
7680
+ const publishedAt = getAggregatorV2ExtendPublishedAt(
7681
+ client.publishedAtV2Extend(),
7682
+ packages
7683
+ );
7609
7684
  const res = txb.moveCall({
7610
7685
  target: `${publishedAt}::metastable::${func}`,
7611
- typeArguments: [
7612
- coinType,
7613
- metaCoinType
7614
- ],
7686
+ typeArguments: [coinType, metaCoinType],
7615
7687
  arguments: swapArgs
7616
7688
  });
7617
7689
  return res;
@@ -7639,17 +7711,17 @@ var Obric = class {
7639
7711
  if (path.extendedDetails == null) {
7640
7712
  throw new Error("Extended details not supported in obric");
7641
7713
  } else {
7642
- if (path.extendedDetails.obricCoinAPriceSeed && path.extendedDetails.obricCoinBPriceSeed) {
7643
- coinAPriceSeed = path.extendedDetails.obricCoinAPriceSeed;
7714
+ if (path.extendedDetails.obric_coin_a_price_seed && path.extendedDetails.obric_coin_b_price_seed) {
7715
+ coinAPriceSeed = path.extendedDetails.obric_coin_a_price_seed;
7644
7716
  coinAPriceInfoObjectId = this.pythPriceIDs.get(coinAPriceSeed);
7645
- coinBPriceSeed = path.extendedDetails.obricCoinBPriceSeed;
7717
+ coinBPriceSeed = path.extendedDetails.obric_coin_b_price_seed;
7646
7718
  coinBPriceInfoObjectId = this.pythPriceIDs.get(coinBPriceSeed);
7647
7719
  } else {
7648
- if (!path.extendedDetails.obricCoinAPriceId || !path.extendedDetails.obricCoinBPriceId) {
7720
+ if (!path.extendedDetails.obric_coin_a_price_id || !path.extendedDetails.obric_coin_b_price_id) {
7649
7721
  throw new Error("Base price id or quote price id not supported");
7650
7722
  } else {
7651
- coinAPriceInfoObjectId = path.extendedDetails.obricCoinAPriceId;
7652
- coinBPriceInfoObjectId = path.extendedDetails.obricCoinBPriceId;
7723
+ coinAPriceInfoObjectId = path.extendedDetails.obric_coin_a_price_id;
7724
+ coinBPriceInfoObjectId = path.extendedDetails.obric_coin_b_price_id;
7653
7725
  }
7654
7726
  }
7655
7727
  }
@@ -7753,58 +7825,60 @@ var SteammOmmV2 = class {
7753
7825
  if (path.extendedDetails == null) {
7754
7826
  throw new Error("Extended details not supported");
7755
7827
  } else {
7756
- if (path.extendedDetails.steammBankA == null) {
7828
+ if (path.extendedDetails.steamm_bank_a == null) {
7757
7829
  throw new Error("Steamm bank a type not supported");
7758
7830
  }
7759
- if (path.extendedDetails.steammBankB == null) {
7831
+ if (path.extendedDetails.steamm_bank_b == null) {
7760
7832
  throw new Error("Steamm bank b type not supported");
7761
7833
  }
7762
- if (path.extendedDetails.steammLendingMarket == null) {
7834
+ if (path.extendedDetails.steamm_lending_market == null) {
7763
7835
  throw new Error("Steamm lending market not supported");
7764
7836
  }
7765
- if (path.extendedDetails.steammLendingMarketType == null) {
7837
+ if (path.extendedDetails.steamm_lending_market_type == null) {
7766
7838
  throw new Error("Steamm lending market type not supported");
7767
7839
  }
7768
- if (path.extendedDetails.steammBCoinAType == null) {
7840
+ if (path.extendedDetails.steamm_b_coin_a_type == null) {
7769
7841
  throw new Error("Steamm b coin a type not supported");
7770
7842
  }
7771
- if (path.extendedDetails.steammBCoinBType == null) {
7843
+ if (path.extendedDetails.steamm_b_coin_b_type == null) {
7772
7844
  throw new Error("Steamm b coin b type not supported");
7773
7845
  }
7774
- if (path.extendedDetails.steammLPToken == null) {
7846
+ if (path.extendedDetails.steamm_lp_token == null) {
7775
7847
  throw new Error("Steamm lp token not supported");
7776
7848
  }
7777
- if (path.extendedDetails.steammOracleRegistryId == null) {
7849
+ if (path.extendedDetails.steamm_oracle_registry_id == null) {
7778
7850
  throw new Error("Steamm oracle registry id not supported");
7779
7851
  }
7780
- if (path.extendedDetails.steammOracleIndexA == null) {
7852
+ if (path.extendedDetails.steamm_oracle_index_a == null) {
7781
7853
  throw new Error("Steamm oracle index a not supported");
7782
7854
  }
7783
- if (path.extendedDetails.steammOracleIndexB == null) {
7855
+ if (path.extendedDetails.steamm_oracle_index_b == null) {
7784
7856
  throw new Error("Steamm oracle index b not supported");
7785
7857
  }
7786
- if (path.extendedDetails.steammOraclePythPriceSeedA == null) {
7858
+ if (path.extendedDetails.steamm_oracle_pyth_price_seed_a == null) {
7787
7859
  throw new Error("Steamm oracle pyth price seed a not supported");
7788
7860
  }
7789
- if (path.extendedDetails.steammOraclePythPriceSeedB == null) {
7861
+ if (path.extendedDetails.steamm_oracle_pyth_price_seed_b == null) {
7790
7862
  throw new Error("Steamm oracle pyth price seed b not supported");
7791
7863
  }
7792
7864
  }
7793
7865
  const [func, coinAType, coinBType] = direction ? ["swap_a2b", from, target] : ["swap_b2a", target, from];
7794
- const priceSeedA = path.extendedDetails.steammOraclePythPriceSeedA;
7795
- const priceSeedB = path.extendedDetails.steammOraclePythPriceSeedB;
7866
+ const priceSeedA = path.extendedDetails.steamm_oracle_pyth_price_seed_a;
7867
+ const priceSeedB = path.extendedDetails.steamm_oracle_pyth_price_seed_b;
7796
7868
  const priceInfoObjectIdA = this.pythPriceIDs.get(priceSeedA);
7797
7869
  const priceInfoObjectIdB = this.pythPriceIDs.get(priceSeedB);
7798
7870
  if (!priceInfoObjectIdA || !priceInfoObjectIdB) {
7799
- throw new Error("Base price info object id or quote price info object id not found");
7871
+ throw new Error(
7872
+ "Base price info object id or quote price info object id not found"
7873
+ );
7800
7874
  }
7801
7875
  const oraclePriceUpdateA = txb.moveCall({
7802
7876
  target: `${this.oraclePackageId}::oracles::get_pyth_price`,
7803
7877
  typeArguments: [],
7804
7878
  arguments: [
7805
- txb.object(path.extendedDetails.steammOracleRegistryId),
7879
+ txb.object(path.extendedDetails.steamm_oracle_registry_id),
7806
7880
  txb.object(priceInfoObjectIdA),
7807
- txb.pure.u64(path.extendedDetails.steammOracleIndexA),
7881
+ txb.pure.u64(path.extendedDetails.steamm_oracle_index_a),
7808
7882
  txb.object(CLOCK_ADDRESS)
7809
7883
  ]
7810
7884
  });
@@ -7812,32 +7886,35 @@ var SteammOmmV2 = class {
7812
7886
  target: `${this.oraclePackageId}::oracles::get_pyth_price`,
7813
7887
  typeArguments: [],
7814
7888
  arguments: [
7815
- txb.object(path.extendedDetails.steammOracleRegistryId),
7889
+ txb.object(path.extendedDetails.steamm_oracle_registry_id),
7816
7890
  txb.object(priceInfoObjectIdB),
7817
- txb.pure.u64(path.extendedDetails.steammOracleIndexB),
7891
+ txb.pure.u64(path.extendedDetails.steamm_oracle_index_b),
7818
7892
  txb.object(CLOCK_ADDRESS)
7819
7893
  ]
7820
7894
  });
7821
7895
  const args = [
7822
7896
  txb.object(path.id),
7823
- txb.object(path.extendedDetails.steammBankA),
7824
- txb.object(path.extendedDetails.steammBankB),
7825
- txb.object(path.extendedDetails.steammLendingMarket),
7897
+ txb.object(path.extendedDetails.steamm_bank_a),
7898
+ txb.object(path.extendedDetails.steamm_bank_b),
7899
+ txb.object(path.extendedDetails.steamm_lending_market),
7826
7900
  oraclePriceUpdateA,
7827
7901
  oraclePriceUpdateB,
7828
7902
  inputCoin,
7829
7903
  txb.object(CLOCK_ADDRESS)
7830
7904
  ];
7831
- const publishedAt = getAggregatorV2Extend2PublishedAt(client.publishedAtV2Extend2(), packages);
7905
+ const publishedAt = getAggregatorV2Extend2PublishedAt(
7906
+ client.publishedAtV2Extend2(),
7907
+ packages
7908
+ );
7832
7909
  const res = txb.moveCall({
7833
7910
  target: `${publishedAt}::steamm_omm_v2::${func}`,
7834
7911
  typeArguments: [
7835
- path.extendedDetails.steammLendingMarketType,
7912
+ path.extendedDetails.steamm_lending_market_type,
7836
7913
  coinAType,
7837
7914
  coinBType,
7838
- path.extendedDetails.steammBCoinAType,
7839
- path.extendedDetails.steammBCoinBType,
7840
- path.extendedDetails.steammLPToken
7915
+ path.extendedDetails.steamm_b_coin_a_type,
7916
+ path.extendedDetails.steamm_b_coin_b_type,
7917
+ path.extendedDetails.steamm_lp_token
7841
7918
  ],
7842
7919
  arguments: args
7843
7920
  });
@@ -7896,14 +7973,14 @@ var Sevenk = class {
7896
7973
  if (path.extendedDetails == null) {
7897
7974
  throw new Error("Extended details not supported haedal pmm");
7898
7975
  } else {
7899
- if (!path.extendedDetails.sevenkCoinAPriceSeed || !path.extendedDetails.sevenkCoinBPriceSeed || !path.extendedDetails.sevenkCoinAOracleId || !path.extendedDetails.sevenkCoinBOracleId || !path.extendedDetails.sevenkLPCapType) {
7976
+ 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) {
7900
7977
  throw new Error("Base price seed or quote price seed not supported");
7901
7978
  }
7902
- coinAPriceSeed = path.extendedDetails.sevenkCoinAPriceSeed;
7903
- coinBPriceSeed = path.extendedDetails.sevenkCoinBPriceSeed;
7904
- coinAOracleId = path.extendedDetails.sevenkCoinAOracleId;
7905
- coinBOracleId = path.extendedDetails.sevenkCoinBOracleId;
7906
- lpCapType = path.extendedDetails.sevenkLPCapType;
7979
+ coinAPriceSeed = path.extendedDetails.sevenk_coin_a_price_seed;
7980
+ coinBPriceSeed = path.extendedDetails.sevenk_coin_b_price_seed;
7981
+ coinAOracleId = path.extendedDetails.sevenk_oracle_config_a;
7982
+ coinBOracleId = path.extendedDetails.sevenk_oracle_config_b;
7983
+ lpCapType = path.extendedDetails.sevenk_lp_cap_type;
7907
7984
  }
7908
7985
  const coinAPriceInfoObjectId = this.pythPriceIDs.get(coinAPriceSeed);
7909
7986
  const coinBPriceInfoObjectId = this.pythPriceIDs.get(coinBPriceSeed);
@@ -7937,11 +8014,7 @@ var Sevenk = class {
7937
8014
  txb.object(CLOCK_ADDRESS)
7938
8015
  ]
7939
8016
  });
7940
- const args = [
7941
- txb.object(path.id),
7942
- holder,
7943
- inputCoin
7944
- ];
8017
+ const args = [txb.object(path.id), holder, inputCoin];
7945
8018
  const publishedAt = getAggregatorV2Extend2PublishedAt(
7946
8019
  client.publishedAtV2Extend2(),
7947
8020
  packages
@@ -7999,6 +8072,7 @@ var _AggregatorClient = class _AggregatorClient {
7999
8072
  this.signer = params.signer || "";
8000
8073
  this.env = params.env || 0 /* Mainnet */;
8001
8074
  this.allCoins = /* @__PURE__ */ new Map();
8075
+ AggregatorConfig2.setEnv(this.env);
8002
8076
  const config2 = _AggregatorClient.CONFIG[this.env];
8003
8077
  this.pythConnections = this.newPythClients((_a = params.pythUrls) != null ? _a : []);
8004
8078
  this.pythClient = new pythSuiJs.SuiPythClient(
@@ -8519,26 +8593,14 @@ var _AggregatorClient = class _AggregatorClient {
8519
8593
  }
8520
8594
  // Include cetus、deepbookv2、flowxv2 & v3、kriyav2 & v3、turbos、aftermath、haedal、afsui、volo、bluemove
8521
8595
  publishedAtV2() {
8522
- if (this.env === 0 /* Mainnet */) {
8523
- return "0x8ae871505a80d8bf6bf9c05906cda6edfeea460c85bebe2e26a4313f5e67874a";
8524
- } else {
8525
- return "0x52eae33adeb44de55cfb3f281d4cc9e02d976181c0952f5323648b5717b33934";
8526
- }
8596
+ return AggregatorConfig2.getPublishedAtV2(this.env);
8527
8597
  }
8528
8598
  // Include deepbookv3, scallop, bluefin
8529
8599
  publishedAtV2Extend() {
8530
- if (this.env === 0 /* Mainnet */) {
8531
- return "0x8a2f7a5b20665eeccc79de3aa37c3b6c473eca233ada1e1cd4678ec07d4d4073";
8532
- } else {
8533
- return "0xabb6a81c8a216828e317719e06125de5bb2cb0fe8f9916ff8c023ca5be224c78";
8534
- }
8600
+ return AggregatorConfig2.getPublishedAtV2Extend(this.env);
8535
8601
  }
8536
8602
  publishedAtV2Extend2() {
8537
- if (this.env === 0 /* Mainnet */) {
8538
- return "0x5cb7499fc49c2642310e24a4ecffdbee00133f97e80e2b45bca90c64d55de880";
8539
- } else {
8540
- return "0x0";
8541
- }
8603
+ return AggregatorConfig2.getPublishedAtV2Extend2(this.env);
8542
8604
  }
8543
8605
  deepbookv3DeepFeeType() {
8544
8606
  if (this.env === 0 /* Mainnet */) {
@@ -8743,50 +8805,44 @@ _AggregatorClient.CONFIG = {
8743
8805
  pythStateId: "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8"
8744
8806
  }
8745
8807
  };
8746
- var AggregatorClient28 = _AggregatorClient;
8808
+ var AggregatorClient = _AggregatorClient;
8747
8809
  function findPythPriceIDs(routes) {
8748
8810
  const priceIDs = /* @__PURE__ */ new Set();
8749
8811
  for (const route of routes) {
8750
8812
  for (const path of route.path) {
8751
8813
  if (path.provider === HAEDALPMM2) {
8752
- if (path.extendedDetails && path.extendedDetails.haedalPmmBasePriceSeed && path.extendedDetails.haedalPmmQuotePriceSeed) {
8753
- priceIDs.add(path.extendedDetails.haedalPmmBasePriceSeed);
8754
- priceIDs.add(path.extendedDetails.haedalPmmQuotePriceSeed);
8814
+ if (path.extendedDetails && path.extendedDetails.haedal_pmm_base_price_seed && path.extendedDetails.haedal_pmm_quote_price_seed) {
8815
+ priceIDs.add(path.extendedDetails.haedal_pmm_base_price_seed);
8816
+ priceIDs.add(path.extendedDetails.haedal_pmm_quote_price_seed);
8755
8817
  }
8756
8818
  }
8757
8819
  if (path.provider === METASTABLE2) {
8758
- if (path.extendedDetails && path.extendedDetails.metastablePriceSeed) {
8759
- priceIDs.add(path.extendedDetails.metastablePriceSeed);
8820
+ if (path.extendedDetails && path.extendedDetails.metastable_price_seed) {
8821
+ priceIDs.add(path.extendedDetails.metastable_price_seed);
8760
8822
  }
8761
- if (path.extendedDetails && path.extendedDetails.metastableETHPriceSeed) {
8762
- priceIDs.add(path.extendedDetails.metastableETHPriceSeed);
8823
+ if (path.extendedDetails && path.extendedDetails.metastable_eth_price_seed) {
8824
+ priceIDs.add(path.extendedDetails.metastable_eth_price_seed);
8763
8825
  }
8764
8826
  }
8765
8827
  if (path.provider === OBRIC2) {
8766
- if (path.extendedDetails && path.extendedDetails.obricCoinAPriceSeed) {
8767
- priceIDs.add(path.extendedDetails.obricCoinAPriceSeed);
8828
+ if (path.extendedDetails && path.extendedDetails.obric_coin_a_price_seed) {
8829
+ priceIDs.add(path.extendedDetails.obric_coin_a_price_seed);
8768
8830
  }
8769
- if (path.extendedDetails && path.extendedDetails.obricCoinBPriceSeed) {
8770
- priceIDs.add(path.extendedDetails.obricCoinBPriceSeed);
8831
+ if (path.extendedDetails && path.extendedDetails.obric_coin_b_price_seed) {
8832
+ priceIDs.add(path.extendedDetails.obric_coin_b_price_seed);
8771
8833
  }
8772
8834
  }
8773
8835
  if (path.provider === STEAMM_OMM2 || path.provider === STEAMM_OMM_V22) {
8774
- if (path.extendedDetails && path.extendedDetails.steammOraclePythPriceSeedA) {
8775
- priceIDs.add(path.extendedDetails.steammOraclePythPriceSeedA);
8836
+ if (path.extendedDetails && path.extendedDetails.steamm_oracle_pyth_price_seed_a) {
8837
+ priceIDs.add(path.extendedDetails.steamm_oracle_pyth_price_seed_a);
8776
8838
  }
8777
- if (path.extendedDetails && path.extendedDetails.steammOraclePythPriceSeedB) {
8778
- priceIDs.add(path.extendedDetails.steammOraclePythPriceSeedB);
8839
+ if (path.extendedDetails && path.extendedDetails.steamm_oracle_pyth_price_seed_b) {
8840
+ priceIDs.add(path.extendedDetails.steamm_oracle_pyth_price_seed_b);
8779
8841
  }
8780
8842
  }
8781
8843
  if (path.provider === SEVENK2) {
8782
8844
  if (path.extendedDetails) {
8783
8845
  const extDetails = path.extendedDetails;
8784
- if (extDetails.sevenkCoinAPriceSeed) {
8785
- priceIDs.add(extDetails.sevenkCoinAPriceSeed);
8786
- }
8787
- if (extDetails.sevenkCoinBPriceSeed) {
8788
- priceIDs.add(extDetails.sevenkCoinBPriceSeed);
8789
- }
8790
8846
  if (extDetails.sevenk_coin_a_price_seed) {
8791
8847
  priceIDs.add(extDetails.sevenk_coin_a_price_seed);
8792
8848
  }
@@ -9002,11 +9058,11 @@ var TurbosRouter = class {
9002
9058
  if (path.extendedDetails == null) {
9003
9059
  throw new Error("Extended details not supported");
9004
9060
  } else {
9005
- if (path.extendedDetails.turbosFeeType == null) {
9061
+ if (path.extendedDetails.turbos_fee_type == null) {
9006
9062
  throw new Error("Turbos fee type not supported");
9007
9063
  }
9008
9064
  }
9009
- const feeType = path.extendedDetails.turbosFeeType;
9065
+ const feeType = path.extendedDetails.turbos_fee_type;
9010
9066
  return {
9011
9067
  coinAType,
9012
9068
  coinBType,
@@ -9370,7 +9426,7 @@ var AftermathRouter = class {
9370
9426
  return {
9371
9427
  coinAType,
9372
9428
  coinBType,
9373
- feeType: ((_a = path.extendedDetails) == null ? void 0 : _a.aftermathLpSupplyType) || ((_b = path.extendedDetails) == null ? void 0 : _b.aftermath_lp_supply_type) || "0x2::sui::SUI",
9429
+ 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",
9374
9430
  // Use LP supply type from path (handle both camelCase and snake_case)
9375
9431
  direction: path.direction,
9376
9432
  amountIn,
@@ -9500,7 +9556,7 @@ var ScallopRouter = class {
9500
9556
  if (flattenedPath.path.publishedAt == null) {
9501
9557
  throw new Error("Scallop not set publishedAt");
9502
9558
  }
9503
- const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.target, path.from];
9559
+ const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.from, path.target];
9504
9560
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
9505
9561
  if (path.extendedDetails == null) {
9506
9562
  throw new Error("Extended details not supported");
@@ -9640,10 +9696,10 @@ var HaedalPmmRouter = class {
9640
9696
  this.executeSwapContract(txb, swapData, swapContext);
9641
9697
  }
9642
9698
  validateExtendedDetails(extendedDetails) {
9643
- if (!extendedDetails.haedalPmmBasePriceSeed) {
9699
+ if (!extendedDetails.haedal_pmm_base_price_seed) {
9644
9700
  throw new Error("Haedal PMM base price seed not supported");
9645
9701
  }
9646
- if (!extendedDetails.haedalPmmQuotePriceSeed) {
9702
+ if (!extendedDetails.haedal_pmm_quote_price_seed) {
9647
9703
  throw new Error("Haedal PMM quote price seed not supported");
9648
9704
  }
9649
9705
  }
@@ -9655,8 +9711,8 @@ var HaedalPmmRouter = class {
9655
9711
  const extendedDetails = path.extendedDetails;
9656
9712
  const [coinAType, coinBType] = path.direction ? [path.from, path.target] : [path.target, path.from];
9657
9713
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
9658
- const basePriceSeed = extendedDetails.haedalPmmBasePriceSeed;
9659
- const quotePriceSeed = extendedDetails.haedalPmmQuotePriceSeed;
9714
+ const basePriceSeed = extendedDetails.haedal_pmm_base_price_seed;
9715
+ const quotePriceSeed = extendedDetails.haedal_pmm_quote_price_seed;
9660
9716
  const basePriceId = this.pythPriceIDs.get(basePriceSeed);
9661
9717
  const quotePriceId = this.pythPriceIDs.get(quotePriceSeed);
9662
9718
  if (!basePriceId || !quotePriceId) {
@@ -9909,8 +9965,8 @@ var SteammOmmRouter = class {
9909
9965
  const { direction, from, target } = path;
9910
9966
  const [func, coinAType, coinBType] = direction ? ["swap_a2b_v2", from, target] : ["swap_b2a_v2", target, from];
9911
9967
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
9912
- const priceSeedA = extendedDetails.steammOraclePythPriceSeedA;
9913
- const priceSeedB = extendedDetails.steammOraclePythPriceSeedB;
9968
+ const priceSeedA = extendedDetails.steamm_oracle_pyth_price_seed_a;
9969
+ const priceSeedB = extendedDetails.steamm_oracle_pyth_price_seed_b;
9914
9970
  if (!priceSeedA || !priceSeedB) {
9915
9971
  throw new Error("Steamm oracle price seeds not found");
9916
9972
  }
@@ -10028,8 +10084,8 @@ var SteammOmmV2Router = class {
10028
10084
  const { direction, from, target } = path;
10029
10085
  const [func, coinAType, coinBType] = direction ? ["swap_a2b", from, target] : ["swap_b2a", target, from];
10030
10086
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
10031
- const priceSeedA = extendedDetails.steammOraclePythPriceSeedA;
10032
- const priceSeedB = extendedDetails.steammOraclePythPriceSeedB;
10087
+ const priceSeedA = extendedDetails.steamm_oracle_pyth_price_seed_a;
10088
+ const priceSeedB = extendedDetails.steamm_oracle_pyth_price_seed_b;
10033
10089
  if (!priceSeedA || !priceSeedB) {
10034
10090
  throw new Error("Steamm OMM V2 oracle price seeds not found");
10035
10091
  }
@@ -10528,7 +10584,7 @@ function transfer_or_destroy_coin(params, txb) {
10528
10584
  arguments: [coin]
10529
10585
  });
10530
10586
  }
10531
- var AggregatorClientV3 = class extends AggregatorClient28 {
10587
+ var AggregatorClientV3 = class extends AggregatorClient {
10532
10588
  constructor(params) {
10533
10589
  var _a;
10534
10590
  const v3Params = __spreadProps(__spreadValues({}, params), {
@@ -10945,13 +11001,144 @@ var AggregatorClientV3 = class extends AggregatorClient28 {
10945
11001
  return this.fixableRouterSwapV3(params);
10946
11002
  });
10947
11003
  }
11004
+ swapInPools(params) {
11005
+ return __async(this, null, function* () {
11006
+ let result;
11007
+ try {
11008
+ result = yield this.swapInPoolsV3(params);
11009
+ } catch (e) {
11010
+ console.error("swapInPoolsV3 error:", e);
11011
+ return null;
11012
+ }
11013
+ return result;
11014
+ });
11015
+ }
11016
+ swapInPoolsV3(params) {
11017
+ return __async(this, null, function* () {
11018
+ var _a, _b, _c, _d, _e;
11019
+ const { from, target, amount, byAmountIn, pools } = params;
11020
+ const fromCoin = completionCoin(from);
11021
+ const targetCoin = completionCoin(target);
11022
+ const tx = new transactions.Transaction();
11023
+ const direction = compareCoins(fromCoin, targetCoin);
11024
+ const coinA = direction ? fromCoin : targetCoin;
11025
+ const coinB = direction ? targetCoin : fromCoin;
11026
+ const typeArguments = [coinA, coinB];
11027
+ const integratePublishedAt = this.env === 0 /* Mainnet */ ? "0xb2db7142fa83210a7d78d9c12ac49c043b3cbbd482224fea6e3da00aa5a5ae2d" : "0x4f920e1ef6318cfba77e20a0538a419a5a504c14230169438b99aba485db40a6";
11028
+ for (let i = 0; i < pools.length; i++) {
11029
+ const args = [
11030
+ tx.object(pools[i]),
11031
+ tx.pure.bool(direction),
11032
+ tx.pure.bool(byAmountIn),
11033
+ tx.pure.u64(amount.toString())
11034
+ ];
11035
+ tx.moveCall({
11036
+ target: `${integratePublishedAt}::fetcher_script::calculate_swap_result`,
11037
+ arguments: args,
11038
+ typeArguments
11039
+ });
11040
+ }
11041
+ if (!this.signer) {
11042
+ this.signer = "0x0";
11043
+ }
11044
+ printTransaction(tx);
11045
+ const simulateRes = yield this.client.devInspectTransactionBlock({
11046
+ transactionBlock: tx,
11047
+ sender: this.signer
11048
+ });
11049
+ if (simulateRes.error != null) {
11050
+ console.log("simulateRes.error", simulateRes.error);
11051
+ throw new Error("Simulation error: " + simulateRes.error);
11052
+ }
11053
+ const valueData = (_a = simulateRes.events) == null ? void 0 : _a.filter((item) => {
11054
+ return item.type.includes("CalculatedSwapResultEvent");
11055
+ });
11056
+ if (valueData.length === 0 || valueData.length !== pools.length) {
11057
+ throw new Error("Simulate event result error");
11058
+ }
11059
+ let tempMaxAmount = byAmountIn ? new import_bn9.default(0) : new import_bn9.default(U64_MAX);
11060
+ let tempIndex = 0;
11061
+ for (let i = 0; i < valueData.length; i += 1) {
11062
+ if (valueData[i].parsedJson.data.is_exceed) {
11063
+ continue;
11064
+ }
11065
+ if (params.byAmountIn) {
11066
+ const amount2 = new import_bn9.default(valueData[i].parsedJson.data.amount_out);
11067
+ if (amount2.gt(tempMaxAmount)) {
11068
+ tempIndex = i;
11069
+ tempMaxAmount = amount2;
11070
+ }
11071
+ } else {
11072
+ const amount2 = new import_bn9.default(valueData[i].parsedJson.data.amount_out);
11073
+ if (amount2.lt(tempMaxAmount)) {
11074
+ tempIndex = i;
11075
+ tempMaxAmount = amount2;
11076
+ }
11077
+ }
11078
+ }
11079
+ const event = valueData[tempIndex].parsedJson.data;
11080
+ const currentSqrtPrice = event.step_results[0].current_sqrt_price;
11081
+ const [decimalA, decimalB] = yield Promise.all([
11082
+ this.client.getCoinMetadata({ coinType: coinA }).then((metadata) => metadata == null ? void 0 : metadata.decimals),
11083
+ this.client.getCoinMetadata({ coinType: coinB }).then((metadata) => metadata == null ? void 0 : metadata.decimals)
11084
+ ]);
11085
+ if (decimalA == null || decimalB == null) {
11086
+ throw new Error("Cannot get coin decimals");
11087
+ }
11088
+ const sqrtPriceNum = new import_bn9.default(currentSqrtPrice);
11089
+ const price = sqrtPriceNum.mul(sqrtPriceNum).div(new import_bn9.default(2).pow(new import_bn9.default(128)));
11090
+ const priceScale = new import_bn9.default(10).pow(new import_bn9.default(decimalB - decimalA));
11091
+ const initialPriceNum = price.div(priceScale).toNumber();
11092
+ const initialPrice = new decimal_default(initialPriceNum);
11093
+ const feeRate = Number(event.fee_rate) / 1e6;
11094
+ const pureAmountIn = new import_bn9.default((_b = event.amount_in) != null ? _b : 0);
11095
+ const feeAmount = new import_bn9.default((_c = event.fee_amount) != null ? _c : 0);
11096
+ const amountIn = pureAmountIn.add(feeAmount);
11097
+ const routeData = {
11098
+ amountIn,
11099
+ amountOut: new import_bn9.default((_d = event.amount_out) != null ? _d : 0),
11100
+ routes: [
11101
+ {
11102
+ path: [
11103
+ {
11104
+ id: pools[tempIndex],
11105
+ direction,
11106
+ provider: CETUS,
11107
+ from: fromCoin,
11108
+ target: targetCoin,
11109
+ feeRate,
11110
+ amountIn: amountIn.toString(),
11111
+ amountOut: event.amount_out,
11112
+ publishedAt: CETUS_V3_PUBLISHED_AT,
11113
+ extendedDetails: {
11114
+ afterSqrtPrice: event.after_sqrt_price
11115
+ }
11116
+ }
11117
+ ],
11118
+ amountIn,
11119
+ amountOut: new import_bn9.default((_e = event.amount_out) != null ? _e : 0),
11120
+ initialPrice
11121
+ }
11122
+ ],
11123
+ insufficientLiquidity: false,
11124
+ byAmountIn: params.byAmountIn,
11125
+ quoteID: "cetus-pools-fallback",
11126
+ packages: /* @__PURE__ */ new Map([
11127
+ [
11128
+ PACKAGE_NAMES.AGGREGATOR_V3,
11129
+ AGGREGATOR_V3_CONFIG.DEFAULT_PUBLISHED_AT.Mainnet
11130
+ ]
11131
+ ])
11132
+ };
11133
+ const result = {
11134
+ isExceed: event.is_exceed,
11135
+ routeData
11136
+ };
11137
+ return result;
11138
+ });
11139
+ }
10948
11140
  };
10949
11141
 
10950
- // src/transaction/index.ts
10951
- var AGGREGATOR_V2 = "aggregator_v2";
10952
- var AGGREGATOR_V2_EXTEND = "aggregator_v2_extend";
10953
- var AGGREGATOR_V2_EXTEND2 = "aggregator_v2_extend2";
10954
-
10955
11142
  // src/types/sui.ts
10956
11143
  var getDefaultSuiInputType = (value) => {
10957
11144
  if (typeof value === "string" && value.startsWith("0x")) {
@@ -10982,32 +11169,24 @@ exports.AFTERMATH = AFTERMATH;
10982
11169
  exports.AFTERMATH_AMM = AFTERMATH_AMM;
10983
11170
  exports.AFTERMATH_MODULE = AFTERMATH_MODULE;
10984
11171
  exports.AGGREGATOR = AGGREGATOR;
10985
- exports.AGGREGATOR_V2 = AGGREGATOR_V2;
10986
- exports.AGGREGATOR_V2_EXTEND = AGGREGATOR_V2_EXTEND;
10987
- exports.AGGREGATOR_V2_EXTEND2 = AGGREGATOR_V2_EXTEND2;
10988
11172
  exports.AGGREGATOR_V3_CONFIG = AGGREGATOR_V3_CONFIG;
10989
11173
  exports.ALL_DEXES = ALL_DEXES;
10990
11174
  exports.ALPHAFI = ALPHAFI;
10991
- exports.Afsui = Afsui;
10992
- exports.Aftermath = Aftermath;
10993
- exports.AggregatorClient = AggregatorClient28;
11175
+ exports.AggregatorClient = AggregatorClient;
10994
11176
  exports.AggregatorClientV3 = AggregatorClientV3;
10995
11177
  exports.AggregatorConfig = AggregatorConfig;
10996
11178
  exports.AggregatorError = AggregatorError;
10997
11179
  exports.AggregatorServerErrorCode = AggregatorServerErrorCode;
10998
- exports.Alphafi = Alphafi;
10999
11180
  exports.BLUEFIN = BLUEFIN;
11000
11181
  exports.BLUEMOVE = BLUEMOVE;
11001
- exports.Bluefin = Bluefin;
11002
- exports.Bluemove = Bluemove;
11003
11182
  exports.CETUS = CETUS;
11004
11183
  exports.CETUS_DEX = CETUS_DEX;
11005
11184
  exports.CETUS_MODULE = CETUS_MODULE;
11006
11185
  exports.CETUS_PUBLISHED_AT = CETUS_PUBLISHED_AT;
11186
+ exports.CETUS_V3_PUBLISHED_AT = CETUS_V3_PUBLISHED_AT;
11007
11187
  exports.CHECK_COINS_THRESHOLD_FUNC = CHECK_COINS_THRESHOLD_FUNC;
11008
11188
  exports.CLIENT_CONFIG = CLIENT_CONFIG;
11009
11189
  exports.CLOCK_ADDRESS = CLOCK_ADDRESS;
11010
- exports.Cetus = Cetus;
11011
11190
  exports.CoinInfoAddress = CoinInfoAddress;
11012
11191
  exports.CoinStoreAddress = CoinStoreAddress;
11013
11192
  exports.CoinUtils = CoinUtils;
@@ -11029,8 +11208,6 @@ exports.DEFAULT_GAS_BUDGET_FOR_STAKE = DEFAULT_GAS_BUDGET_FOR_STAKE;
11029
11208
  exports.DEFAULT_GAS_BUDGET_FOR_TRANSFER = DEFAULT_GAS_BUDGET_FOR_TRANSFER;
11030
11209
  exports.DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI = DEFAULT_GAS_BUDGET_FOR_TRANSFER_SUI;
11031
11210
  exports.DEFAULT_NFT_TRANSFER_GAS_FEE = DEFAULT_NFT_TRANSFER_GAS_FEE;
11032
- exports.DeepbookV2 = DeepbookV2;
11033
- exports.DeepbookV3 = DeepbookV3;
11034
11211
  exports.Dex = Dex;
11035
11212
  exports.Env = Env;
11036
11213
  exports.FLOWXV2 = FLOWXV2;
@@ -11043,25 +11220,18 @@ exports.FlashSwapFunc = FlashSwapFunc;
11043
11220
  exports.FlashSwapWithPartnerA2BFunc = FlashSwapWithPartnerA2BFunc;
11044
11221
  exports.FlashSwapWithPartnerB2AFunc = FlashSwapWithPartnerB2AFunc;
11045
11222
  exports.FlashSwapWithPartnerFunc = FlashSwapWithPartnerFunc;
11046
- exports.FlowxV2 = FlowxV2;
11047
- exports.FlowxV3 = FlowxV3;
11048
11223
  exports.GAS_SYMBOL = GAS_SYMBOL;
11049
11224
  exports.GAS_TYPE_ARG = GAS_TYPE_ARG;
11050
11225
  exports.GAS_TYPE_ARG_LONG = GAS_TYPE_ARG_LONG;
11051
11226
  exports.HAEDAL = HAEDAL;
11052
11227
  exports.HAEDALPMM = HAEDALPMM;
11053
11228
  exports.HAWAL = HAWAL;
11054
- exports.HaWAL = HaWAL;
11055
- exports.Haedal = Haedal;
11056
- exports.HaedalPmm = HaedalPmm;
11057
11229
  exports.INTEGRATE = INTEGRATE;
11058
11230
  exports.JOIN_FUNC = JOIN_FUNC;
11059
11231
  exports.KRIYA = KRIYA;
11060
11232
  exports.KRIYAV3 = KRIYAV3;
11061
11233
  exports.KRIYA_DEX = KRIYA_DEX;
11062
11234
  exports.KRIYA_MODULE = KRIYA_MODULE;
11063
- exports.KriyaV2 = KriyaV2;
11064
- exports.KriyaV3 = KriyaV3;
11065
11235
  exports.MAGMA = MAGMA;
11066
11236
  exports.MAINNET_AFTERMATH_INSURANCE_FUND_ID = MAINNET_AFTERMATH_INSURANCE_FUND_ID;
11067
11237
  exports.MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID = MAINNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID;
@@ -11072,12 +11242,8 @@ exports.MAINNET_CETUS_GLOBAL_CONFIG_ID = MAINNET_CETUS_GLOBAL_CONFIG_ID;
11072
11242
  exports.MAINNET_FLOWX_AMM_CONTAINER_ID = MAINNET_FLOWX_AMM_CONTAINER_ID;
11073
11243
  exports.METASTABLE = METASTABLE;
11074
11244
  exports.MOMENTUM = MOMENTUM;
11075
- exports.Magma = Magma;
11076
- exports.Metastable = Metastable;
11077
- exports.Momentum = Momentum;
11078
11245
  exports.OBRIC = OBRIC;
11079
11246
  exports.ONE = ONE;
11080
- exports.Obric = Obric;
11081
11247
  exports.PACKAGE_NAMES = PACKAGE_NAMES;
11082
11248
  exports.PAY_MODULE = PAY_MODULE;
11083
11249
  exports.POOL_MODULT = POOL_MODULT;
@@ -11099,13 +11265,7 @@ exports.SUILEND = SUILEND;
11099
11265
  exports.SUI_SYSTEM_STATE_OBJECT_ID = SUI_SYSTEM_STATE_OBJECT_ID;
11100
11266
  exports.SWAP_A2B_FUNC = SWAP_A2B_FUNC;
11101
11267
  exports.SWAP_B2A_FUNC = SWAP_B2A_FUNC;
11102
- exports.Scallop = Scallop;
11103
- exports.Sevenk = Sevenk;
11104
- exports.SteammCPMM = SteammCPMM;
11105
- exports.SteammOmm = SteammOmm;
11106
- exports.SteammOmmV2 = SteammOmmV2;
11107
11268
  exports.SuiZeroCoinFn = SuiZeroCoinFn;
11108
- exports.Suilend = Suilend;
11109
11269
  exports.TEN_POW_NINE = TEN_POW_NINE;
11110
11270
  exports.TESTNET_AFTERMATH_INSURANCE_FUND_ID = TESTNET_AFTERMATH_INSURANCE_FUND_ID;
11111
11271
  exports.TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID = TESTNET_AFTERMATH_PROTOCOL_FEE_VAULT_ID;
@@ -11122,14 +11282,12 @@ exports.TURBOS_MODULE = TURBOS_MODULE;
11122
11282
  exports.TURBOS_VERSIONED = TURBOS_VERSIONED;
11123
11283
  exports.TWO = TWO;
11124
11284
  exports.TransactionErrorCode = TransactionErrorCode;
11125
- exports.Turbos = Turbos;
11126
11285
  exports.TypesErrorCode = TypesErrorCode;
11127
11286
  exports.U128 = U128;
11128
11287
  exports.U64_MAX = U64_MAX;
11129
11288
  exports.U64_MAX_BN = U64_MAX_BN;
11130
11289
  exports.UTILS_MODULE = UTILS_MODULE;
11131
11290
  exports.VOLO = VOLO;
11132
- exports.Volo = Volo;
11133
11291
  exports.ZERO = ZERO;
11134
11292
  exports.buildInputCoin = buildInputCoin;
11135
11293
  exports.calculateGasEfficiency = calculateGasEfficiency;
@@ -11170,3 +11328,4 @@ exports.printTransaction = printTransaction;
11170
11328
  exports.processEndpoint = processEndpoint;
11171
11329
  exports.restituteMsafeFastRouterSwapParams = restituteMsafeFastRouterSwapParams;
11172
11330
  exports.sortAndFlattenRoutes = sortAndFlattenRoutes;
11331
+ exports.swapInPools = swapInPools;