@cetusprotocol/aggregator-sdk 1.6.5 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -3416,7 +3416,7 @@ var AGGREGATOR_V3_CONFIG = {
3416
3416
  };
3417
3417
 
3418
3418
  // src/api.ts
3419
- var SDK_VERSION = 1010605;
3419
+ var SDK_VERSION = 1010606;
3420
3420
  function parseRouterResponse(data, byAmountIn) {
3421
3421
  let packages = /* @__PURE__ */ new Map();
3422
3422
  if (data.packages) {
@@ -8903,7 +8903,8 @@ var MagmaPropAmmRouter = class {
8903
8903
  }
8904
8904
  };
8905
8905
  var HaedalPropAmmRouter = class {
8906
- constructor(_env) {
8906
+ constructor(_env, pythPriceIDs) {
8907
+ this.pythPriceIDs = pythPriceIDs;
8907
8908
  }
8908
8909
  swap(txb, flattenedPath, swapContext, _extends) {
8909
8910
  const path = flattenedPath.path;
@@ -8936,6 +8937,16 @@ var HaedalPropAmmRouter = class {
8936
8937
  "HAEDALPROPAMM quote price info object not found in extended details"
8937
8938
  );
8938
8939
  }
8940
+ if (!extendedDetails.haedalpropamm_base_price_seed) {
8941
+ throw new Error(
8942
+ "HAEDALPROPAMM base price seed not found in extended details"
8943
+ );
8944
+ }
8945
+ if (!extendedDetails.haedalpropamm_quote_price_seed) {
8946
+ throw new Error(
8947
+ "HAEDALPROPAMM quote price seed not found in extended details"
8948
+ );
8949
+ }
8939
8950
  }
8940
8951
  prepareSwapData(flattenedPath) {
8941
8952
  const path = flattenedPath.path;
@@ -8945,6 +8956,15 @@ var HaedalPropAmmRouter = class {
8945
8956
  const extendedDetails = path.extendedDetails;
8946
8957
  const [baseType, quoteType] = path.direction ? [path.from, path.target] : [path.target, path.from];
8947
8958
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
8959
+ const basePriceSeed = extendedDetails.haedalpropamm_base_price_seed;
8960
+ const quotePriceSeed = extendedDetails.haedalpropamm_quote_price_seed;
8961
+ const basePriceInfoObject = this.pythPriceIDs.get(basePriceSeed);
8962
+ const quotePriceInfoObject = this.pythPriceIDs.get(quotePriceSeed);
8963
+ if (!basePriceInfoObject || !quotePriceInfoObject) {
8964
+ throw new Error(
8965
+ "HAEDALPROPAMM requires updated Pyth price info objects for both coins"
8966
+ );
8967
+ }
8948
8968
  return {
8949
8969
  baseType,
8950
8970
  quoteType,
@@ -8953,8 +8973,8 @@ var HaedalPropAmmRouter = class {
8953
8973
  publishedAt: path.publishedAt,
8954
8974
  poolId: extendedDetails.haedalpropamm_pool_id,
8955
8975
  regimeId: extendedDetails.haedalpropamm_regime_id,
8956
- basePriceInfoObject: extendedDetails.haedalpropamm_base_price_info_object,
8957
- quotePriceInfoObject: extendedDetails.haedalpropamm_quote_price_info_object
8976
+ basePriceInfoObject,
8977
+ quotePriceInfoObject
8958
8978
  };
8959
8979
  }
8960
8980
  executeSwapContract(txb, swapData, swapContext) {
@@ -9118,7 +9138,8 @@ var PYTH_ORACLE_BASED_DEXES = [
9118
9138
  HAEDALPMM,
9119
9139
  METASTABLE,
9120
9140
  STEAMM_OMM_V2,
9121
- HAEDALHMMV2
9141
+ HAEDALHMMV2,
9142
+ HAEDALPROPAMM
9122
9143
  ];
9123
9144
  function getAllProviders() {
9124
9145
  return ALL_DEXES;
@@ -9178,6 +9199,12 @@ function findPythPriceIDs(paths) {
9178
9199
  priceIDs.add(path.extendedDetails.haedalhmmv2_base_price_seed);
9179
9200
  }
9180
9201
  }
9202
+ if (path.provider === HAEDALPROPAMM) {
9203
+ if (path.extendedDetails && path.extendedDetails.haedalpropamm_base_price_seed && path.extendedDetails.haedalpropamm_quote_price_seed) {
9204
+ priceIDs.add(path.extendedDetails.haedalpropamm_base_price_seed);
9205
+ priceIDs.add(path.extendedDetails.haedalpropamm_quote_price_seed);
9206
+ }
9207
+ }
9181
9208
  }
9182
9209
  return Array.from(priceIDs);
9183
9210
  }
@@ -9385,7 +9412,7 @@ var _AggregatorClient = class _AggregatorClient {
9385
9412
  case MAGMAPROPAMM:
9386
9413
  return new MagmaPropAmmRouter(this.env);
9387
9414
  case HAEDALPROPAMM:
9388
- return new HaedalPropAmmRouter(this.env);
9415
+ return new HaedalPropAmmRouter(this.env, pythPriceIDs);
9389
9416
  case CETUS_TIDE:
9390
9417
  return new CetusTideRouter();
9391
9418
  default:
package/dist/index.d.cts CHANGED
@@ -109,6 +109,8 @@ type ExtendedDetails = {
109
109
  haedalpropamm_pool_id?: string;
110
110
  haedalpropamm_regime_id?: string;
111
111
  haedalpropamm_oracle_mode?: string;
112
+ haedalpropamm_base_price_seed?: string;
113
+ haedalpropamm_quote_price_seed?: string;
112
114
  haedalpropamm_base_price_info_object?: string;
113
115
  haedalpropamm_quote_price_info_object?: string;
114
116
  cetus_tide_fill?: CetusTideFill;
package/dist/index.d.ts CHANGED
@@ -109,6 +109,8 @@ type ExtendedDetails = {
109
109
  haedalpropamm_pool_id?: string;
110
110
  haedalpropamm_regime_id?: string;
111
111
  haedalpropamm_oracle_mode?: string;
112
+ haedalpropamm_base_price_seed?: string;
113
+ haedalpropamm_quote_price_seed?: string;
112
114
  haedalpropamm_base_price_info_object?: string;
113
115
  haedalpropamm_quote_price_info_object?: string;
114
116
  cetus_tide_fill?: CetusTideFill;
package/dist/index.js CHANGED
@@ -3410,7 +3410,7 @@ var AGGREGATOR_V3_CONFIG = {
3410
3410
  };
3411
3411
 
3412
3412
  // src/api.ts
3413
- var SDK_VERSION = 1010605;
3413
+ var SDK_VERSION = 1010606;
3414
3414
  function parseRouterResponse(data, byAmountIn) {
3415
3415
  let packages = /* @__PURE__ */ new Map();
3416
3416
  if (data.packages) {
@@ -8897,7 +8897,8 @@ var MagmaPropAmmRouter = class {
8897
8897
  }
8898
8898
  };
8899
8899
  var HaedalPropAmmRouter = class {
8900
- constructor(_env) {
8900
+ constructor(_env, pythPriceIDs) {
8901
+ this.pythPriceIDs = pythPriceIDs;
8901
8902
  }
8902
8903
  swap(txb, flattenedPath, swapContext, _extends) {
8903
8904
  const path = flattenedPath.path;
@@ -8930,6 +8931,16 @@ var HaedalPropAmmRouter = class {
8930
8931
  "HAEDALPROPAMM quote price info object not found in extended details"
8931
8932
  );
8932
8933
  }
8934
+ if (!extendedDetails.haedalpropamm_base_price_seed) {
8935
+ throw new Error(
8936
+ "HAEDALPROPAMM base price seed not found in extended details"
8937
+ );
8938
+ }
8939
+ if (!extendedDetails.haedalpropamm_quote_price_seed) {
8940
+ throw new Error(
8941
+ "HAEDALPROPAMM quote price seed not found in extended details"
8942
+ );
8943
+ }
8933
8944
  }
8934
8945
  prepareSwapData(flattenedPath) {
8935
8946
  const path = flattenedPath.path;
@@ -8939,6 +8950,15 @@ var HaedalPropAmmRouter = class {
8939
8950
  const extendedDetails = path.extendedDetails;
8940
8951
  const [baseType, quoteType] = path.direction ? [path.from, path.target] : [path.target, path.from];
8941
8952
  const amountIn = flattenedPath.isLastUseOfIntermediateToken ? AGGREGATOR_V3_CONFIG.MAX_AMOUNT_IN : path.amountIn;
8953
+ const basePriceSeed = extendedDetails.haedalpropamm_base_price_seed;
8954
+ const quotePriceSeed = extendedDetails.haedalpropamm_quote_price_seed;
8955
+ const basePriceInfoObject = this.pythPriceIDs.get(basePriceSeed);
8956
+ const quotePriceInfoObject = this.pythPriceIDs.get(quotePriceSeed);
8957
+ if (!basePriceInfoObject || !quotePriceInfoObject) {
8958
+ throw new Error(
8959
+ "HAEDALPROPAMM requires updated Pyth price info objects for both coins"
8960
+ );
8961
+ }
8942
8962
  return {
8943
8963
  baseType,
8944
8964
  quoteType,
@@ -8947,8 +8967,8 @@ var HaedalPropAmmRouter = class {
8947
8967
  publishedAt: path.publishedAt,
8948
8968
  poolId: extendedDetails.haedalpropamm_pool_id,
8949
8969
  regimeId: extendedDetails.haedalpropamm_regime_id,
8950
- basePriceInfoObject: extendedDetails.haedalpropamm_base_price_info_object,
8951
- quotePriceInfoObject: extendedDetails.haedalpropamm_quote_price_info_object
8970
+ basePriceInfoObject,
8971
+ quotePriceInfoObject
8952
8972
  };
8953
8973
  }
8954
8974
  executeSwapContract(txb, swapData, swapContext) {
@@ -9112,7 +9132,8 @@ var PYTH_ORACLE_BASED_DEXES = [
9112
9132
  HAEDALPMM,
9113
9133
  METASTABLE,
9114
9134
  STEAMM_OMM_V2,
9115
- HAEDALHMMV2
9135
+ HAEDALHMMV2,
9136
+ HAEDALPROPAMM
9116
9137
  ];
9117
9138
  function getAllProviders() {
9118
9139
  return ALL_DEXES;
@@ -9172,6 +9193,12 @@ function findPythPriceIDs(paths) {
9172
9193
  priceIDs.add(path.extendedDetails.haedalhmmv2_base_price_seed);
9173
9194
  }
9174
9195
  }
9196
+ if (path.provider === HAEDALPROPAMM) {
9197
+ if (path.extendedDetails && path.extendedDetails.haedalpropamm_base_price_seed && path.extendedDetails.haedalpropamm_quote_price_seed) {
9198
+ priceIDs.add(path.extendedDetails.haedalpropamm_base_price_seed);
9199
+ priceIDs.add(path.extendedDetails.haedalpropamm_quote_price_seed);
9200
+ }
9201
+ }
9175
9202
  }
9176
9203
  return Array.from(priceIDs);
9177
9204
  }
@@ -9379,7 +9406,7 @@ var _AggregatorClient = class _AggregatorClient {
9379
9406
  case MAGMAPROPAMM:
9380
9407
  return new MagmaPropAmmRouter(this.env);
9381
9408
  case HAEDALPROPAMM:
9382
- return new HaedalPropAmmRouter(this.env);
9409
+ return new HaedalPropAmmRouter(this.env, pythPriceIDs);
9383
9410
  case CETUS_TIDE:
9384
9411
  return new CetusTideRouter();
9385
9412
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cetusprotocol/aggregator-sdk",
3
- "version": "1.6.5",
3
+ "version": "1.6.6",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "dist/index.js",