@7kprotocol/sdk-ts 3.0.2 → 3.1.0

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.
Files changed (45) hide show
  1. package/lib/cjs/features/swap/buildTx.js +3 -2
  2. package/lib/cjs/features/swap/config.js +12 -12
  3. package/lib/cjs/features/swap/getQuote.js +1 -0
  4. package/lib/cjs/libs/protocols/base.js +13 -0
  5. package/lib/cjs/libs/protocols/haedal_pmm/index.js +5 -7
  6. package/lib/cjs/libs/protocols/index.js +1 -0
  7. package/lib/cjs/libs/protocols/obric/index.js +4 -6
  8. package/lib/cjs/libs/protocols/steamm/index.js +12 -9
  9. package/lib/cjs/types/features/swap/buildTx.d.ts.map +1 -1
  10. package/lib/cjs/types/features/swap/getQuote.d.ts.map +1 -1
  11. package/lib/cjs/types/libs/protocols/base.d.ts +2 -1
  12. package/lib/cjs/types/libs/protocols/base.d.ts.map +1 -1
  13. package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts +6 -1
  14. package/lib/cjs/types/libs/protocols/haedal_pmm/index.d.ts.map +1 -1
  15. package/lib/cjs/types/libs/protocols/index.d.ts +1 -0
  16. package/lib/cjs/types/libs/protocols/index.d.ts.map +1 -1
  17. package/lib/cjs/types/libs/protocols/obric/index.d.ts +6 -1
  18. package/lib/cjs/types/libs/protocols/obric/index.d.ts.map +1 -1
  19. package/lib/cjs/types/libs/protocols/steamm/index.d.ts +3 -3
  20. package/lib/cjs/types/libs/protocols/steamm/index.d.ts.map +1 -1
  21. package/lib/cjs/types/types/aggregator.d.ts +2 -7
  22. package/lib/cjs/types/types/aggregator.d.ts.map +1 -1
  23. package/lib/esm/features/swap/buildTx.js +3 -2
  24. package/lib/esm/features/swap/config.js +12 -12
  25. package/lib/esm/features/swap/getQuote.js +1 -0
  26. package/lib/esm/libs/protocols/base.js +14 -1
  27. package/lib/esm/libs/protocols/haedal_pmm/index.js +5 -7
  28. package/lib/esm/libs/protocols/index.js +1 -0
  29. package/lib/esm/libs/protocols/obric/index.js +4 -6
  30. package/lib/esm/libs/protocols/steamm/index.js +13 -10
  31. package/lib/esm/types/features/swap/buildTx.d.ts.map +1 -1
  32. package/lib/esm/types/features/swap/getQuote.d.ts.map +1 -1
  33. package/lib/esm/types/libs/protocols/base.d.ts +2 -1
  34. package/lib/esm/types/libs/protocols/base.d.ts.map +1 -1
  35. package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts +6 -1
  36. package/lib/esm/types/libs/protocols/haedal_pmm/index.d.ts.map +1 -1
  37. package/lib/esm/types/libs/protocols/index.d.ts +1 -0
  38. package/lib/esm/types/libs/protocols/index.d.ts.map +1 -1
  39. package/lib/esm/types/libs/protocols/obric/index.d.ts +6 -1
  40. package/lib/esm/types/libs/protocols/obric/index.d.ts.map +1 -1
  41. package/lib/esm/types/libs/protocols/steamm/index.d.ts +3 -3
  42. package/lib/esm/types/libs/protocols/steamm/index.d.ts.map +1 -1
  43. package/lib/esm/types/types/aggregator.d.ts +2 -7
  44. package/lib/esm/types/types/aggregator.d.ts.map +1 -1
  45. package/package.json +7 -7
