@7kprotocol/sdk-ts 3.0.1 → 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 +6 -5
  2. package/lib/cjs/features/swap/config.js +13 -13
  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 +6 -5
  24. package/lib/esm/features/swap/config.js +13 -13
  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
@@ -122,16 +122,17 @@ const buildTx = async ({ quoteResponse, accountAddress, slippage, commission: __
122
122
  };
123
123
  exports.buildTx = buildTx;
124
124
  const getPythPriceFeeds = (res) => {
125
- const ids = [];
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
- ids.push("0x" + (0, utils_1.toHex)(Uint8Array.from(bytes)));
131
+ ids.add("0x" + (0, utils_1.toHex)(Uint8Array.from(bytes)));
131
132
  }
132
133
  }
133
134
  }
134
- return ids;
135
+ return Array.from(ids);
135
136
  };
136
137
  const updatePythPriceFeedsIfAny = async (tx, quoteResponse) => {
137
138
  // update oracles price if any
@@ -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,18 +74,18 @@ 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: {
86
81
  name: "Steamm",
87
82
  package: "0x4454d95507deb17d5017db11105bd95027d434776af1d0049ce27a3510a9a1ba",
88
- script: "0xa5eda33c0829a546b55fdf0bb1ad88175df00e1c72690b79ac966c49082b9834",
83
+ script: "0xbef015f8fe24f324cc4a7939a88c164e78d2d859aa925a75bd8f8472b6ae7d0e",
89
84
  oracle: "0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",
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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"}
@@ -118,16 +118,17 @@ export const buildTx = async ({ quoteResponse, accountAddress, slippage, commiss
118
118
  return { tx, coinOut };
119
119
  };
120
120
  const getPythPriceFeeds = (res) => {
121
- const ids = [];
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
- ids.push("0x" + toHex(Uint8Array.from(bytes)));
127
+ ids.add("0x" + toHex(Uint8Array.from(bytes)));
127
128
  }
128
129
  }
129
130
  }
130
- return ids;
131
+ return Array.from(ids);
131
132
  };
132
133
  const updatePythPriceFeedsIfAny = async (tx, quoteResponse) => {
133
134
  // update oracles price if any
@@ -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,18 +70,18 @@ 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: {
82
77
  name: "Steamm",
83
78
  package: "0x4454d95507deb17d5017db11105bd95027d434776af1d0049ce27a3510a9a1ba",
84
- script: "0xa5eda33c0829a546b55fdf0bb1ad88175df00e1c72690b79ac966c49082b9834",
79
+ script: "0xbef015f8fe24f324cc4a7939a88c164e78d2d859aa925a75bd8f8472b6ae7d0e",
85
80
  oracle: "0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",
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.1",
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 5000",
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
  }