@strkfarm/sdk 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5719,70 +5719,15 @@ var strkfarm_risk_engine = (() => {
5719
5719
  }
5720
5720
  });
5721
5721
 
5722
- // node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/_assert.js
5723
- var require_assert = __commonJS({
5724
- "node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/_assert.js"(exports) {
5725
- "use strict";
5726
- Object.defineProperty(exports, "__esModule", { value: true });
5727
- exports.anumber = anumber4;
5728
- exports.number = anumber4;
5729
- exports.abytes = abytes4;
5730
- exports.bytes = abytes4;
5731
- exports.ahash = ahash3;
5732
- exports.aexists = aexists3;
5733
- exports.aoutput = aoutput3;
5734
- function anumber4(n) {
5735
- if (!Number.isSafeInteger(n) || n < 0)
5736
- throw new Error("positive integer expected, got " + n);
5737
- }
5738
- function isBytes6(a) {
5739
- return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
5740
- }
5741
- function abytes4(b, ...lengths) {
5742
- if (!isBytes6(b))
5743
- throw new Error("Uint8Array expected");
5744
- if (lengths.length > 0 && !lengths.includes(b.length))
5745
- throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length);
5746
- }
5747
- function ahash3(h) {
5748
- if (typeof h !== "function" || typeof h.create !== "function")
5749
- throw new Error("Hash should be wrapped by utils.wrapConstructor");
5750
- anumber4(h.outputLen);
5751
- anumber4(h.blockLen);
5752
- }
5753
- function aexists3(instance, checkFinished = true) {
5754
- if (instance.destroyed)
5755
- throw new Error("Hash instance has been destroyed");
5756
- if (checkFinished && instance.finished)
5757
- throw new Error("Hash#digest() has already been called");
5758
- }
5759
- function aoutput3(out, instance) {
5760
- abytes4(out);
5761
- const min = instance.outputLen;
5762
- if (out.length < min) {
5763
- throw new Error("digestInto() expects output buffer of length at least " + min);
5764
- }
5765
- }
5766
- var assert4 = {
5767
- number: anumber4,
5768
- bytes: abytes4,
5769
- hash: ahash3,
5770
- exists: aexists3,
5771
- output: aoutput3
5772
- };
5773
- exports.default = assert4;
5774
- }
5775
- });
5776
-
5777
- // node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/_u64.js
5722
+ // node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/_u64.js
5778
5723
  var require_u64 = __commonJS({
5779
- "node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/_u64.js"(exports) {
5724
+ "node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/_u64.js"(exports) {
5780
5725
  "use strict";
5781
5726
  Object.defineProperty(exports, "__esModule", { value: true });
5782
- exports.add5L = exports.add5H = exports.add4H = exports.add4L = exports.add3H = exports.add3L = exports.rotlBL = exports.rotlBH = exports.rotlSL = exports.rotlSH = exports.rotr32L = exports.rotr32H = exports.rotrBL = exports.rotrBH = exports.rotrSL = exports.rotrSH = exports.shrSL = exports.shrSH = exports.toBig = void 0;
5727
+ exports.toBig = exports.shrSL = exports.shrSH = exports.rotrSL = exports.rotrSH = exports.rotrBL = exports.rotrBH = exports.rotr32L = exports.rotr32H = exports.rotlSL = exports.rotlSH = exports.rotlBL = exports.rotlBH = exports.add5L = exports.add5H = exports.add4L = exports.add4H = exports.add3L = exports.add3H = void 0;
5728
+ exports.add = add;
5783
5729
  exports.fromBig = fromBig2;
5784
5730
  exports.split = split2;
5785
- exports.add = add;
5786
5731
  var U32_MASK642 = /* @__PURE__ */ BigInt(2 ** 32 - 1);
5787
5732
  var _32n2 = /* @__PURE__ */ BigInt(32);
5788
5733
  function fromBig2(n, le = false) {
@@ -5791,9 +5736,10 @@ var strkfarm_risk_engine = (() => {
5791
5736
  return { h: Number(n >> _32n2 & U32_MASK642) | 0, l: Number(n & U32_MASK642) | 0 };
5792
5737
  }
5793
5738
  function split2(lst, le = false) {
5794
- let Ah = new Uint32Array(lst.length);
5795
- let Al = new Uint32Array(lst.length);
5796
- for (let i = 0; i < lst.length; i++) {
5739
+ const len = lst.length;
5740
+ let Ah = new Uint32Array(len);
5741
+ let Al = new Uint32Array(len);
5742
+ for (let i = 0; i < len; i++) {
5797
5743
  const { h, l } = fromBig2(lst[i], le);
5798
5744
  [Ah[i], Al[i]] = [h, l];
5799
5745
  }
@@ -5869,9 +5815,9 @@ var strkfarm_risk_engine = (() => {
5869
5815
  }
5870
5816
  });
5871
5817
 
5872
- // node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/crypto.js
5818
+ // node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/crypto.js
5873
5819
  var require_crypto = __commonJS({
5874
- "node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/crypto.js"(exports) {
5820
+ "node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/crypto.js"(exports) {
5875
5821
  "use strict";
5876
5822
  Object.defineProperty(exports, "__esModule", { value: true });
5877
5823
  exports.crypto = void 0;
@@ -5879,52 +5825,114 @@ var strkfarm_risk_engine = (() => {
5879
5825
  }
5880
5826
  });
5881
5827
 
5882
- // node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/utils.js
5828
+ // node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/utils.js
5883
5829
  var require_utils3 = __commonJS({
5884
- "node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/utils.js"(exports) {
5830
+ "node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/utils.js"(exports) {
5885
5831
  "use strict";
5886
5832
  Object.defineProperty(exports, "__esModule", { value: true });
5887
- exports.Hash = exports.nextTick = exports.byteSwapIfBE = exports.byteSwap = exports.isLE = exports.rotl = exports.rotr = exports.createView = exports.u32 = exports.u8 = void 0;
5833
+ exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.Hash = exports.nextTick = exports.swap32IfBE = exports.byteSwapIfBE = exports.swap8IfBE = exports.isLE = void 0;
5888
5834
  exports.isBytes = isBytes6;
5835
+ exports.anumber = anumber4;
5836
+ exports.abytes = abytes4;
5837
+ exports.ahash = ahash3;
5838
+ exports.aexists = aexists3;
5839
+ exports.aoutput = aoutput3;
5840
+ exports.u8 = u8;
5841
+ exports.u32 = u322;
5842
+ exports.clean = clean2;
5843
+ exports.createView = createView3;
5844
+ exports.rotr = rotr3;
5845
+ exports.rotl = rotl;
5846
+ exports.byteSwap = byteSwap2;
5889
5847
  exports.byteSwap32 = byteSwap322;
5890
5848
  exports.bytesToHex = bytesToHex3;
5891
5849
  exports.hexToBytes = hexToBytes4;
5892
5850
  exports.asyncLoop = asyncLoop;
5893
5851
  exports.utf8ToBytes = utf8ToBytes4;
5852
+ exports.bytesToUtf8 = bytesToUtf8;
5894
5853
  exports.toBytes = toBytes3;
5854
+ exports.kdfInputToBytes = kdfInputToBytes;
5895
5855
  exports.concatBytes = concatBytes4;
5896
5856
  exports.checkOpts = checkOpts;
5897
- exports.wrapConstructor = wrapConstructor2;
5898
- exports.wrapConstructorWithOpts = wrapConstructorWithOpts;
5899
- exports.wrapXOFConstructorWithOpts = wrapXOFConstructorWithOpts2;
5857
+ exports.createHasher = createHasher2;
5858
+ exports.createOptHasher = createOptHasher;
5859
+ exports.createXOFer = createXOFer;
5900
5860
  exports.randomBytes = randomBytes3;
5901
5861
  var crypto_1 = require_crypto();
5902
- var _assert_js_1 = require_assert();
5903
5862
  function isBytes6(a) {
5904
5863
  return a instanceof Uint8Array || ArrayBuffer.isView(a) && a.constructor.name === "Uint8Array";
5905
5864
  }
5906
- var u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
5907
- exports.u8 = u8;
5908
- var u322 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
5909
- exports.u32 = u322;
5910
- var createView3 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
5911
- exports.createView = createView3;
5912
- var rotr3 = (word, shift) => word << 32 - shift | word >>> shift;
5913
- exports.rotr = rotr3;
5914
- var rotl = (word, shift) => word << shift | word >>> 32 - shift >>> 0;
5915
- exports.rotl = rotl;
5865
+ function anumber4(n) {
5866
+ if (!Number.isSafeInteger(n) || n < 0)
5867
+ throw new Error("positive integer expected, got " + n);
5868
+ }
5869
+ function abytes4(b, ...lengths) {
5870
+ if (!isBytes6(b))
5871
+ throw new Error("Uint8Array expected");
5872
+ if (lengths.length > 0 && !lengths.includes(b.length))
5873
+ throw new Error("Uint8Array expected of length " + lengths + ", got length=" + b.length);
5874
+ }
5875
+ function ahash3(h) {
5876
+ if (typeof h !== "function" || typeof h.create !== "function")
5877
+ throw new Error("Hash should be wrapped by utils.createHasher");
5878
+ anumber4(h.outputLen);
5879
+ anumber4(h.blockLen);
5880
+ }
5881
+ function aexists3(instance, checkFinished = true) {
5882
+ if (instance.destroyed)
5883
+ throw new Error("Hash instance has been destroyed");
5884
+ if (checkFinished && instance.finished)
5885
+ throw new Error("Hash#digest() has already been called");
5886
+ }
5887
+ function aoutput3(out, instance) {
5888
+ abytes4(out);
5889
+ const min = instance.outputLen;
5890
+ if (out.length < min) {
5891
+ throw new Error("digestInto() expects output buffer of length at least " + min);
5892
+ }
5893
+ }
5894
+ function u8(arr) {
5895
+ return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);
5896
+ }
5897
+ function u322(arr) {
5898
+ return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));
5899
+ }
5900
+ function clean2(...arrays) {
5901
+ for (let i = 0; i < arrays.length; i++) {
5902
+ arrays[i].fill(0);
5903
+ }
5904
+ }
5905
+ function createView3(arr) {
5906
+ return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);
5907
+ }
5908
+ function rotr3(word, shift) {
5909
+ return word << 32 - shift | word >>> shift;
5910
+ }
5911
+ function rotl(word, shift) {
5912
+ return word << shift | word >>> 32 - shift >>> 0;
5913
+ }
5916
5914
  exports.isLE = (() => new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68)();
5917
- var byteSwap2 = (word) => word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
5918
- exports.byteSwap = byteSwap2;
5919
- exports.byteSwapIfBE = exports.isLE ? (n) => n : (n) => (0, exports.byteSwap)(n);
5915
+ function byteSwap2(word) {
5916
+ return word << 24 & 4278190080 | word << 8 & 16711680 | word >>> 8 & 65280 | word >>> 24 & 255;
5917
+ }
5918
+ exports.swap8IfBE = exports.isLE ? (n) => n : (n) => byteSwap2(n);
5919
+ exports.byteSwapIfBE = exports.swap8IfBE;
5920
5920
  function byteSwap322(arr) {
5921
5921
  for (let i = 0; i < arr.length; i++) {
5922
- arr[i] = (0, exports.byteSwap)(arr[i]);
5922
+ arr[i] = byteSwap2(arr[i]);
5923
5923
  }
5924
+ return arr;
5924
5925
  }
5926
+ exports.swap32IfBE = exports.isLE ? (u) => u : byteSwap322;
5927
+ var hasHexBuiltin2 = /* @__PURE__ */ (() => (
5928
+ // @ts-ignore
5929
+ typeof Uint8Array.from([]).toHex === "function" && typeof Uint8Array.fromHex === "function"
5930
+ ))();
5925
5931
  var hexes3 = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
5926
5932
  function bytesToHex3(bytes) {
5927
- (0, _assert_js_1.abytes)(bytes);
5933
+ abytes4(bytes);
5934
+ if (hasHexBuiltin2)
5935
+ return bytes.toHex();
5928
5936
  let hex = "";
5929
5937
  for (let i = 0; i < bytes.length; i++) {
5930
5938
  hex += hexes3[bytes[i]];
@@ -5944,10 +5952,12 @@ var strkfarm_risk_engine = (() => {
5944
5952
  function hexToBytes4(hex) {
5945
5953
  if (typeof hex !== "string")
5946
5954
  throw new Error("hex string expected, got " + typeof hex);
5955
+ if (hasHexBuiltin2)
5956
+ return Uint8Array.fromHex(hex);
5947
5957
  const hl = hex.length;
5948
5958
  const al = hl / 2;
5949
5959
  if (hl % 2)
5950
- throw new Error("padded hex string expected, got unpadded hex of length " + hl);
5960
+ throw new Error("hex string expected, got unpadded hex of length " + hl);
5951
5961
  const array = new Uint8Array(al);
5952
5962
  for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {
5953
5963
  const n1 = asciiToBase163(hex.charCodeAt(hi));
@@ -5976,20 +5986,29 @@ var strkfarm_risk_engine = (() => {
5976
5986
  }
5977
5987
  function utf8ToBytes4(str) {
5978
5988
  if (typeof str !== "string")
5979
- throw new Error("utf8ToBytes expected string, got " + typeof str);
5989
+ throw new Error("string expected");
5980
5990
  return new Uint8Array(new TextEncoder().encode(str));
5981
5991
  }
5992
+ function bytesToUtf8(bytes) {
5993
+ return new TextDecoder().decode(bytes);
5994
+ }
5982
5995
  function toBytes3(data) {
5983
5996
  if (typeof data === "string")
5984
5997
  data = utf8ToBytes4(data);
5985
- (0, _assert_js_1.abytes)(data);
5998
+ abytes4(data);
5999
+ return data;
6000
+ }
6001
+ function kdfInputToBytes(data) {
6002
+ if (typeof data === "string")
6003
+ data = utf8ToBytes4(data);
6004
+ abytes4(data);
5986
6005
  return data;
5987
6006
  }
5988
6007
  function concatBytes4(...arrays) {
5989
6008
  let sum = 0;
5990
6009
  for (let i = 0; i < arrays.length; i++) {
5991
6010
  const a = arrays[i];
5992
- (0, _assert_js_1.abytes)(a);
6011
+ abytes4(a);
5993
6012
  sum += a.length;
5994
6013
  }
5995
6014
  const res = new Uint8Array(sum);
@@ -6000,20 +6019,16 @@ var strkfarm_risk_engine = (() => {
6000
6019
  }
6001
6020
  return res;
6002
6021
  }
6003
- var Hash2 = class {
6004
- // Safe version that clones internal state
6005
- clone() {
6006
- return this._cloneInto();
6007
- }
6008
- };
6009
- exports.Hash = Hash2;
6010
6022
  function checkOpts(defaults2, opts) {
6011
6023
  if (opts !== void 0 && {}.toString.call(opts) !== "[object Object]")
6012
- throw new Error("Options should be object or undefined");
6024
+ throw new Error("options should be object or undefined");
6013
6025
  const merged = Object.assign(defaults2, opts);
6014
6026
  return merged;
6015
6027
  }
6016
- function wrapConstructor2(hashCons) {
6028
+ var Hash2 = class {
6029
+ };
6030
+ exports.Hash = Hash2;
6031
+ function createHasher2(hashCons) {
6017
6032
  const hashC = (msg) => hashCons().update(toBytes3(msg)).digest();
6018
6033
  const tmp = hashCons();
6019
6034
  hashC.outputLen = tmp.outputLen;
@@ -6021,7 +6036,7 @@ var strkfarm_risk_engine = (() => {
6021
6036
  hashC.create = () => hashCons();
6022
6037
  return hashC;
6023
6038
  }
6024
- function wrapConstructorWithOpts(hashCons) {
6039
+ function createOptHasher(hashCons) {
6025
6040
  const hashC = (msg, opts) => hashCons(opts).update(toBytes3(msg)).digest();
6026
6041
  const tmp = hashCons({});
6027
6042
  hashC.outputLen = tmp.outputLen;
@@ -6029,7 +6044,7 @@ var strkfarm_risk_engine = (() => {
6029
6044
  hashC.create = (opts) => hashCons(opts);
6030
6045
  return hashC;
6031
6046
  }
6032
- function wrapXOFConstructorWithOpts2(hashCons) {
6047
+ function createXOFer(hashCons) {
6033
6048
  const hashC = (msg, opts) => hashCons(opts).update(toBytes3(msg)).digest();
6034
6049
  const tmp = hashCons({});
6035
6050
  hashC.outputLen = tmp.outputLen;
@@ -6037,37 +6052,39 @@ var strkfarm_risk_engine = (() => {
6037
6052
  hashC.create = (opts) => hashCons(opts);
6038
6053
  return hashC;
6039
6054
  }
6055
+ exports.wrapConstructor = createHasher2;
6056
+ exports.wrapConstructorWithOpts = createOptHasher;
6057
+ exports.wrapXOFConstructorWithOpts = createXOFer;
6040
6058
  function randomBytes3(bytesLength = 32) {
6041
6059
  if (crypto_1.crypto && typeof crypto_1.crypto.getRandomValues === "function") {
6042
6060
  return crypto_1.crypto.getRandomValues(new Uint8Array(bytesLength));
6043
6061
  }
6044
6062
  if (crypto_1.crypto && typeof crypto_1.crypto.randomBytes === "function") {
6045
- return crypto_1.crypto.randomBytes(bytesLength);
6063
+ return Uint8Array.from(crypto_1.crypto.randomBytes(bytesLength));
6046
6064
  }
6047
6065
  throw new Error("crypto.getRandomValues must be defined");
6048
6066
  }
6049
6067
  }
6050
6068
  });
6051
6069
 
6052
- // node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/sha3.js
6070
+ // node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/sha3.js
6053
6071
  var require_sha3 = __commonJS({
6054
- "node_modules/.pnpm/@noble+hashes@1.6.0/node_modules/@noble/hashes/sha3.js"(exports) {
6072
+ "node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/sha3.js"(exports) {
6055
6073
  "use strict";
6056
6074
  Object.defineProperty(exports, "__esModule", { value: true });
6057
6075
  exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = void 0;
6058
6076
  exports.keccakP = keccakP2;
6059
- var _assert_js_1 = require_assert();
6060
- var _u64_js_1 = require_u64();
6061
- var utils_js_1 = require_utils3();
6077
+ var _u64_ts_1 = require_u64();
6078
+ var utils_ts_1 = require_utils3();
6079
+ var _0n11 = BigInt(0);
6080
+ var _1n11 = BigInt(1);
6081
+ var _2n8 = BigInt(2);
6082
+ var _7n3 = BigInt(7);
6083
+ var _256n2 = BigInt(256);
6084
+ var _0x71n2 = BigInt(113);
6062
6085
  var SHA3_PI2 = [];
6063
6086
  var SHA3_ROTL2 = [];
6064
6087
  var _SHA3_IOTA2 = [];
6065
- var _0n11 = /* @__PURE__ */ BigInt(0);
6066
- var _1n11 = /* @__PURE__ */ BigInt(1);
6067
- var _2n8 = /* @__PURE__ */ BigInt(2);
6068
- var _7n3 = /* @__PURE__ */ BigInt(7);
6069
- var _256n2 = /* @__PURE__ */ BigInt(256);
6070
- var _0x71n2 = /* @__PURE__ */ BigInt(113);
6071
6088
  for (let round = 0, R = _1n11, x = 1, y = 0; round < 24; round++) {
6072
6089
  [x, y] = [y, (2 * x + 3 * y) % 5];
6073
6090
  SHA3_PI2.push(2 * (5 * y + x));
@@ -6080,9 +6097,11 @@ var strkfarm_risk_engine = (() => {
6080
6097
  }
6081
6098
  _SHA3_IOTA2.push(t);
6082
6099
  }
6083
- var [SHA3_IOTA_H2, SHA3_IOTA_L2] = /* @__PURE__ */ (0, _u64_js_1.split)(_SHA3_IOTA2, true);
6084
- var rotlH2 = (h, l, s) => s > 32 ? (0, _u64_js_1.rotlBH)(h, l, s) : (0, _u64_js_1.rotlSH)(h, l, s);
6085
- var rotlL2 = (h, l, s) => s > 32 ? (0, _u64_js_1.rotlBL)(h, l, s) : (0, _u64_js_1.rotlSL)(h, l, s);
6100
+ var IOTAS = (0, _u64_ts_1.split)(_SHA3_IOTA2, true);
6101
+ var SHA3_IOTA_H2 = IOTAS[0];
6102
+ var SHA3_IOTA_L2 = IOTAS[1];
6103
+ var rotlH2 = (h, l, s) => s > 32 ? (0, _u64_ts_1.rotlBH)(h, l, s) : (0, _u64_ts_1.rotlSH)(h, l, s);
6104
+ var rotlL2 = (h, l, s) => s > 32 ? (0, _u64_ts_1.rotlBL)(h, l, s) : (0, _u64_ts_1.rotlSL)(h, l, s);
6086
6105
  function keccakP2(s, rounds = 24) {
6087
6106
  const B = new Uint32Array(5 * 2);
6088
6107
  for (let round = 24 - rounds; round < 24; round++) {
@@ -6121,40 +6140,43 @@ var strkfarm_risk_engine = (() => {
6121
6140
  s[0] ^= SHA3_IOTA_H2[round];
6122
6141
  s[1] ^= SHA3_IOTA_L2[round];
6123
6142
  }
6124
- B.fill(0);
6143
+ (0, utils_ts_1.clean)(B);
6125
6144
  }
6126
- var Keccak2 = class _Keccak extends utils_js_1.Hash {
6145
+ var Keccak2 = class _Keccak extends utils_ts_1.Hash {
6127
6146
  // NOTE: we accept arguments in bytes instead of bits here.
6128
6147
  constructor(blockLen, suffix, outputLen, enableXOF = false, rounds = 24) {
6129
6148
  super();
6149
+ this.pos = 0;
6150
+ this.posOut = 0;
6151
+ this.finished = false;
6152
+ this.destroyed = false;
6153
+ this.enableXOF = false;
6130
6154
  this.blockLen = blockLen;
6131
6155
  this.suffix = suffix;
6132
6156
  this.outputLen = outputLen;
6133
6157
  this.enableXOF = enableXOF;
6134
6158
  this.rounds = rounds;
6135
- this.pos = 0;
6136
- this.posOut = 0;
6137
- this.finished = false;
6138
- this.destroyed = false;
6139
- (0, _assert_js_1.anumber)(outputLen);
6140
- if (0 >= this.blockLen || this.blockLen >= 200)
6141
- throw new Error("Sha3 supports only keccak-f1600 function");
6159
+ (0, utils_ts_1.anumber)(outputLen);
6160
+ if (!(0 < blockLen && blockLen < 200))
6161
+ throw new Error("only keccak-f1600 function is supported");
6142
6162
  this.state = new Uint8Array(200);
6143
- this.state32 = (0, utils_js_1.u32)(this.state);
6163
+ this.state32 = (0, utils_ts_1.u32)(this.state);
6164
+ }
6165
+ clone() {
6166
+ return this._cloneInto();
6144
6167
  }
6145
6168
  keccak() {
6146
- if (!utils_js_1.isLE)
6147
- (0, utils_js_1.byteSwap32)(this.state32);
6169
+ (0, utils_ts_1.swap32IfBE)(this.state32);
6148
6170
  keccakP2(this.state32, this.rounds);
6149
- if (!utils_js_1.isLE)
6150
- (0, utils_js_1.byteSwap32)(this.state32);
6171
+ (0, utils_ts_1.swap32IfBE)(this.state32);
6151
6172
  this.posOut = 0;
6152
6173
  this.pos = 0;
6153
6174
  }
6154
6175
  update(data) {
6155
- (0, _assert_js_1.aexists)(this);
6176
+ (0, utils_ts_1.aexists)(this);
6177
+ data = (0, utils_ts_1.toBytes)(data);
6178
+ (0, utils_ts_1.abytes)(data);
6156
6179
  const { blockLen, state } = this;
6157
- data = (0, utils_js_1.toBytes)(data);
6158
6180
  const len = data.length;
6159
6181
  for (let pos = 0; pos < len; ) {
6160
6182
  const take = Math.min(blockLen - this.pos, len - pos);
@@ -6177,8 +6199,8 @@ var strkfarm_risk_engine = (() => {
6177
6199
  this.keccak();
6178
6200
  }
6179
6201
  writeInto(out) {
6180
- (0, _assert_js_1.aexists)(this, false);
6181
- (0, _assert_js_1.abytes)(out);
6202
+ (0, utils_ts_1.aexists)(this, false);
6203
+ (0, utils_ts_1.abytes)(out);
6182
6204
  this.finish();
6183
6205
  const bufferOut = this.state;
6184
6206
  const { blockLen } = this;
@@ -6198,11 +6220,11 @@ var strkfarm_risk_engine = (() => {
6198
6220
  return this.writeInto(out);
6199
6221
  }
6200
6222
  xof(bytes) {
6201
- (0, _assert_js_1.anumber)(bytes);
6223
+ (0, utils_ts_1.anumber)(bytes);
6202
6224
  return this.xofInto(new Uint8Array(bytes));
6203
6225
  }
6204
6226
  digestInto(out) {
6205
- (0, _assert_js_1.aoutput)(out, this);
6227
+ (0, utils_ts_1.aoutput)(out, this);
6206
6228
  if (this.finished)
6207
6229
  throw new Error("digest() was already called");
6208
6230
  this.writeInto(out);
@@ -6214,7 +6236,7 @@ var strkfarm_risk_engine = (() => {
6214
6236
  }
6215
6237
  destroy() {
6216
6238
  this.destroyed = true;
6217
- this.state.fill(0);
6239
+ (0, utils_ts_1.clean)(this.state);
6218
6240
  }
6219
6241
  _cloneInto(to) {
6220
6242
  const { blockLen, suffix, outputLen, rounds, enableXOF } = this;
@@ -6232,23 +6254,23 @@ var strkfarm_risk_engine = (() => {
6232
6254
  }
6233
6255
  };
6234
6256
  exports.Keccak = Keccak2;
6235
- var gen2 = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapConstructor)(() => new Keccak2(blockLen, suffix, outputLen));
6236
- exports.sha3_224 = gen2(6, 144, 224 / 8);
6237
- exports.sha3_256 = gen2(6, 136, 256 / 8);
6238
- exports.sha3_384 = gen2(6, 104, 384 / 8);
6239
- exports.sha3_512 = gen2(6, 72, 512 / 8);
6240
- exports.keccak_224 = gen2(1, 144, 224 / 8);
6241
- exports.keccak_256 = gen2(1, 136, 256 / 8);
6242
- exports.keccak_384 = gen2(1, 104, 384 / 8);
6243
- exports.keccak_512 = gen2(1, 72, 512 / 8);
6244
- var genShake2 = (suffix, blockLen, outputLen) => (0, utils_js_1.wrapXOFConstructorWithOpts)((opts = {}) => new Keccak2(blockLen, suffix, opts.dkLen === void 0 ? outputLen : opts.dkLen, true));
6245
- exports.shake128 = genShake2(31, 168, 128 / 8);
6246
- exports.shake256 = genShake2(31, 136, 256 / 8);
6257
+ var gen2 = (suffix, blockLen, outputLen) => (0, utils_ts_1.createHasher)(() => new Keccak2(blockLen, suffix, outputLen));
6258
+ exports.sha3_224 = (() => gen2(6, 144, 224 / 8))();
6259
+ exports.sha3_256 = (() => gen2(6, 136, 256 / 8))();
6260
+ exports.sha3_384 = (() => gen2(6, 104, 384 / 8))();
6261
+ exports.sha3_512 = (() => gen2(6, 72, 512 / 8))();
6262
+ exports.keccak_224 = (() => gen2(1, 144, 224 / 8))();
6263
+ exports.keccak_256 = (() => gen2(1, 136, 256 / 8))();
6264
+ exports.keccak_384 = (() => gen2(1, 104, 384 / 8))();
6265
+ exports.keccak_512 = (() => gen2(1, 72, 512 / 8))();
6266
+ var genShake2 = (suffix, blockLen, outputLen) => (0, utils_ts_1.createXOFer)((opts = {}) => new Keccak2(blockLen, suffix, opts.dkLen === void 0 ? outputLen : opts.dkLen, true));
6267
+ exports.shake128 = (() => genShake2(31, 168, 128 / 8))();
6268
+ exports.shake256 = (() => genShake2(31, 136, 256 / 8))();
6247
6269
  }
6248
6270
  });
6249
6271
 
6250
6272
  // node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/_assert.js
6251
- var require_assert2 = __commonJS({
6273
+ var require_assert = __commonJS({
6252
6274
  "node_modules/.pnpm/@noble+hashes@1.3.3/node_modules/@noble/hashes/_assert.js"(exports) {
6253
6275
  "use strict";
6254
6276
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -6571,7 +6593,7 @@ var strkfarm_risk_engine = (() => {
6571
6593
  "use strict";
6572
6594
  Object.defineProperty(exports, "__esModule", { value: true });
6573
6595
  exports.shake256 = exports.shake128 = exports.keccak_512 = exports.keccak_384 = exports.keccak_256 = exports.keccak_224 = exports.sha3_512 = exports.sha3_384 = exports.sha3_256 = exports.sha3_224 = exports.Keccak = exports.keccakP = void 0;
6574
- var _assert_js_1 = require_assert2();
6596
+ var _assert_js_1 = require_assert();
6575
6597
  var _u64_js_1 = require_u642();
6576
6598
  var utils_js_1 = require_utils4();
6577
6599
  var [SHA3_PI2, SHA3_ROTL2, _SHA3_IOTA2] = [[], [], []];
@@ -6763,7 +6785,7 @@ var strkfarm_risk_engine = (() => {
6763
6785
  "use strict";
6764
6786
  Object.defineProperty(exports, "__esModule", { value: true });
6765
6787
  exports.SHA2 = void 0;
6766
- var _assert_js_1 = require_assert2();
6788
+ var _assert_js_1 = require_assert();
6767
6789
  var utils_js_1 = require_utils4();
6768
6790
  function setBigUint642(view, byteOffset, value, isLE2) {
6769
6791
  if (typeof view.setBigUint64 === "function")
@@ -8760,7 +8782,7 @@ var strkfarm_risk_engine = (() => {
8760
8782
  "use strict";
8761
8783
  Object.defineProperty(exports, "__esModule", { value: true });
8762
8784
  exports.hmac = exports.HMAC = void 0;
8763
- var _assert_js_1 = require_assert2();
8785
+ var _assert_js_1 = require_assert();
8764
8786
  var utils_js_1 = require_utils4();
8765
8787
  var HMAC2 = class extends utils_js_1.Hash {
8766
8788
  constructor(hash2, _key) {
@@ -15206,7 +15228,7 @@ ${r2}}` : "}", l2;
15206
15228
  });
15207
15229
 
15208
15230
  // node_modules/.pnpm/@noble+hashes@1.4.0/node_modules/@noble/hashes/_assert.js
15209
- var require_assert3 = __commonJS({
15231
+ var require_assert2 = __commonJS({
15210
15232
  "node_modules/.pnpm/@noble+hashes@1.4.0/node_modules/@noble/hashes/_assert.js"(exports) {
15211
15233
  "use strict";
15212
15234
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -15276,7 +15298,7 @@ ${r2}}` : "}", l2;
15276
15298
  Object.defineProperty(exports, "__esModule", { value: true });
15277
15299
  exports.randomBytes = exports.wrapXOFConstructorWithOpts = exports.wrapConstructorWithOpts = exports.wrapConstructor = exports.checkOpts = exports.Hash = exports.concatBytes = exports.toBytes = exports.utf8ToBytes = exports.asyncLoop = exports.nextTick = exports.hexToBytes = exports.bytesToHex = exports.byteSwap32 = exports.byteSwapIfBE = exports.byteSwap = exports.isLE = exports.rotl = exports.rotr = exports.createView = exports.u32 = exports.u8 = exports.isBytes = void 0;
15278
15300
  var crypto_1 = require_crypto3();
15279
- var _assert_js_1 = require_assert3();
15301
+ var _assert_js_1 = require_assert2();
15280
15302
  function isBytes6(a) {
15281
15303
  return a instanceof Uint8Array || a != null && typeof a === "object" && a.constructor.name === "Uint8Array";
15282
15304
  }
@@ -15443,7 +15465,7 @@ ${r2}}` : "}", l2;
15443
15465
  "use strict";
15444
15466
  Object.defineProperty(exports, "__esModule", { value: true });
15445
15467
  exports.HashMD = exports.Maj = exports.Chi = void 0;
15446
- var _assert_js_1 = require_assert3();
15468
+ var _assert_js_1 = require_assert2();
15447
15469
  var utils_js_1 = require_utils6();
15448
15470
  function setBigUint642(view, byteOffset, value, isLE2) {
15449
15471
  if (typeof view.setBigUint64 === "function")
@@ -15731,7 +15753,7 @@ ${r2}}` : "}", l2;
15731
15753
  "use strict";
15732
15754
  Object.defineProperty(exports, "__esModule", { value: true });
15733
15755
  exports.hmac = exports.HMAC = void 0;
15734
- var _assert_js_1 = require_assert3();
15756
+ var _assert_js_1 = require_assert2();
15735
15757
  var utils_js_1 = require_utils6();
15736
15758
  var HMAC2 = class extends utils_js_1.Hash {
15737
15759
  constructor(hash2, _key) {
@@ -23128,11 +23150,8 @@ ${r2}}` : "}", l2;
23128
23150
  }
23129
23151
  async fetchEndpoint(method, params) {
23130
23152
  try {
23131
- console.log(`dfsg`);
23132
23153
  const rawResult = await this.fetch(method, params, this.requestId += 1);
23133
- console.log(`dfsg2`);
23134
23154
  const { error: error2, result } = await rawResult.json();
23135
- console.log(`dfsg4`);
23136
23155
  this.errorHandler(method, params, error2);
23137
23156
  return result;
23138
23157
  } catch (error2) {
@@ -23677,11 +23696,8 @@ ${r2}}` : "}", l2;
23677
23696
  }
23678
23697
  async fetchEndpoint(method, params) {
23679
23698
  try {
23680
- console.log(3435);
23681
23699
  const rawResult = await this.fetch(method, params, this.requestId += 1);
23682
- console.log(3435345);
23683
23700
  const { error: error2, result } = await rawResult.json();
23684
- console.log(343534534256);
23685
23701
  this.errorHandler(method, params, error2);
23686
23702
  return result;
23687
23703
  } catch (error2) {
@@ -49063,7 +49079,7 @@ ${JSON.stringify(data, null, 2)}`;
49063
49079
  name: "WBTC",
49064
49080
  symbol: "WBTC",
49065
49081
  logo: "https://assets.troves.fi/integrations/tokens/wbtc.svg",
49066
- address: ContractAddr.from("0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49082
+ address: ContractAddr.from("0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"),
49067
49083
  decimals: 8,
49068
49084
  coingeckId: void 0,
49069
49085
  displayDecimals: 6,
@@ -49079,6 +49095,61 @@ ${JSON.stringify(data, null, 2)}`;
49079
49095
  displayDecimals: 6,
49080
49096
  priceCheckAmount: 1e-4
49081
49097
  // 112000 * 0.0001 = $11.2
49098
+ }, {
49099
+ name: "solvBTC",
49100
+ symbol: "solvBTC",
49101
+ logo: "https://assets.strkfarm.com/integrations/tokens/solvbtc.svg",
49102
+ address: ContractAddr.from("0x0593e034dda23eea82d2ba9a30960ed42cf4a01502cc2351dc9b9881f9931a68"),
49103
+ decimals: 18,
49104
+ coingeckId: void 0,
49105
+ priceProxySymbol: "WBTC",
49106
+ displayDecimals: 6,
49107
+ priceCheckAmount: 1e-4
49108
+ // 112000 * 0.0001 = $11.2
49109
+ }, {
49110
+ name: "LBTC",
49111
+ symbol: "LBTC",
49112
+ logo: "https://assets.strkfarm.com/integrations/tokens/lbtc.svg",
49113
+ address: ContractAddr.from("0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4"),
49114
+ decimals: 8,
49115
+ coingeckId: void 0,
49116
+ displayDecimals: 6,
49117
+ priceProxySymbol: "WBTC",
49118
+ priceCheckAmount: 1e-4
49119
+ // 112000 * 0.0001 = $11.2
49120
+ }, {
49121
+ name: "xWBTC",
49122
+ symbol: "xWBTC",
49123
+ logo: "https://assets.strkfarm.com/integrations/tokens/xwbtc.svg",
49124
+ address: ContractAddr.from("0x6a567e68c805323525fe1649adb80b03cddf92c23d2629a6779f54192dffc13"),
49125
+ decimals: 8,
49126
+ coingeckId: void 0,
49127
+ displayDecimals: 6,
49128
+ priceProxySymbol: "WBTC",
49129
+ priceCheckAmount: 1e-4
49130
+ // 112000 * 0.0001 = $11.2
49131
+ }, {
49132
+ name: "xsBTC",
49133
+ symbol: "xsBTC",
49134
+ logo: "https://assets.strkfarm.com/integrations/tokens/xsbtc_solv.svg",
49135
+ address: ContractAddr.from("0x580f3dc564a7b82f21d40d404b3842d490ae7205e6ac07b1b7af2b4a5183dc9"),
49136
+ decimals: 18,
49137
+ coingeckId: void 0,
49138
+ displayDecimals: 6,
49139
+ priceProxySymbol: "WBTC",
49140
+ priceCheckAmount: 1e-4
49141
+ // 112000 * 0.0001 = $11.2
49142
+ }, {
49143
+ name: "xtBTC",
49144
+ symbol: "xtBTC",
49145
+ logo: "https://assets.strkfarm.com/integrations/tokens/xtbtc.svg",
49146
+ address: ContractAddr.from("0x43a35c1425a0125ef8c171f1a75c6f31ef8648edcc8324b55ce1917db3f9b91"),
49147
+ decimals: 8,
49148
+ coingeckId: void 0,
49149
+ displayDecimals: 6,
49150
+ priceProxySymbol: "WBTC",
49151
+ priceCheckAmount: 1e-4
49152
+ // 112000 * 0.0001 = $11.2
49082
49153
  }];
49083
49154
  var tokens = defaultTokens;
49084
49155
  var _Global = class _Global {
@@ -49166,9 +49237,11 @@ ${JSON.stringify(data, null, 2)}`;
49166
49237
  // src/modules/pricer.ts
49167
49238
  var Pricer = class extends PricerBase {
49168
49239
  // e.g. ETH/USDC
49169
- constructor(config3, tokens2) {
49240
+ constructor(config3, tokens2, refreshInterval = 3e4, staleTime = 6e4) {
49170
49241
  super(config3, tokens2);
49171
49242
  this.prices = {};
49243
+ this.refreshInterval = 3e4;
49244
+ this.staleTime = 6e4;
49172
49245
  // code populates this map during runtime to determine which method to use for a given token
49173
49246
  // The method set will be the first one to try after first attempt
49174
49247
  this.methodToUse = {};
@@ -49177,6 +49250,8 @@ ${JSON.stringify(data, null, 2)}`;
49177
49250
  */
49178
49251
  this.PRICE_API = `https://api.coinbase.com/v2/prices/{{PRICER_KEY}}/buy`;
49179
49252
  this.EKUBO_API = "https://quoter-mainnet-api.ekubo.org/{{AMOUNT}}/{{TOKEN_ADDRESS}}/0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8";
49253
+ this.refreshInterval = refreshInterval;
49254
+ this.staleTime = staleTime;
49180
49255
  }
49181
49256
  isReady() {
49182
49257
  const allPricesExist = Object.keys(this.prices).length === this.tokens.length;
@@ -49209,10 +49284,10 @@ ${JSON.stringify(data, null, 2)}`;
49209
49284
  this._loadPrices();
49210
49285
  setInterval(() => {
49211
49286
  this._loadPrices();
49212
- }, 3e4);
49287
+ }, this.refreshInterval);
49213
49288
  }
49214
49289
  isStale(timestamp, tokenName) {
49215
- const STALE_TIME = 6e4;
49290
+ const STALE_TIME = this.staleTime;
49216
49291
  return (/* @__PURE__ */ new Date()).getTime() - timestamp.getTime() > STALE_TIME;
49217
49292
  }
49218
49293
  assertNotStale(timestamp, tokenName) {
@@ -49238,13 +49313,25 @@ ${JSON.stringify(data, null, 2)}`;
49238
49313
  onUpdate(token.symbol);
49239
49314
  return;
49240
49315
  }
49241
- const price = await this._getPrice(token);
49242
- this.prices[token.symbol] = {
49243
- price,
49244
- timestamp: /* @__PURE__ */ new Date()
49245
- };
49316
+ if (token.priceProxySymbol) {
49317
+ const proxyToken = this.tokens.find((t) => t.symbol === token.priceProxySymbol);
49318
+ if (!proxyToken) {
49319
+ throw new FatalError(`Price proxy token ${token.priceProxySymbol} not found`);
49320
+ }
49321
+ const price = await this._getPrice(proxyToken);
49322
+ this.prices[token.symbol] = {
49323
+ price,
49324
+ timestamp: /* @__PURE__ */ new Date()
49325
+ };
49326
+ } else {
49327
+ const price = await this._getPrice(token);
49328
+ this.prices[token.symbol] = {
49329
+ price,
49330
+ timestamp: /* @__PURE__ */ new Date()
49331
+ };
49332
+ }
49246
49333
  onUpdate(token.symbol);
49247
- logger2.verbose(`Fetched price of ${token.name} as ${price}`);
49334
+ logger2.verbose(`Fetched price of ${token.name} as ${this.prices[token.symbol].price}`);
49248
49335
  break;
49249
49336
  } catch (error2) {
49250
49337
  if (retry < MAX_RETRIES) {
@@ -55357,6 +55444,16 @@ ${JSON.stringify(data, null, 2)}`;
55357
55444
  return res.data;
55358
55445
  }
55359
55446
 
55447
+ // src/strategies/constants.ts
55448
+ var COMMON_CONTRACTS = [{
55449
+ address: ContractAddr.from("0x0636a3f51cc37f5729e4da4b1de6a8549a28f3c0d5bf3b17f150971e451ff9c2"),
55450
+ name: "Access Controller",
55451
+ sourceCodeUrl: "https://github.com/strkfarm/strkfarm-contracts/blob/main/src/components/accessControl.cairo"
55452
+ }];
55453
+ var ENDPOINTS = {
55454
+ VESU_BASE: "https://cache-server-t2me.onrender.com/vesu"
55455
+ };
55456
+
55360
55457
  // src/modules/harvests.ts
55361
55458
  var Harvests = class _Harvests {
55362
55459
  constructor(config3) {
@@ -55417,7 +55514,7 @@ ${JSON.stringify(data, null, 2)}`;
55417
55514
  var VESU_REWARDS_CONTRACT = ContractAddr.from("0x0387f3eb1d98632fbe3440a9f1385Aec9d87b6172491d3Dd81f1c35A7c61048F");
55418
55515
  var VesuHarvests = class _VesuHarvests extends Harvests {
55419
55516
  async getHarvests(addr) {
55420
- const result = await fetch(`https://api.vesu.xyz/users/${addr.address}/strk-rewards/calldata`);
55517
+ const result = await fetch(`${ENDPOINTS.VESU_BASE}/users/${addr.address}/strk-rewards/calldata`);
55421
55518
  const data = await result.json();
55422
55519
  const rewardsContract = VESU_REWARDS_CONTRACT;
55423
55520
  const cls = await this.config.provider.getClassAt(rewardsContract.address);
@@ -60895,13 +60992,6 @@ ${JSON.stringify(data, null, 2)}`;
60895
60992
  ]
60896
60993
  };
60897
60994
 
60898
- // src/strategies/constants.ts
60899
- var COMMON_CONTRACTS = [{
60900
- address: ContractAddr.from("0x0636a3f51cc37f5729e4da4b1de6a8549a28f3c0d5bf3b17f150971e451ff9c2"),
60901
- name: "Access Controller",
60902
- sourceCodeUrl: "https://github.com/strkfarm/strkfarm-contracts/blob/main/src/components/accessControl.cairo"
60903
- }];
60904
-
60905
60995
  // src/strategies/vesu-rebalance.tsx
60906
60996
  var import_jsx_runtime2 = __toESM(require_jsx_runtime());
60907
60997
  var VesuRebalance = class _VesuRebalance extends BaseStrategy {
@@ -61030,7 +61120,7 @@ ${JSON.stringify(data, null, 2)}`;
61030
61120
  };
61031
61121
  }
61032
61122
  static async getAllPossibleVerifiedPools(asset) {
61033
- const data = await getAPIUsingHeadlessBrowser("https://api.vesu.xyz/pools");
61123
+ const data = await getAPIUsingHeadlessBrowser(`${ENDPOINTS.VESU_BASE}/pools`);
61034
61124
  const verifiedPools = data.data.filter((d) => d.isVerified);
61035
61125
  const pools = verifiedPools.map((p) => {
61036
61126
  const hasMyAsset = p.assets.find((a) => asset.eqString(a.address));
@@ -61207,7 +61297,7 @@ ${JSON.stringify(data, null, 2)}`;
61207
61297
  let pools = [];
61208
61298
  try {
61209
61299
  const data = await getAPIUsingHeadlessBrowser(
61210
- "https://api.vesu.xyz/pools"
61300
+ `${ENDPOINTS.VESU_BASE}/pools`
61211
61301
  );
61212
61302
  pools = data.data;
61213
61303
  for (const pool of vesu_pools_default.data) {
@@ -67777,14 +67867,31 @@ ${JSON.stringify(data, null, 2)}`;
67777
67867
  name: "Ekubo",
67778
67868
  logo: "https://app.ekubo.org/favicon.ico"
67779
67869
  };
67780
- var _riskFactor2 = [
67781
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 34, reason: "Audited smart contracts" },
67782
- { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 0.75, weight: 33, reason: "Low risk due to co-related assets" },
67783
- { type: "Market Risk" /* MARKET_RISK */, value: 0.75, weight: 33, reason: "Low risk due to co-related assets" }
67870
+ var _corelatedPoolRiskFactors = [
67871
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67872
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 1 /* HIGHLY_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67873
+ { type: "Market Risk" /* MARKET_RISK */, value: 1 /* VERY_LOW_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67874
+ ];
67875
+ var mediumVolatilityPoolRiskFactors = [
67876
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67877
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 3 /* NON_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67878
+ { type: "Market Risk" /* MARKET_RISK */, value: 3 /* MODERATE_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67784
67879
  ];
67785
- var _riskFactorStable = [
67786
- { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25 }
67880
+ var highVolatilityPoolRiskFactors = [
67881
+ { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 2 /* WELL_AUDITED */, weight: 34, reason: "Audited smart contracts" },
67882
+ { type: "Impermanent Loss Risk" /* IMPERMANENT_LOSS */, value: 3 /* NON_CORRELATED */, weight: 33, reason: "Low risk due to co-related assets" },
67883
+ { type: "Market Risk" /* MARKET_RISK */, value: 4 /* HIGH_VOLATILITY */, weight: 33, reason: "Low risk due to co-related assets" }
67787
67884
  ];
67885
+ var mediumRisk = {
67886
+ riskFactor: mediumVolatilityPoolRiskFactors,
67887
+ netRisk: mediumVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / mediumVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67888
+ notARisks: getNoRiskTags(mediumVolatilityPoolRiskFactors)
67889
+ };
67890
+ var highRisk = {
67891
+ riskFactor: highVolatilityPoolRiskFactors,
67892
+ netRisk: highVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / highVolatilityPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67893
+ notARisks: getNoRiskTags(highVolatilityPoolRiskFactors)
67894
+ };
67788
67895
  var AUDIT_URL2 = "https://assets.troves.fi/strkfarm/audit_report_vesu_and_ekubo_strats.pdf";
67789
67896
  var faqs2 = [
67790
67897
  {
@@ -67799,6 +67906,10 @@ ${JSON.stringify(data, null, 2)}`;
67799
67906
  question: "What happens during withdrawal?",
67800
67907
  answer: "During withdrawal, you may receive either or both tokens depending on market conditions and prevailing prices."
67801
67908
  },
67909
+ {
67910
+ question: "Are there any deposit/withdrawal fees?",
67911
+ answer: "No, there are no deposit/withdrawal fees. However, there is a performance fee varying between 10-20% of the fees and rewards generated. The exact fee is determined by the strategy and the APY shown is net of this fee."
67912
+ },
67802
67913
  {
67803
67914
  question: "Is the strategy audited?",
67804
67915
  answer: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -67816,6 +67927,15 @@ ${JSON.stringify(data, null, 2)}`;
67816
67927
  ] })
67817
67928
  }
67818
67929
  ];
67930
+ function getLSTFAQs(lstSymbol) {
67931
+ return [
67932
+ ...faqs2,
67933
+ {
67934
+ question: "Why might I see a negative APY?",
67935
+ answer: `A negative APY can occur when ${lstSymbol}'s price drops on DEXes. This is usually temporary and tends to recover within a few days or a week.`
67936
+ }
67937
+ ];
67938
+ }
67819
67939
  var xSTRKSTRK = {
67820
67940
  name: "Ekubo xSTRK/STRK",
67821
67941
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
@@ -67833,9 +67953,9 @@ ${JSON.stringify(data, null, 2)}`;
67833
67953
  auditUrl: AUDIT_URL2,
67834
67954
  maxTVL: Web3Number.fromWei("0", 18),
67835
67955
  risk: {
67836
- riskFactor: _riskFactor2,
67837
- netRisk: _riskFactor2.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor2.reduce((acc, curr) => acc + curr.weight, 0),
67838
- notARisks: getNoRiskTags(_riskFactor2)
67956
+ riskFactor: _corelatedPoolRiskFactors,
67957
+ netRisk: _corelatedPoolRiskFactors.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _corelatedPoolRiskFactors.reduce((acc, curr) => acc + curr.weight, 0),
67958
+ notARisks: getNoRiskTags(_corelatedPoolRiskFactors)
67839
67959
  },
67840
67960
  apyMethodology: "APY based on 7-day historical performance, including fees and rewards.",
67841
67961
  additionalInfo: {
@@ -67851,15 +67971,10 @@ ${JSON.stringify(data, null, 2)}`;
67851
67971
  customShouldRebalance: async (currentPrice) => true,
67852
67972
  minWaitHours: 24,
67853
67973
  direction: "uponly"
67854
- }
67974
+ },
67975
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "STRK")
67855
67976
  },
67856
- faqs: [
67857
- ...faqs2,
67858
- {
67859
- question: "Why might I see a negative APY?",
67860
- answer: "A negative APY can occur when xSTRK's price drops on DEXes. This is usually temporary and tends to recover within a few days or a week."
67861
- }
67862
- ],
67977
+ faqs: getLSTFAQs("xSTRK"),
67863
67978
  points: [{
67864
67979
  multiplier: 1,
67865
67980
  logo: "https://endur.fi/favicon.ico",
@@ -67868,68 +67983,237 @@ ${JSON.stringify(data, null, 2)}`;
67868
67983
  contractDetails: [],
67869
67984
  investmentSteps: []
67870
67985
  };
67871
- var EkuboCLVaultStrategies = [
67986
+ var lstStrategies = [
67872
67987
  xSTRKSTRK,
67873
67988
  {
67874
67989
  ...xSTRKSTRK,
67990
+ name: "Ekubo xWBTC/WBTC",
67991
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67992
+ address: ContractAddr.from(
67993
+ "0x2ea99b4971d3c277fa4a9b4beb7d4d7d169e683393a29eef263d5d57b4380a"
67994
+ ),
67995
+ launchBlock: 2338309,
67996
+ // must be same order as poolKey token0 and token1
67997
+ depositTokens: [
67998
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
67999
+ Global.getDefaultTokens().find((t) => t.symbol === "xWBTC")
68000
+ ],
68001
+ additionalInfo: {
68002
+ ...xSTRKSTRK.additionalInfo,
68003
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68004
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xWBTC").address
68005
+ },
68006
+ faqs: getLSTFAQs("xWBTC"),
68007
+ points: [],
68008
+ contractDetails: [],
68009
+ investmentSteps: []
68010
+ },
68011
+ {
68012
+ ...xSTRKSTRK,
68013
+ name: "Ekubo xtBTC/tBTC",
68014
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68015
+ address: ContractAddr.from(
68016
+ "0x785dc3dfc4e80ef2690a99512481e3ed3a5266180adda5a47e856245d68a4af"
68017
+ ),
68018
+ launchBlock: 2344809,
68019
+ // must be same order as poolKey token0 and token1
68020
+ depositTokens: [
68021
+ Global.getDefaultTokens().find((t) => t.symbol === "xtBTC"),
68022
+ Global.getDefaultTokens().find((t) => t.symbol === "tBTC")
68023
+ ],
68024
+ additionalInfo: {
68025
+ ...xSTRKSTRK.additionalInfo,
68026
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "tBTC"),
68027
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xtBTC").address
68028
+ },
68029
+ faqs: getLSTFAQs("xtBTC"),
68030
+ points: [],
68031
+ contractDetails: [],
68032
+ investmentSteps: []
68033
+ },
68034
+ {
68035
+ ...xSTRKSTRK,
68036
+ name: "Ekubo xsBTC/solvBTC",
68037
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68038
+ address: ContractAddr.from(
68039
+ "0x3af1c7faa7c464cf2c494e988972ad1939f1103dbfb6e47e9bf0c47e49b14ef"
68040
+ ),
68041
+ launchBlock: 2344809,
68042
+ // must be same order as poolKey token0 and token1
68043
+ depositTokens: [
68044
+ Global.getDefaultTokens().find((t) => t.symbol === "xsBTC"),
68045
+ Global.getDefaultTokens().find((t) => t.symbol === "solvBTC")
68046
+ ],
68047
+ additionalInfo: {
68048
+ ...xSTRKSTRK.additionalInfo,
68049
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "solvBTC"),
68050
+ lstContract: Global.getDefaultTokens().find((t) => t.symbol === "xsBTC").address
68051
+ },
68052
+ faqs: getLSTFAQs("xsBTC"),
68053
+ points: [],
68054
+ contractDetails: [],
68055
+ investmentSteps: []
68056
+ }
68057
+ ];
68058
+ var ETHUSDCRe7Strategy = {
68059
+ ...xSTRKSTRK,
68060
+ name: "Ekubo ETH/USDC",
68061
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68062
+ address: ContractAddr.from(
68063
+ "0x160d8fa4569ef6a12e6bf47cb943d7b5ebba8a41a69a14c1d943050ba5ff947"
68064
+ ),
68065
+ launchBlock: 1504232,
68066
+ // must be same order as poolKey token0 and token1
68067
+ depositTokens: [
68068
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH"),
68069
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68070
+ ],
68071
+ additionalInfo: {
68072
+ newBounds: "Managed by Re7",
68073
+ truePrice: 1,
68074
+ feeBps: 1e3,
68075
+ rebalanceConditions: {
68076
+ customShouldRebalance: async (currentPrice) => currentPrice > 0.99 && currentPrice < 1.01,
68077
+ minWaitHours: 6,
68078
+ direction: "any"
68079
+ },
68080
+ quoteAsset: Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68081
+ },
68082
+ faqs: [
68083
+ ...faqs2,
68084
+ {
68085
+ question: "Who is the curator of this strategy?",
68086
+ answer: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
68087
+ "Re7 Labs is the curator of this strategy. Re7 Labs is a well-known Web3 asset management firm. This strategy is completely managed by them, including ownership of the vault. Troves is developer of the smart contracts and maintains infrastructure to help users access these strategies. You can find more information about them on their website ",
68088
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("a", { href: "https://www.re7labs.xyz", style: { textDecoration: "underline", marginLeft: "2px" }, target: "_blank", children: "here" }),
68089
+ "."
68090
+ ] })
68091
+ }
68092
+ ],
68093
+ risk: highRisk,
68094
+ points: [],
68095
+ curator: { name: "Re7 Labs", logo: "https://www.re7labs.xyz/favicon.ico" }
68096
+ };
68097
+ var RE7Strategies = [
68098
+ ETHUSDCRe7Strategy,
68099
+ {
68100
+ ...ETHUSDCRe7Strategy,
67875
68101
  name: "Ekubo USDC/USDT",
67876
68102
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67877
68103
  address: ContractAddr.from(
67878
- "0xd647ed735f0db52f2a5502b6e06ed21dc4284a43a36af4b60d3c80fbc56c91"
68104
+ "0x3a4f8debaf12af97bb911099bc011d63d6c208d4c5ba8e15d7f437785b0aaa2"
67879
68105
  ),
67880
- launchBlock: 1385576,
68106
+ launchBlock: 1506139,
67881
68107
  // must be same order as poolKey token0 and token1
67882
68108
  depositTokens: [
67883
68109
  Global.getDefaultTokens().find((t) => t.symbol === "USDC"),
67884
68110
  Global.getDefaultTokens().find((t) => t.symbol === "USDT")
67885
68111
  ],
67886
- additionalInfo: {
67887
- newBounds: {
67888
- lower: -1,
67889
- upper: 1
67890
- },
67891
- truePrice: 1,
67892
- feeBps: 1e3,
67893
- rebalanceConditions: {
67894
- customShouldRebalance: async (currentPrice) => currentPrice > 0.99 && currentPrice < 1.01,
67895
- minWaitHours: 6,
67896
- direction: "any"
67897
- }
67898
- }
68112
+ risk: xSTRKSTRK.risk
67899
68113
  },
67900
68114
  {
67901
- ...xSTRKSTRK,
68115
+ ...ETHUSDCRe7Strategy,
67902
68116
  name: "Ekubo STRK/USDC",
67903
68117
  description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
67904
68118
  address: ContractAddr.from(
67905
- "0xb7bd37121041261446d8eedec618955a4490641034942da688e8cbddea7b23"
68119
+ "0x351b36d0d9d8b40010658825adeeddb1397436cd41acd0ff6c6e23aaa8b5b30"
67906
68120
  ),
67907
- launchBlock: 1492136,
68121
+ launchBlock: 1504079,
67908
68122
  // must be same order as poolKey token0 and token1
67909
68123
  depositTokens: [
67910
68124
  Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
67911
68125
  Global.getDefaultTokens().find((t) => t.symbol === "USDC")
67912
68126
  ],
67913
- maxTVL: Web3Number.fromWei("0", 6),
67914
- additionalInfo: {
67915
- newBounds: "Managed by Re7",
67916
- feeBps: 1e3,
67917
- rebalanceConditions: {
67918
- customShouldRebalance: async (currentPrice) => true,
67919
- minWaitHours: 6,
67920
- direction: "any"
67921
- }
67922
- }
68127
+ risk: highRisk
68128
+ },
68129
+ {
68130
+ ...ETHUSDCRe7Strategy,
68131
+ name: "Ekubo STRK/ETH",
68132
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68133
+ address: ContractAddr.from(
68134
+ "0x4ce3024b0ee879009112d7b0e073f8a87153dd35b029347d4247ffe48d28f51"
68135
+ ),
68136
+ launchBlock: 1504149,
68137
+ // must be same order as poolKey token0 and token1
68138
+ depositTokens: [
68139
+ Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
68140
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH")
68141
+ ],
68142
+ risk: highRisk
68143
+ },
68144
+ {
68145
+ ...ETHUSDCRe7Strategy,
68146
+ name: "Ekubo WBTC/USDC",
68147
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68148
+ address: ContractAddr.from(
68149
+ "0x2bcaef2eb7706875a5fdc6853dd961a0590f850bc3a031c59887189b5e84ba1"
68150
+ ),
68151
+ launchBlock: 1506144,
68152
+ // must be same order as poolKey token0 and token1
68153
+ depositTokens: [
68154
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68155
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68156
+ ],
68157
+ risk: mediumRisk
68158
+ },
68159
+ {
68160
+ ...ETHUSDCRe7Strategy,
68161
+ name: "Ekubo tBTC/USDC",
68162
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68163
+ address: ContractAddr.from(
68164
+ "0x4aad891a2d4432fba06b6558631bb13f6bbd7f6f33ab8c3111e344889ea4456"
68165
+ ),
68166
+ launchBlock: 1501764,
68167
+ // must be same order as poolKey token0 and token1
68168
+ depositTokens: [
68169
+ Global.getDefaultTokens().find((t) => t.symbol === "tBTC"),
68170
+ Global.getDefaultTokens().find((t) => t.symbol === "USDC")
68171
+ ],
68172
+ risk: mediumRisk
68173
+ },
68174
+ {
68175
+ ...ETHUSDCRe7Strategy,
68176
+ name: "Ekubo WBTC/ETH",
68177
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68178
+ address: ContractAddr.from(
68179
+ "0x1c9232b8186d9317652f05055615f18a120c2ad9e5ee96c39e031c257fb945b"
68180
+ ),
68181
+ launchBlock: 1506145,
68182
+ // must be same order as poolKey token0 and token1
68183
+ depositTokens: [
68184
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68185
+ Global.getDefaultTokens().find((t) => t.symbol === "ETH")
68186
+ ],
68187
+ risk: mediumRisk
68188
+ },
68189
+ {
68190
+ ...ETHUSDCRe7Strategy,
68191
+ name: "Ekubo WBTC/STRK",
68192
+ description: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, {}),
68193
+ address: ContractAddr.from(
68194
+ "0x1248e385c23a929a015ec298a26560fa7745bbd6e41a886550e337b02714b1b"
68195
+ ),
68196
+ launchBlock: 1506147,
68197
+ // must be same order as poolKey token0 and token1
68198
+ depositTokens: [
68199
+ Global.getDefaultTokens().find((t) => t.symbol === "WBTC"),
68200
+ Global.getDefaultTokens().find((t) => t.symbol === "STRK")
68201
+ ],
68202
+ risk: highRisk
67923
68203
  }
67924
68204
  ];
68205
+ var EkuboCLVaultStrategies = [
68206
+ ...[lstStrategies[0]],
68207
+ ...RE7Strategies
68208
+ ];
67925
68209
  EkuboCLVaultStrategies.forEach((s) => {
67926
68210
  s.contractDetails = [
67927
68211
  {
67928
68212
  address: s.address,
67929
68213
  name: "Vault",
67930
68214
  sourceCodeUrl: "https://github.com/strkfarm/strkfarm-contracts/tree/main/src/strategies/cl_vault"
67931
- },
67932
- ...COMMON_CONTRACTS
68215
+ }
68216
+ // ...COMMON_CONTRACTS
67933
68217
  ];
67934
68218
  s.docs = "https://docs.troves.fi/p/ekubo-cl-vaults";
67935
68219
  s.description = /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { children: [
@@ -67950,7 +68234,11 @@ ${JSON.stringify(data, null, 2)}`;
67950
68234
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h4", { style: { fontWeight: "bold" }, children: "Key points to note:" }),
67951
68235
  /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { style: { display: "flex", flexDirection: "column", gap: "10px", color: "var(--chakra-colors-text_secondary)" }, children: [
67952
68236
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { style: {}, children: "1. During withdrawal, you may receive either or both tokens depending on market conditions and prevailing prices." }),
67953
- s.name.includes("xSTRK/STRK") && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { style: {}, children: "2. Sometimes you might see a negative APY \u2014 this is usually not a big deal. It happens when xSTRK's price drops on DEXes, but things typically bounce back within a few days or a week." })
68237
+ s.additionalInfo.lstContract && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("p", { style: {}, children: [
68238
+ "2. Sometimes you might see a negative APY \u2014 this is usually not a big deal. It happens when ",
68239
+ s.name.split(" ")[1].split("/")[0],
68240
+ "'s price drops on DEXes, but things typically bounce back within a few days or a week."
68241
+ ] })
67954
68242
  ] })
67955
68243
  ] })
67956
68244
  ] });
@@ -69897,7 +70185,7 @@ ${JSON.stringify(data, null, 2)}`;
69897
70185
  name: "Endur",
69898
70186
  logo: "https://app.endur.fi/logo.png"
69899
70187
  };
69900
- var _riskFactor3 = [
70188
+ var _riskFactor2 = [
69901
70189
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by CSC" },
69902
70190
  { type: "Depeg Risk" /* DEPEG_RISK */, value: 0.25, weight: 25, reason: "Depending on prevailing market conditions and trading activity, xSTRK may lose its peg to the underlying asset." },
69903
70191
  { type: "Liquidation Risk" /* LIQUIDATION_RISK */, value: 0.1, weight: 10, reason: "Liquidation risk is low due to the nature of the Re7 Pool on Vesu" },
@@ -69972,9 +70260,9 @@ ${JSON.stringify(data, null, 2)}`;
69972
70260
  protocols: [endurProtocol, vesuProtocol],
69973
70261
  maxTVL: new Web3Number("1500000", 18),
69974
70262
  risk: {
69975
- riskFactor: _riskFactor3,
69976
- netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
69977
- notARisks: getNoRiskTags(_riskFactor3)
70263
+ riskFactor: _riskFactor2,
70264
+ netRisk: _riskFactor2.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor2.reduce((acc, curr) => acc + curr.weight, 0),
70265
+ notARisks: getNoRiskTags(_riskFactor2)
69978
70266
  },
69979
70267
  additionalInfo: {
69980
70268
  mainToken: Global.getDefaultTokens().find((t) => t.symbol === "STRK"),
@@ -72722,7 +73010,7 @@ ${JSON.stringify(data, null, 2)}`;
72722
73010
  let pools = [];
72723
73011
  try {
72724
73012
  const data = await getAPIUsingHeadlessBrowser(
72725
- "https://api.vesu.xyz/pools"
73013
+ `${ENDPOINTS.VESU_BASE}/pools`
72726
73014
  );
72727
73015
  pools = data.data;
72728
73016
  for (const pool of vesu_pools_default.data) {
@@ -75578,7 +75866,7 @@ ${JSON.stringify(data, null, 2)}`;
75578
75866
  vaultSettings.leafAdapters.push(commonAdapter.getAvnuAdapter(STRKToken.address, USDCToken.address, "avnu_swap_rewards" /* AVNU_SWAP_REWARDS */).bind(commonAdapter));
75579
75867
  return vaultSettings;
75580
75868
  }
75581
- var _riskFactor4 = [
75869
+ var _riskFactor3 = [
75582
75870
  { type: "Smart Contract Risk" /* SMART_CONTRACT_RISK */, value: 0.5, weight: 25, reason: "Audited by Zellic" },
75583
75871
  { type: "Liquidation Risk" /* LIQUIDATION_RISK */, value: 1.5, weight: 50, reason: "Liquidation risk is mitigated by stable price feed on Starknet" },
75584
75872
  { type: "Technical Risk" /* TECHNICAL_RISK */, value: 1, weight: 50, reason: "Technical failures like risk monitoring failures" }
@@ -75782,9 +76070,9 @@ ${JSON.stringify(data, null, 2)}`;
75782
76070
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDC")],
75783
76071
  additionalInfo: getLooperSettings("USDC", "ETH", usdcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75784
76072
  risk: {
75785
- riskFactor: _riskFactor4,
75786
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75787
- notARisks: getNoRiskTags(_riskFactor4)
76073
+ riskFactor: _riskFactor3,
76074
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76075
+ notARisks: getNoRiskTags(_riskFactor3)
75788
76076
  },
75789
76077
  protocols: [Protocols.VESU],
75790
76078
  maxTVL: Web3Number.fromWei(0, 6),
@@ -75801,9 +76089,9 @@ ${JSON.stringify(data, null, 2)}`;
75801
76089
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "WBTC")],
75802
76090
  additionalInfo: getLooperSettings("WBTC", "ETH", wbtcVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75803
76091
  risk: {
75804
- riskFactor: _riskFactor4,
75805
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75806
- notARisks: getNoRiskTags(_riskFactor4)
76092
+ riskFactor: _riskFactor3,
76093
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76094
+ notARisks: getNoRiskTags(_riskFactor3)
75807
76095
  },
75808
76096
  protocols: [Protocols.VESU],
75809
76097
  maxTVL: Web3Number.fromWei(0, 8),
@@ -75820,9 +76108,9 @@ ${JSON.stringify(data, null, 2)}`;
75820
76108
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "ETH")],
75821
76109
  additionalInfo: getLooperSettings("ETH", "WBTC", ethVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75822
76110
  risk: {
75823
- riskFactor: _riskFactor4,
75824
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75825
- notARisks: getNoRiskTags(_riskFactor4)
76111
+ riskFactor: _riskFactor3,
76112
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76113
+ notARisks: getNoRiskTags(_riskFactor3)
75826
76114
  },
75827
76115
  protocols: [Protocols.VESU],
75828
76116
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75839,9 +76127,9 @@ ${JSON.stringify(data, null, 2)}`;
75839
76127
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "STRK")],
75840
76128
  additionalInfo: getLooperSettings("STRK", "ETH", strkVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75841
76129
  risk: {
75842
- riskFactor: _riskFactor4,
75843
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75844
- notARisks: getNoRiskTags(_riskFactor4)
76130
+ riskFactor: _riskFactor3,
76131
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76132
+ notARisks: getNoRiskTags(_riskFactor3)
75845
76133
  },
75846
76134
  protocols: [Protocols.VESU],
75847
76135
  maxTVL: Web3Number.fromWei(0, 18),
@@ -75858,9 +76146,9 @@ ${JSON.stringify(data, null, 2)}`;
75858
76146
  depositTokens: [Global.getDefaultTokens().find((token) => token.symbol === "USDT")],
75859
76147
  additionalInfo: getLooperSettings("USDT", "ETH", usdtVaultSettings, VesuPools.Genesis, VesuPools.Genesis),
75860
76148
  risk: {
75861
- riskFactor: _riskFactor4,
75862
- netRisk: _riskFactor4.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor4.reduce((acc, curr) => acc + curr.weight, 0),
75863
- notARisks: getNoRiskTags(_riskFactor4)
76149
+ riskFactor: _riskFactor3,
76150
+ netRisk: _riskFactor3.reduce((acc, curr) => acc + curr.value * curr.weight, 0) / _riskFactor3.reduce((acc, curr) => acc + curr.weight, 0),
76151
+ notARisks: getNoRiskTags(_riskFactor3)
75864
76152
  },
75865
76153
  protocols: [Protocols.VESU],
75866
76154
  maxTVL: Web3Number.fromWei(0, 6),