@@ -124,8 +124,9 @@ exports.buildTx = buildTx;
124
124
  const getPythPriceFeeds = (res) => {
125
125
  const ids = new Set();
126
126
  for (const s of res.swaps) {
127
- for (const o of s.extra?.oracles || []) {
128
- const bytes = o.Pyth?.price_identifier?.bytes;
127
+ for (const o of (s.extra?.oracles || [])) {
128
+ // FIXME: deprecation price_identifier in the next version
129
+ const bytes = o.Pyth?.bytes || o.Pyth?.price_identifier?.bytes;
129
130
  if (bytes) {
130
131
  ids.add("0x" + (0, utils_1.toHex)(Uint8Array.from(bytes)));
131
132
  }
@@ -16,14 +16,9 @@ exports.DEFAULT_CONFIG = {
16
16
  },
17
17
  bluefin: {
18
18
  name: "Bluefin",
19
- package: "0x406f52151e7dd65addd93b0bdad7989e82aec20c3ae6971954a5140f14a59e4b",
19
+ package: "0x67b34b728c4e28e704dcfecf7c5cf55c7fc593b6c65c20d1836d97c209c1928a",
20
20
  globalConfig: "0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",
21
21
  },
22
- bluefinx: {
23
- name: "BluefinX",
24
- package: "0xf8870f988ab09be7c5820a856bd5e9da84fc7192e095a7a8829919293b00a36c",
25
- globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
26
- },
27
22
  bluemove: {
28
23
  name: "Bluemove",
29
24
  package: "0x08cd33481587d4c4612865b164796d937df13747d8c763b8a178c87e3244498f",
@@ -31,7 +26,7 @@ exports.DEFAULT_CONFIG = {
31
26
  },
32
27
  cetus: {
33
28
  name: "Cetus",
34
- package: "0x15c0555d7601d98ca2659a8387d377a81b1e285ee0808484e101f96d05806187",
29
+ package: "0xb2db7142fa83210a7d78d9c12ac49c043b3cbbd482224fea6e3da00aa5a5ae2d",
35
30
  globalConfig: "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",
36
31
  },
37
32
  deepbook_v3: {
@@ -47,7 +42,7 @@ exports.DEFAULT_CONFIG = {
47
42
  },
48
43
  flowx_v3: {
49
44
  name: "Flowx Finance V3",
50
- package: "0x3974baf3c1fb21edba6407feff33e77c8fd05670b5cd8815e8fdc289b1f30267",
45
+ package: "0xe882cd54551e73e64ff5b257146a0c5264546974cf00d78ecc871017cb22df67",
51
46
  registry: "0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",
52
47
  version: "0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",
53
48
  },
@@ -57,7 +52,7 @@ exports.DEFAULT_CONFIG = {
57
52
  },
58
53
  kriya_v3: {
59
54
  name: "Kriya V3",
60
- package: "0x7cfee19b76f44a30cd7b8edcbb24eff1cc3fdc3495d3d07e99f1af46f5719861",
55
+ package: "0x0d7305a7475ed54adc905365bd081939a81926636b4c438cf2f75f4924b8d960",
61
56
  version: "0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",
62
57
  },
63
58
  obric: {
@@ -79,7 +74,7 @@ exports.DEFAULT_CONFIG = {
79
74
  },
80
75
  turbos: {
81
76
  name: "Turbos Finance",
82
- package: "0x9df4666296ee324a6f11e9f664e35e7fd6b6e8c9e9058ce6ee9ad5c5343c2f87",
77
+ package: "0xd02012c71c1a6a221e540c36c37c81e0224907fe1ee05bfe250025654ff17103",
83
78
  version: "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",
84
79
  },
85
80
  steamm: {
@@ -90,7 +85,7 @@ exports.DEFAULT_CONFIG = {
90
85
  },
91
86
  magma: {
92
87
  name: "Magma",
93
- package: "0x97aa7a842f53ccafc3514fb875fee9b9cd65cf9e6e39087ee327c94f77a4e319",
88
+ package: "0x49e9f06c58a36830fe0d83291f002012e72b00a4ec9b3a6304c40fc5712bb6e3",
94
89
  globalConfig: "0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",
95
90
  },
96
91
  haedal_pmm: {
@@ -99,9 +94,14 @@ exports.DEFAULT_CONFIG = {
99
94
  },
100
95
  momentum: {
101
96
  name: "Momentum",
102
- package: "0x9c12f3aa14a449a0a23c066589e269086f021a98939f21158cfacb16d19787c3",
97
+ package: "0xc84b1ef2ac2ba5c3018e2b8c956ba5d0391e0e46d1daa1926d5a99a6a42526b4",
103
98
  version: "0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",
104
99
  },
100
+ bluefinx: {
101
+ name: "BluefinX",
102
+ package: "0xf8870f988ab09be7c5820a856bd5e9da84fc7192e095a7a8829919293b00a36c",
103
+ globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
104
+ },
105
105
  };
106
106
  let config = exports.DEFAULT_CONFIG;
107
107
  let configTs = 0;
@@ -23,6 +23,7 @@ exports.DEFAULT_SOURCES = [
23
23
  "stsui",
24
24
  "steamm",
25
25
  "steamm_oracle_quoter",
26
+ "steamm_oracle_quoter_v2",
26
27
  "magma",
27
28
  "haedal_pmm",
28
29
  "momentum",
@@ -24,5 +24,18 @@ class BaseContract {
24
24
  }
25
25
  return extra;
26
26
  }
27
+ getPythPriceInfoId(oracle) {
28
+ // FIXME: deprecation price_identifier in the next version
29
+ const bytes = oracle?.Pyth?.bytes || oracle?.Pyth?.price_identifier?.bytes;
30
+ if (!bytes) {
31
+ throw new Error(`Invalid oracle info for getPythPriceInfoId`);
32
+ }
33
+ const feedId = "0x" + (0, utils_1.toHex)(Uint8Array.from(bytes));
34
+ const id = this.pythMap[feedId];
35
+ if (!id) {
36
+ throw new Error(`Missing price info for oracle ${feedId}`);
37
+ }
38
+ return id;
39
+ }
27
40
  }
28
41
  exports.BaseContract = BaseContract;
@@ -2,16 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HaedalPMMContract = void 0;
4
4
  const utils_1 = require("@mysten/sui/utils");
5
- const base_1 = require("../base");
6
5
  const sui_1 = require("../../../utils/sui");
6
+ const base_1 = require("../base");
7
7
  class HaedalPMMContract extends base_1.BaseContract {
8
8
  async swap(tx) {
9
9
  const [coinX, coinY] = this.swapInfo.pool.allTokens;
10
10
  const xToY = this.swapInfo.swapXtoY;
11
- const { x_price_id, y_price_id } = this.swapInfo.extra || {};
12
- if (!x_price_id || !y_price_id) {
13
- throw new Error("x_price_id and y_price_id are required");
14
- }
11
+ const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
12
+ const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
15
13
  const config = this.config.haedal_pmm;
16
14
  const [coinOut] = tx.moveCall({
17
15
  target: `${config.package}::trader::${xToY ? "sell_base_coin" : "sell_quote_coin"}`,
@@ -19,8 +17,8 @@ class HaedalPMMContract extends base_1.BaseContract {
19
17
  arguments: [
20
18
  tx.object(this.swapInfo.poolId),
21
19
  tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
22
- tx.object(x_price_id), // pyth pricefeed for x
23
- tx.object(y_price_id), // pyth pricefeed for y
20
+ tx.object(oracleX), // pyth pricefeed for x
21
+ tx.object(oracleY), // pyth pricefeed for y
24
22
  this.inputCoinObject, // mutable coin
25
23
  this.getInputCoinValue(tx), // swap amount
26
24
  tx.pure.u64(0), // min output amount
@@ -37,6 +37,7 @@ exports.ProtocolContract = {
37
37
  stsui: stsui_1.StSuiContract,
38
38
  steamm: steamm_1.SteammContract,
39
39
  steamm_oracle_quoter: steamm_1.SteammContract,
40
+ steamm_oracle_quoter_v2: steamm_1.SteammContract,
40
41
  magma: magma_1.MagmaContract,
41
42
  haedal_pmm: haedal_pmm_1.HaedalPMMContract,
42
43
  momentum: momentum_1.MomentumContract,
@@ -7,10 +7,8 @@ class ObricContract extends base_1.BaseContract {
7
7
  async swap(tx) {
8
8
  const [coinX, coinY] = this.swapInfo.pool.allTokens;
9
9
  const xToY = this.swapInfo.swapXtoY;
10
- const { x_price_id, y_price_id } = this.swapInfo.extra || {};
11
- if (!x_price_id || !y_price_id) {
12
- throw new Error("x_price_id and y_price_id are required");
13
- }
10
+ const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
11
+ const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
14
12
  const { package: PACKAGE_ID, pythState: PYTH_STATE } = this.config.obric;
15
13
  const [coinOut] = tx.moveCall({
16
14
  target: `${PACKAGE_ID}::v2::${xToY ? "swap_x_to_y" : "swap_y_to_x"}`,
@@ -19,8 +17,8 @@ class ObricContract extends base_1.BaseContract {
19
17
  tx.object(this.swapInfo.poolId),
20
18
  tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
21
19
  tx.object(PYTH_STATE),
22
- tx.object(x_price_id), // pyth pricefeed for x
23
- tx.object(y_price_id), // pyth pricefeed for y
20
+ tx.object(oracleX), // pyth pricefeed for x
21
+ tx.object(oracleY), // pyth pricefeed for y
24
22
  this.inputCoinObject,
25
23
  ],
26
24
  });
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SteammContract = void 0;
4
- const base_1 = require("../base");
5
4
  const utils_1 = require("@mysten/sui/utils");
6
5
  const sui_1 = require("../../../utils/sui");
6
+ const base_1 = require("../base");
7
7
  class SteammContract extends base_1.BaseContract {
8
8
  async swap(tx) {
9
9
  if (this.extra.poolStructTag.includes("omm::OracleQuoter")) {
10
- return this.ommSwap(tx);
10
+ return this.ommSwap(tx, "v1");
11
+ }
12
+ else if (this.extra.poolStructTag.includes("omm_v2::OracleQuoterV2")) {
13
+ return this.ommSwap(tx, "v2");
11
14
  }
12
15
  else if (this.extra.poolStructTag.includes("cpmm::CpQuoter")) {
13
16
  return this.cpmmSwap(tx);
@@ -68,7 +71,7 @@ class SteammContract extends base_1.BaseContract {
68
71
  sui_1.SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
69
72
  return coinOut;
70
73
  }
71
- ommSwap(tx) {
74
+ ommSwap(tx, version) {
72
75
  const extra = this.swapInfo.extra;
73
76
  if (!extra ||
74
77
  !extra.bankAStructTag ||
@@ -96,7 +99,7 @@ class SteammContract extends base_1.BaseContract {
96
99
  : sui_1.SuiUtils.zeroCoin(tx, (0, utils_1.normalizeStructTag)(coinTypeB));
97
100
  const [priceA, priceB] = this.getOraclePriceUpdate(tx);
98
101
  tx.moveCall({
99
- target: `${this.config.steamm.script}::pool_script_v2::omm_swap`,
102
+ target: `${this.config.steamm.script}::pool_script_v2::${version === "v1" ? "omm_swap" : "omm_v2_swap"}`,
100
103
  typeArguments: [
101
104
  lendingMarket,
102
105
  coinTypeA,
@@ -126,18 +129,18 @@ class SteammContract extends base_1.BaseContract {
126
129
  return coinOut;
127
130
  }
128
131
  getOraclePriceUpdate(tx) {
129
- const oracleA = this.extra.oracles?.[0]?.Pyth?.price_identifier?.bytes;
130
- const oracleB = this.extra.oracles?.[1]?.Pyth?.price_identifier?.bytes;
132
+ const oracleA = this.getPythPriceInfoId(this.extra.oracles?.[0]);
133
+ const oracleB = this.getPythPriceInfoId(this.extra.oracles?.[1]);
131
134
  const registry = this.extra.oracleRegistry;
132
135
  const indexes = this.extra.oracleIndexes;
133
- if (!oracleA || !oracleB || !registry || indexes?.length !== 2) {
136
+ if (!registry || indexes?.length !== 2) {
134
137
  throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
135
138
  }
136
139
  const [a] = tx.moveCall({
137
140
  target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
138
141
  arguments: [
139
142
  tx.object(registry),
140
- tx.object(this.pythMap["0x" + (0, utils_1.toHex)(Uint8Array.from(oracleA))]),
143
+ tx.object(oracleA),
141
144
  tx.pure.u64(indexes[0]),
142
145
  tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
143
146
  ],
@@ -146,7 +149,7 @@ class SteammContract extends base_1.BaseContract {
146
149
  target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
147
150
  arguments: [
148
151
  tx.object(registry),
149
- tx.object(this.pythMap["0x" + (0, utils_1.toHex)(Uint8Array.from(oracleB))]),
152
+ tx.object(oracleB),
150
153
  tx.pure.u64(indexes[1]),
151
154
  tx.object(utils_1.SUI_CLOCK_OBJECT_ID),
152
155
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,aAAa,EAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4IvC,CAAC"}
1
+ {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,aAAa,EAId,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4IvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getQuote.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/getQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,EAoBtC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,KAAK,GACN,EAAE,MAAM,0BA+BR"}
1
+ {"version":3,"file":"getQuote.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/getQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,EAqBtC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,KAAK,GACN,EAAE,MAAM,0BA+BR"}
@@ -1,5 +1,5 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
- import { Config, TxSorSwap } from "../../types/aggregator";
2
+ import { Config, ExtraOracle, TxSorSwap } from "../../types/aggregator";
3
3
  import { TransactionResultItem } from "../../types/sui";
4
4
  export interface BaseContractParams {
5
5
  swapInfo: TxSorSwap;
@@ -20,5 +20,6 @@ export declare abstract class BaseContract<T = any> {
20
20
  protected getInputCoinValue(tx: Transaction): import("@mysten/sui/transactions").TransactionArgument;
21
21
  protected getTypeParams(): string[];
22
22
  protected get extra(): NonNullable<T>;
23
+ protected getPythPriceInfoId(oracle?: ExtraOracle): string;
23
24
  }
24
25
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,qBAAqB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,8BAAsB,YAAY,CAAC,CAAC,GAAG,GAAG;IACxC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACjD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE9B,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,kBAAkB;IAQrB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAE9D,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW;IAQ3C,SAAS,CAAC,aAAa;IAMvB,SAAS,KAAK,KAAK,mBAMlB;CACF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,qBAAqB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,8BAAsB,YAAY,CAAC,CAAC,GAAG,GAAG;IACxC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACjD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE9B,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,kBAAkB;IAQrB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAE9D,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW;IAQ3C,SAAS,CAAC,aAAa;IAMvB,SAAS,KAAK,KAAK,mBAMlB;IAED,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW;CAclD"}
@@ -1,9 +1,14 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
+ import { ExtraOracle } from "../../../types/aggregator";
2
3
  import { BaseContract } from "../base";
3
- export declare class HaedalPMMContract extends BaseContract {
4
+ type HaedalPMMExtra = {
5
+ oracles: ExtraOracle[];
6
+ };
7
+ export declare class HaedalPMMContract extends BaseContract<HaedalPMMExtra> {
4
8
  swap(tx: Transaction): Promise<{
5
9
  $kind: "NestedResult";
6
10
  NestedResult: [number, number];
7
11
  }>;
8
12
  }
13
+ export {};
9
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/haedal_pmm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,qBAAa,iBAAkB,SAAQ,YAAY;IAC3C,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CA4B3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/haedal_pmm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AACF,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,cAAc,CAAC;IAC3D,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAyB3B"}
@@ -34,6 +34,7 @@ export declare const ProtocolContract: {
34
34
  stsui: typeof StSuiContract;
35
35
  steamm: typeof SteammContract;
36
36
  steamm_oracle_quoter: typeof SteammContract;
37
+ steamm_oracle_quoter_v2: typeof SteammContract;
37
38
  magma: typeof MagmaContract;
38
39
  haedal_pmm: typeof HaedalPMMContract;
39
40
  momentum: typeof MomentumContract;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAqB5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
+ import { ExtraOracle } from "../../../types/aggregator";
2
3
  import { BaseContract } from "../base";
3
- export declare class ObricContract extends BaseContract {
4
+ type ObricExtra = {
5
+ oracles: ExtraOracle[];
6
+ };
7
+ export declare class ObricContract extends BaseContract<ObricExtra> {
4
8
  swap(tx: Transaction): Promise<{
5
9
  $kind: "NestedResult";
6
10
  NestedResult: [number, number];
7
11
  }>;
8
12
  }
13
+ export {};
9
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/obric/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,qBAAa,aAAc,SAAQ,YAAY;IACvC,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAwB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/obric/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AACF,qBAAa,aAAc,SAAQ,YAAY,CAAC,UAAU,CAAC;IACnD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAuB3B"}
@@ -1,6 +1,6 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
- import { BaseContract } from "../base";
3
2
  import { ExtraOracle } from "../../../types/aggregator";
3
+ import { BaseContract } from "../base";
4
4
  export type SteamExtra = {
5
5
  bankAStructTag: string;
6
6
  bankBStructTag: string;
@@ -10,7 +10,7 @@ export type SteamExtra = {
10
10
  lendingMarketA: string;
11
11
  lendingMarketB: string;
12
12
  oracleRegistry?: string;
13
- oracles?: ExtraOracle[];
13
+ oracles: ExtraOracle[];
14
14
  oracleIndexes?: number[];
15
15
  };
16
16
  export declare class SteammContract extends BaseContract<SteamExtra> {
@@ -22,7 +22,7 @@ export declare class SteammContract extends BaseContract<SteamExtra> {
22
22
  $kind: "NestedResult";
23
23
  NestedResult: [number, number];
24
24
  };
25
- ommSwap(tx: Transaction): {
25
+ ommSwap(tx: Transaction, version: "v1" | "v2"): {
26
26
  $kind: "NestedResult";
27
27
  NestedResult: [number, number];
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/steamm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AACF,qBAAa,cAAe,SAAQ,YAAY,CAAC,UAAU,CAAC;IACpD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;IAS1B,QAAQ,CAAC,EAAE,EAAE,WAAW;;;;IAmExB,OAAO,CAAC,EAAE,EAAE,WAAW;;;;IAqEvB,oBAAoB,CAAC,EAAE,EAAE,WAAW;;;;;;;CA8BrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/steamm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AACF,qBAAa,cAAe,SAAQ,YAAY,CAAC,UAAU,CAAC;IACpD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;IAW1B,QAAQ,CAAC,EAAE,EAAE,WAAW;;;;IAmExB,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI;;;;IAuE7C,oBAAoB,CAAC,EAAE,EAAE,WAAW;;;;;;;CA8BrC"}
@@ -1,7 +1,7 @@
1
1
  import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
2
2
  import { BluefinXTx } from "../libs/protocols/bluefinx/types";
3
3
  export { BluefinXTx };
4
- export type SourceDex = "suiswap" | "turbos" | "cetus" | "bluemove" | "kriya" | "kriya_v3" | "aftermath" | "deepbook_v3" | "flowx" | "flowx_v3" | "bluefin" | "bluefinx" | "springsui" | "obric" | "stsui" | "steamm" | "steamm_oracle_quoter" | "magma" | "haedal_pmm" | "momentum";
4
+ export type SourceDex = "suiswap" | "turbos" | "cetus" | "bluemove" | "kriya" | "kriya_v3" | "aftermath" | "deepbook_v3" | "flowx" | "flowx_v3" | "bluefin" | "bluefinx" | "springsui" | "obric" | "stsui" | "steamm" | "steamm_oracle_quoter" | "steamm_oracle_quoter_v2" | "magma" | "haedal_pmm" | "momentum";
5
5
  export type SorSwap = {
6
6
  poolId: string;
7
7
  assetInIndex: number;
@@ -135,12 +135,7 @@ export interface Config {
135
135
  }
136
136
  export type ExtraOracle = {
137
137
  Pyth?: {
138
- price_identifier: {
139
- bytes: number[];
140
- };
141
- };
142
- Switchboard?: {
143
- object_id: string;
138
+ bytes: number[];
144
139
  };
145
140
  };
146
141
  export type AggregatorTx = Transaction | BluefinXTx;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/types/aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/types/aggregator.ts"],"names":[],"mappings":"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"}
@@ -120,8 +120,9 @@ export const buildTx = async ({ quoteResponse, accountAddress, slippage, commiss
120
120
  const getPythPriceFeeds = (res) => {
121
121
  const ids = new Set();
122
122
  for (const s of res.swaps) {
123
- for (const o of s.extra?.oracles || []) {
124
- const bytes = o.Pyth?.price_identifier?.bytes;
123
+ for (const o of (s.extra?.oracles || [])) {
124
+ // FIXME: deprecation price_identifier in the next version
125
+ const bytes = o.Pyth?.bytes || o.Pyth?.price_identifier?.bytes;
125
126
  if (bytes) {
126
127
  ids.add("0x" + toHex(Uint8Array.from(bytes)));
127
128
  }
@@ -12,14 +12,9 @@ export const DEFAULT_CONFIG = {
12
12
  },
13
13
  bluefin: {
14
14
  name: "Bluefin",
15
- package: "0x406f52151e7dd65addd93b0bdad7989e82aec20c3ae6971954a5140f14a59e4b",
15
+ package: "0x67b34b728c4e28e704dcfecf7c5cf55c7fc593b6c65c20d1836d97c209c1928a",
16
16
  globalConfig: "0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",
17
17
  },
18
- bluefinx: {
19
- name: "BluefinX",
20
- package: "0xf8870f988ab09be7c5820a856bd5e9da84fc7192e095a7a8829919293b00a36c",
21
- globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
22
- },
23
18
  bluemove: {
24
19
  name: "Bluemove",
25
20
  package: "0x08cd33481587d4c4612865b164796d937df13747d8c763b8a178c87e3244498f",
@@ -27,7 +22,7 @@ export const DEFAULT_CONFIG = {
27
22
  },
28
23
  cetus: {
29
24
  name: "Cetus",
30
- package: "0x15c0555d7601d98ca2659a8387d377a81b1e285ee0808484e101f96d05806187",
25
+ package: "0xb2db7142fa83210a7d78d9c12ac49c043b3cbbd482224fea6e3da00aa5a5ae2d",
31
26
  globalConfig: "0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",
32
27
  },
33
28
  deepbook_v3: {
@@ -43,7 +38,7 @@ export const DEFAULT_CONFIG = {
43
38
  },
44
39
  flowx_v3: {
45
40
  name: "Flowx Finance V3",
46
- package: "0x3974baf3c1fb21edba6407feff33e77c8fd05670b5cd8815e8fdc289b1f30267",
41
+ package: "0xe882cd54551e73e64ff5b257146a0c5264546974cf00d78ecc871017cb22df67",
47
42
  registry: "0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",
48
43
  version: "0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",
49
44
  },
@@ -53,7 +48,7 @@ export const DEFAULT_CONFIG = {
53
48
  },
54
49
  kriya_v3: {
55
50
  name: "Kriya V3",
56
- package: "0x7cfee19b76f44a30cd7b8edcbb24eff1cc3fdc3495d3d07e99f1af46f5719861",
51
+ package: "0x0d7305a7475ed54adc905365bd081939a81926636b4c438cf2f75f4924b8d960",
57
52
  version: "0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",
58
53
  },
59
54
  obric: {
@@ -75,7 +70,7 @@ export const DEFAULT_CONFIG = {
75
70
  },
76
71
  turbos: {
77
72
  name: "Turbos Finance",
78
- package: "0x9df4666296ee324a6f11e9f664e35e7fd6b6e8c9e9058ce6ee9ad5c5343c2f87",
73
+ package: "0xd02012c71c1a6a221e540c36c37c81e0224907fe1ee05bfe250025654ff17103",
79
74
  version: "0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",
80
75
  },
81
76
  steamm: {
@@ -86,7 +81,7 @@ export const DEFAULT_CONFIG = {
86
81
  },
87
82
  magma: {
88
83
  name: "Magma",
89
- package: "0x97aa7a842f53ccafc3514fb875fee9b9cd65cf9e6e39087ee327c94f77a4e319",
84
+ package: "0x49e9f06c58a36830fe0d83291f002012e72b00a4ec9b3a6304c40fc5712bb6e3",
90
85
  globalConfig: "0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",
91
86
  },
92
87
  haedal_pmm: {
@@ -95,9 +90,14 @@ export const DEFAULT_CONFIG = {
95
90
  },
96
91
  momentum: {
97
92
  name: "Momentum",
98
- package: "0x9c12f3aa14a449a0a23c066589e269086f021a98939f21158cfacb16d19787c3",
93
+ package: "0xc84b1ef2ac2ba5c3018e2b8c956ba5d0391e0e46d1daa1926d5a99a6a42526b4",
99
94
  version: "0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",
100
95
  },
96
+ bluefinx: {
97
+ name: "BluefinX",
98
+ package: "0xf8870f988ab09be7c5820a856bd5e9da84fc7192e095a7a8829919293b00a36c",
99
+ globalConfig: "0xc6b29a60c3924776bedc78df72c127ea52b86aeb655432979a38f13d742dedaa",
100
+ },
101
101
  };
102
102
  let config = DEFAULT_CONFIG;
103
103
  let configTs = 0;
@@ -19,6 +19,7 @@ export const DEFAULT_SOURCES = [
19
19
  "stsui",
20
20
  "steamm",
21
21
  "steamm_oracle_quoter",
22
+ "steamm_oracle_quoter_v2",
22
23
  "magma",
23
24
  "haedal_pmm",
24
25
  "momentum",
@@ -1,4 +1,4 @@
1
- import { normalizeStructTag, parseStructTag } from "@mysten/sui/utils";
1
+ import { normalizeStructTag, parseStructTag, toHex } from "@mysten/sui/utils";
2
2
  import { SuiUtils } from "../../utils/sui";
3
3
  export class BaseContract {
4
4
  swapInfo;
@@ -26,4 +26,17 @@ export class BaseContract {
26
26
  }
27
27
  return extra;
28
28
  }
29
+ getPythPriceInfoId(oracle) {
30
+ // FIXME: deprecation price_identifier in the next version
31
+ const bytes = oracle?.Pyth?.bytes || oracle?.Pyth?.price_identifier?.bytes;
32
+ if (!bytes) {
33
+ throw new Error(`Invalid oracle info for getPythPriceInfoId`);
34
+ }
35
+ const feedId = "0x" + toHex(Uint8Array.from(bytes));
36
+ const id = this.pythMap[feedId];
37
+ if (!id) {
38
+ throw new Error(`Missing price info for oracle ${feedId}`);
39
+ }
40
+ return id;
41
+ }
29
42
  }
@@ -1,14 +1,12 @@
1
1
  import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
2
- import { BaseContract } from "../base";
3
2
  import { SuiUtils } from "../../../utils/sui";
3
+ import { BaseContract } from "../base";
4
4
  export class HaedalPMMContract extends BaseContract {
5
5
  async swap(tx) {
6
6
  const [coinX, coinY] = this.swapInfo.pool.allTokens;
7
7
  const xToY = this.swapInfo.swapXtoY;
8
- const { x_price_id, y_price_id } = this.swapInfo.extra || {};
9
- if (!x_price_id || !y_price_id) {
10
- throw new Error("x_price_id and y_price_id are required");
11
- }
8
+ const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
9
+ const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
12
10
  const config = this.config.haedal_pmm;
13
11
  const [coinOut] = tx.moveCall({
14
12
  target: `${config.package}::trader::${xToY ? "sell_base_coin" : "sell_quote_coin"}`,
@@ -16,8 +14,8 @@ export class HaedalPMMContract extends BaseContract {
16
14
  arguments: [
17
15
  tx.object(this.swapInfo.poolId),
18
16
  tx.object(SUI_CLOCK_OBJECT_ID),
19
- tx.object(x_price_id), // pyth pricefeed for x
20
- tx.object(y_price_id), // pyth pricefeed for y
17
+ tx.object(oracleX), // pyth pricefeed for x
18
+ tx.object(oracleY), // pyth pricefeed for y
21
19
  this.inputCoinObject, // mutable coin
22
20
  this.getInputCoinValue(tx), // swap amount
23
21
  tx.pure.u64(0), // min output amount
@@ -34,6 +34,7 @@ export const ProtocolContract = {
34
34
  stsui: StSuiContract,
35
35
  steamm: SteammContract,
36
36
  steamm_oracle_quoter: SteammContract,
37
+ steamm_oracle_quoter_v2: SteammContract,
37
38
  magma: MagmaContract,
38
39
  haedal_pmm: HaedalPMMContract,
39
40
  momentum: MomentumContract,
@@ -4,10 +4,8 @@ export class ObricContract extends BaseContract {
4
4
  async swap(tx) {
5
5
  const [coinX, coinY] = this.swapInfo.pool.allTokens;
6
6
  const xToY = this.swapInfo.swapXtoY;
7
- const { x_price_id, y_price_id } = this.swapInfo.extra || {};
8
- if (!x_price_id || !y_price_id) {
9
- throw new Error("x_price_id and y_price_id are required");
10
- }
7
+ const oracleX = this.getPythPriceInfoId(this.extra.oracles?.[0]);
8
+ const oracleY = this.getPythPriceInfoId(this.extra.oracles?.[1]);
11
9
  const { package: PACKAGE_ID, pythState: PYTH_STATE } = this.config.obric;
12
10
  const [coinOut] = tx.moveCall({
13
11
  target: `${PACKAGE_ID}::v2::${xToY ? "swap_x_to_y" : "swap_y_to_x"}`,
@@ -16,8 +14,8 @@ export class ObricContract extends BaseContract {
16
14
  tx.object(this.swapInfo.poolId),
17
15
  tx.object(SUI_CLOCK_OBJECT_ID),
18
16
  tx.object(PYTH_STATE),
19
- tx.object(x_price_id), // pyth pricefeed for x
20
- tx.object(y_price_id), // pyth pricefeed for y
17
+ tx.object(oracleX), // pyth pricefeed for x
18
+ tx.object(oracleY), // pyth pricefeed for y
21
19
  this.inputCoinObject,
22
20
  ],
23
21
  });
@@ -1,10 +1,13 @@
1
- import { BaseContract } from "../base";
2
- import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, toHex, } from "@mysten/sui/utils";
1
+ import { normalizeStructTag, parseStructTag, SUI_CLOCK_OBJECT_ID, } from "@mysten/sui/utils";
3
2
  import { SuiUtils } from "../../../utils/sui";
3
+ import { BaseContract } from "../base";
4
4
  export class SteammContract extends BaseContract {
5
5
  async swap(tx) {
6
6
  if (this.extra.poolStructTag.includes("omm::OracleQuoter")) {
7
- return this.ommSwap(tx);
7
+ return this.ommSwap(tx, "v1");
8
+ }
9
+ else if (this.extra.poolStructTag.includes("omm_v2::OracleQuoterV2")) {
10
+ return this.ommSwap(tx, "v2");
8
11
  }
9
12
  else if (this.extra.poolStructTag.includes("cpmm::CpQuoter")) {
10
13
  return this.cpmmSwap(tx);
@@ -65,7 +68,7 @@ export class SteammContract extends BaseContract {
65
68
  SuiUtils.collectDust(tx, this.swapInfo.assetIn, coinIn);
66
69
  return coinOut;
67
70
  }
68
- ommSwap(tx) {
71
+ ommSwap(tx, version) {
69
72
  const extra = this.swapInfo.extra;
70
73
  if (!extra ||
71
74
  !extra.bankAStructTag ||
@@ -93,7 +96,7 @@ export class SteammContract extends BaseContract {
93
96
  : SuiUtils.zeroCoin(tx, normalizeStructTag(coinTypeB));
94
97
  const [priceA, priceB] = this.getOraclePriceUpdate(tx);
95
98
  tx.moveCall({
96
- target: `${this.config.steamm.script}::pool_script_v2::omm_swap`,
99
+ target: `${this.config.steamm.script}::pool_script_v2::${version === "v1" ? "omm_swap" : "omm_v2_swap"}`,
97
100
  typeArguments: [
98
101
  lendingMarket,
99
102
  coinTypeA,
@@ -123,18 +126,18 @@ export class SteammContract extends BaseContract {
123
126
  return coinOut;
124
127
  }
125
128
  getOraclePriceUpdate(tx) {
126
- const oracleA = this.extra.oracles?.[0]?.Pyth?.price_identifier?.bytes;
127
- const oracleB = this.extra.oracles?.[1]?.Pyth?.price_identifier?.bytes;
129
+ const oracleA = this.getPythPriceInfoId(this.extra.oracles?.[0]);
130
+ const oracleB = this.getPythPriceInfoId(this.extra.oracles?.[1]);
128
131
  const registry = this.extra.oracleRegistry;
129
132
  const indexes = this.extra.oracleIndexes;
130
- if (!oracleA || !oracleB || !registry || indexes?.length !== 2) {
133
+ if (!registry || indexes?.length !== 2) {
131
134
  throw new Error(`Invalid oracle info for getOraclePriceUpdate`);
132
135
  }
133
136
  const [a] = tx.moveCall({
134
137
  target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
135
138
  arguments: [
136
139
  tx.object(registry),
137
- tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleA))]),
140
+ tx.object(oracleA),
138
141
  tx.pure.u64(indexes[0]),
139
142
  tx.object(SUI_CLOCK_OBJECT_ID),
140
143
  ],
@@ -143,7 +146,7 @@ export class SteammContract extends BaseContract {
143
146
  target: `${this.config.steamm.oracle}::oracles::get_pyth_price`,
144
147
  arguments: [
145
148
  tx.object(registry),
146
- tx.object(this.pythMap["0x" + toHex(Uint8Array.from(oracleB))]),
149
+ tx.object(oracleB),
147
150
  tx.pure.u64(indexes[1]),
148
151
  tx.object(SUI_CLOCK_OBJECT_ID),
149
152
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,aAAa,EAGd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4IvC,CAAC"}
1
+ {"version":3,"file":"buildTx.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/buildTx.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,aAAa,EAId,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO,GAAU,2GAQ3B,aAAa,KAAG,OAAO,CAAC,aAAa,CA4IvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getQuote.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/getQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,EAoBtC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,KAAK,GACN,EAAE,MAAM,0BA+BR"}
1
+ {"version":3,"file":"getQuote.d.ts","sourceRoot":"","sources":["../../../../../src/features/swap/getQuote.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,UAAU,MAAM;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,EAqBtC,CAAC;AAEF,wBAAsB,QAAQ,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAyB,EACzB,aAAa,EACb,WAAW,EACX,aAAa,EACb,KAAK,GACN,EAAE,MAAM,0BA+BR"}
@@ -1,5 +1,5 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
- import { Config, TxSorSwap } from "../../types/aggregator";
2
+ import { Config, ExtraOracle, TxSorSwap } from "../../types/aggregator";
3
3
  import { TransactionResultItem } from "../../types/sui";
4
4
  export interface BaseContractParams {
5
5
  swapInfo: TxSorSwap;
@@ -20,5 +20,6 @@ export declare abstract class BaseContract<T = any> {
20
20
  protected getInputCoinValue(tx: Transaction): import("@mysten/sui/transactions").TransactionArgument;
21
21
  protected getTypeParams(): string[];
22
22
  protected get extra(): NonNullable<T>;
23
+ protected getPythPriceInfoId(oracle?: ExtraOracle): string;
23
24
  }
24
25
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,qBAAqB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,8BAAsB,YAAY,CAAC,CAAC,GAAG,GAAG;IACxC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACjD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE9B,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,kBAAkB;IAQrB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAE9D,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW;IAQ3C,SAAS,CAAC,aAAa;IAMvB,SAAS,KAAK,KAAK,mBAMlB;CACF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,eAAe,EAAE,qBAAqB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,8BAAsB,YAAY,CAAC,CAAC,GAAG,GAAG;IACxC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACjD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE9B,EACV,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,kBAAkB;IAQrB,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAE9D,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW;IAQ3C,SAAS,CAAC,aAAa;IAMvB,SAAS,KAAK,KAAK,mBAMlB;IAED,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW;CAclD"}
@@ -1,9 +1,14 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
+ import { ExtraOracle } from "../../../types/aggregator";
2
3
  import { BaseContract } from "../base";
3
- export declare class HaedalPMMContract extends BaseContract {
4
+ type HaedalPMMExtra = {
5
+ oracles: ExtraOracle[];
6
+ };
7
+ export declare class HaedalPMMContract extends BaseContract<HaedalPMMExtra> {
4
8
  swap(tx: Transaction): Promise<{
5
9
  $kind: "NestedResult";
6
10
  NestedResult: [number, number];
7
11
  }>;
8
12
  }
13
+ export {};
9
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/haedal_pmm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,qBAAa,iBAAkB,SAAQ,YAAY;IAC3C,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CA4B3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/haedal_pmm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AACF,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,cAAc,CAAC;IAC3D,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAyB3B"}
@@ -34,6 +34,7 @@ export declare const ProtocolContract: {
34
34
  stsui: typeof StSuiContract;
35
35
  steamm: typeof SteammContract;
36
36
  steamm_oracle_quoter: typeof SteammContract;
37
+ steamm_oracle_quoter_v2: typeof SteammContract;
37
38
  magma: typeof MagmaContract;
38
39
  haedal_pmm: typeof HaedalPMMContract;
39
40
  momentum: typeof MomentumContract;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAqB5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/libs/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC"}
@@ -1,9 +1,14 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
+ import { ExtraOracle } from "../../../types/aggregator";
2
3
  import { BaseContract } from "../base";
3
- export declare class ObricContract extends BaseContract {
4
+ type ObricExtra = {
5
+ oracles: ExtraOracle[];
6
+ };
7
+ export declare class ObricContract extends BaseContract<ObricExtra> {
4
8
  swap(tx: Transaction): Promise<{
5
9
  $kind: "NestedResult";
6
10
  NestedResult: [number, number];
7
11
  }>;
8
12
  }
13
+ export {};
9
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/obric/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,qBAAa,aAAc,SAAQ,YAAY;IACvC,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAwB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/obric/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AACF,qBAAa,aAAc,SAAQ,YAAY,CAAC,UAAU,CAAC;IACnD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;CAuB3B"}
@@ -1,6 +1,6 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
- import { BaseContract } from "../base";
3
2
  import { ExtraOracle } from "../../../types/aggregator";
3
+ import { BaseContract } from "../base";
4
4
  export type SteamExtra = {
5
5
  bankAStructTag: string;
6
6
  bankBStructTag: string;
@@ -10,7 +10,7 @@ export type SteamExtra = {
10
10
  lendingMarketA: string;
11
11
  lendingMarketB: string;
12
12
  oracleRegistry?: string;
13
- oracles?: ExtraOracle[];
13
+ oracles: ExtraOracle[];
14
14
  oracleIndexes?: number[];
15
15
  };
16
16
  export declare class SteammContract extends BaseContract<SteamExtra> {
@@ -22,7 +22,7 @@ export declare class SteammContract extends BaseContract<SteamExtra> {
22
22
  $kind: "NestedResult";
23
23
  NestedResult: [number, number];
24
24
  };
25
- ommSwap(tx: Transaction): {
25
+ ommSwap(tx: Transaction, version: "v1" | "v2"): {
26
26
  $kind: "NestedResult";
27
27
  NestedResult: [number, number];
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/steamm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AACF,qBAAa,cAAe,SAAQ,YAAY,CAAC,UAAU,CAAC;IACpD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;IAS1B,QAAQ,CAAC,EAAE,EAAE,WAAW;;;;IAmExB,OAAO,CAAC,EAAE,EAAE,WAAW;;;;IAqEvB,oBAAoB,CAAC,EAAE,EAAE,WAAW;;;;;;;CA8BrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/protocols/steamm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AACF,qBAAa,cAAe,SAAQ,YAAY,CAAC,UAAU,CAAC;IACpD,IAAI,CAAC,EAAE,EAAE,WAAW;;;;IAW1B,QAAQ,CAAC,EAAE,EAAE,WAAW;;;;IAmExB,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI;;;;IAuE7C,oBAAoB,CAAC,EAAE,EAAE,WAAW;;;;;;;CA8BrC"}
@@ -1,7 +1,7 @@
1
1
  import { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
2
2
  import { BluefinXTx } from "../libs/protocols/bluefinx/types";
3
3
  export { BluefinXTx };
4
- export type SourceDex = "suiswap" | "turbos" | "cetus" | "bluemove" | "kriya" | "kriya_v3" | "aftermath" | "deepbook_v3" | "flowx" | "flowx_v3" | "bluefin" | "bluefinx" | "springsui" | "obric" | "stsui" | "steamm" | "steamm_oracle_quoter" | "magma" | "haedal_pmm" | "momentum";
4
+ export type SourceDex = "suiswap" | "turbos" | "cetus" | "bluemove" | "kriya" | "kriya_v3" | "aftermath" | "deepbook_v3" | "flowx" | "flowx_v3" | "bluefin" | "bluefinx" | "springsui" | "obric" | "stsui" | "steamm" | "steamm_oracle_quoter" | "steamm_oracle_quoter_v2" | "magma" | "haedal_pmm" | "momentum";
5
5
  export type SorSwap = {
6
6
  poolId: string;
7
7
  assetInIndex: number;
@@ -135,12 +135,7 @@ export interface Config {
135
135
  }
136
136
  export type ExtraOracle = {
137
137
  Pyth?: {
138
- price_identifier: {
139
- bytes: number[];
140
- };
141
- };
142
- Switchboard?: {
143
- object_id: string;
138
+ bytes: number[];
144
139
  };
145
140
  };
146
141
  export type AggregatorTx = Transaction | BluefinXTx;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/types/aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/types/aggregator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7kprotocol/sdk-ts",
3
- "version": "3.0.2",
3
+ "version": "3.1.0",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -40,7 +40,7 @@
40
40
  "build:esm": "tsc -p ./configs/tsconfig.esm.json && mv lib/esm/index.js lib/esm/index.mjs",
41
41
  "build:cjs": "tsc -p ./configs/tsconfig.cjs.json",
42
42
  "prepack": "npm run build",
43
- "test": "mocha --timeout 10000",
43
+ "test": "mocha --timeout 20000",
44
44
  "publish:patch": "npm version patch --no-git-tag-version && npm publish --access public",
45
45
  "publish:minor": "npm version minor --no-git-tag-version && npm publish --access public",
46
46
  "publish:major": "npm version major --no-git-tag-version && npm publish --access public",
@@ -58,20 +58,20 @@
58
58
  "author": "7k Protocol",
59
59
  "license": "MIT",
60
60
  "devDependencies": {
61
- "@eslint/js": "^9.26.0",
61
+ "@eslint/js": "^9.29.0",
62
62
  "@types/chai": "^5.2.2",
63
63
  "@types/eslint__js": "^8.42.3",
64
64
  "@types/mocha": "^10.0.10",
65
65
  "chai": "^5.2.0",
66
- "eslint": "^9.26.0",
66
+ "eslint": "^9.29.0",
67
67
  "husky": "^9.1.7",
68
- "mocha": "^11.2.2",
68
+ "mocha": "^11.6.0",
69
69
  "ts-node": "^10.9.2",
70
70
  "typescript": "^5.8.3",
71
- "typescript-eslint": "^8.32.0"
71
+ "typescript-eslint": "^8.34.1"
72
72
  },
73
73
  "peerDependencies": {
74
- "@mysten/sui": "^1.29.1",
74
+ "@mysten/sui": "^1.33.0",
75
75
  "@pythnetwork/pyth-sui-js": "^2.1.0"
76
76
  }
77
77
  }