@vechain/vechain-kit 1.5.10 → 1.5.11

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.
@@ -35,7 +35,8 @@ var TOKEN_LOGOS = {
35
35
  VTHO: "https://s2.coinmarketcap.com/static/img/coins/64x64/3012.png",
36
36
  B3TR: "https://vechain.github.io/token-registry/assets/3d55edb42b09a634f7f2f26756a02571de901a5b.png",
37
37
  VOT3: "https://vechain.github.io/token-registry/assets/17ff70aa1d898bc97ad690dbfad1a3b5643f7e0b.png",
38
- veDelegate: "https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png"
38
+ veDelegate: "https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png",
39
+ USDGLO: "https://raw.githubusercontent.com/vechain/app-hub/439fba60c80ba2521d435981102d88c4aec050d6/apps/org.glodollar.app/logo.png"
39
40
  };
40
41
  var TOKEN_LOGO_COMPONENTS = {
41
42
  VET: /* @__PURE__ */ jsxRuntime.jsx(chunkA4NZ5AVL_cjs.VETLogo, {}),
@@ -218,6 +219,7 @@ var config = {
218
219
  vetDomainsPublicResolverAddress: "0x0000000000000000000000000000000000000000",
219
220
  vetDomainsReverseRegistrarAddress: "0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc",
220
221
  vnsResolverAddress: "0x0000000000000000000000000000000000000000",
222
+ gloDollarContractAddress: "0x0000000000000000000000000000000000000000",
221
223
  vetDomainAvatarUrl: "https://testnet.vet.domains/api/avatar",
222
224
  indexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
223
225
  b3trIndexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
@@ -286,6 +288,7 @@ var config2 = {
286
288
  vetDomainsPublicResolverAddress: "0xA6eFd130085a127D090ACb0b100294aD1079EA6f",
287
289
  vetDomainsReverseRegistrarAddress: "0x6878f1aD5e3015310CfE5B38d7B7071C5D8818Ca",
288
290
  vnsResolverAddress: "0xc403b8EA53F707d7d4de095f0A20bC491Cf2bc94",
291
+ gloDollarContractAddress: "0x0000000000000000000000000000000000000000",
289
292
  vetDomainAvatarUrl: "https://testnet.vet.domains/api/avatar",
290
293
  indexerUrl: "https://indexer.testnet.vechain.org/api/v1",
291
294
  b3trIndexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
@@ -401,7 +404,8 @@ var config3 = {
401
404
  vetDomainsPublicResolverAddress: "0xabac49445584C8b6c1472b030B1076Ac3901D7cf",
402
405
  vetDomainsReverseRegistrarAddress: "0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc",
403
406
  vnsResolverAddress: "0xA11413086e163e41901bb81fdc5617c975Fa5a1A",
404
- vetDomainAvatarUrl: "https://vet.domains/api/avatar"
407
+ vetDomainAvatarUrl: "https://vet.domains/api/avatar",
408
+ gloDollarContractAddress: "0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e"
405
409
  };
406
410
  var mainnet_default = config3;
407
411
 
@@ -634,5 +638,5 @@ exports.toIPFSURL = toIPFSURL;
634
638
  exports.uploadBlobToIPFS = uploadBlobToIPFS;
635
639
  exports.validateIpfsUri = validateIpfsUri;
636
640
  exports.xNodeToGMstartingLevel = xNodeToGMstartingLevel;
637
- //# sourceMappingURL=chunk-5YN7CZ5H.cjs.map
638
- //# sourceMappingURL=chunk-5YN7CZ5H.cjs.map
641
+ //# sourceMappingURL=chunk-DBQR2OKX.cjs.map
642
+ //# sourceMappingURL=chunk-DBQR2OKX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/assets/icons/VechainLogo/VOT3Logo.tsx","../src/utils/Constants.tsx","../src/utils/FormattingUtils.tsx","../src/utils/RandomTxForwarder.tsx","../src/utils/HexUtils.ts","../src/utils/AddressUtils.ts","../src/config/solo.ts","../src/config/testnet.ts","../src/config/mainnet.ts","../src/config/index.ts","../src/utils/ipfs.ts","../src/utils/media.ts","../src/utils/uri.ts","../src/utils/gmNfts.ts","../src/utils/buildQueryString.ts","../src/utils/XNode.ts"],"names":["jsxs","Icon","jsx","VETLogo","VTHOLogo","VeBetterIcon","TogglePassportCheck","address","BigNumber","picasso","generatePrivateKey","privateKeyToAccount","config"],"mappings":";;;;;;;;;;;AAKO,IAAM,QAA4B,GAAA,CAAC,EAAE,GAAG,OAAY,KAAA;AACvD,EAAA,uBACKA,eAAA,CAAAC,UAAA,EAAA,EAAK,OAAQ,EAAA,qBAAA,EAAuB,GAAG,KACpC,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACG,IAAK,EAAA,SAAA;AAAA,QACL,KAAM,EAAA,SAAA;AAAA,QACN,MAAO,EAAA,SAAA;AAAA,QACP,EAAG,EAAA,QAAA;AAAA,QACH,EAAG,EAAA,QAAA;AAAA,OAAA;AAAA,KACP;AAAA,oBACAA,cAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACG,IAAK,EAAA,SAAA;AAAA,QACL,CAAE,EAAA,yhBAAA;AAAA,OAAA;AAAA,KACN;AAAA,GACJ,EAAA,CAAA,CAAA;AAER,CAAA,CAAA;ACjBO,IAAM,WAAsC,GAAA;AAAA,EAC/C,GAAK,EAAA,mDAAA;AAAA,EACL,IAAM,EAAA,8DAAA;AAAA,EACN,IAAM,EAAA,8FAAA;AAAA,EACN,IAAM,EAAA,8FAAA;AAAA,EACN,UACI,EAAA,8FAAA;AAAA,EACJ,MAAQ,EAAA,4HAAA;AACZ,EAAA;AAEO,IAAM,qBAAqD,GAAA;AAAA,EAC9D,GAAA,kBAAKA,cAAAA,CAACC,yBAAQ,EAAA,EAAA,CAAA;AAAA,EACd,IAAA,kBAAMD,cAAAA,CAACE,0BAAS,EAAA,EAAA,CAAA;AAAA,EAChB,IAAA,kBAAMF,cAAAA,CAACG,8BAAa,EAAA,EAAA,CAAA;AAAA,EACpB,IAAA,kBAAMH,cAAAA,CAAC,QAAS,EAAA,EAAA,CAAA;AACpB,EAAA;AAEO,IAAM,oBAAuB,GAAA,4BAAA;AAE7B,IAAM,aACT,GAAA,0EAAA;AAEQ,IAAA,mBAAA,qBAAAI,oBAAL,KAAA;AACH,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,oBAAiB,CAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,oBAAiB,CAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,oBAAiB,CAAjB,CAAA,GAAA,gBAAA,CAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,6BAA0B,CAA1B,CAAA,GAAA,yBAAA,CAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,sBAAmB,CAAnB,CAAA,GAAA,kBAAA,CAAA;AALQ,EAAAA,OAAAA,oBAAAA,CAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA,EAAA;AAcL,IAAM,4BAAoD,GAAA;AAAA,EAC7D;AAAA,IACI,EAAI,EAAA,2BAAA;AAAA,IACJ,IAAM,EAAA,UAAA;AAAA,IACN,OAAS,EAAA,0BAAA;AAAA,GACb;AAAA,EACA;AAAA,IACI,EAAI,EAAA,2BAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACb;AAAA,EACA;AAAA,IACI,EAAI,EAAA,2BAAA;AAAA,IACJ,IAAM,EAAA,SAAA;AAAA,IACN,OAAS,EAAA,sBAAA;AAAA,GACb;AACJ,EAAA;ACrDO,IAAM,eAAe,CACxBC,QAAAA,EACA,cAAc,CACd,EAAA,SAAA,GAAY,MACH,CAAGA,EAAAA,QAAAA,CAAQ,KAAM,CAAA,CAAA,EAAG,WAAW,CAAC,CAAA,kBAAA,EAAMA,SAAQ,KAAM,CAAA,CAAC,SAAS,CAAC,CAAA,EAAA;AAErE,IAAM,cAAc,CACvB,MAAA,EACA,YAAe,GAAA,CAAA,EACf,cAAc,CACb,KAAA;AAED,EAAA,IAAI,MAAO,CAAA,MAAA,IAAU,YAAe,GAAA,WAAA,EAAoB,OAAA,MAAA,CAAA;AAExD,EAAA,MAAM,MAAS,GAAA,MAAA,CAAO,SAAU,CAAA,CAAA,EAAG,YAAY,CAAA,CAAA;AAC/C,EAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,SAAU,CAAA,MAAA,CAAO,SAAS,WAAW,CAAA,CAAA;AAC1D,EAAO,OAAA,CAAA,EAAG,MAAM,CAAA,kBAAA,EAAM,KAAK,CAAA,CAAA,CAAA;AAC/B,EAAA;AAEO,IAAM,WAAc,GAAA,CACvB,cACA,EAAA,aAAA,EACA,SAAwB,IACvB,KAAA;AACD,EAAM,MAAA,MAAA,GAAS,MAAS,GAAA,GAAA,GAAM,MAAS,GAAA,EAAA,CAAA;AAEvC,EAAA,aAAA,GAAgB,aAAiB,IAAA,cAAA,CAAA;AACjC,EAAA,MAAM,SAAY,GAAA,IAAI,IAAK,CAAA,YAAA,CAAa,IAAM,EAAA;AAAA,IAC1C,KAAO,EAAA,SAAA;AAAA,IACP,qBAAA,EACI,OAAO,UAAW,CAAA,cAAA,CAAe,UAAU,CAAA,GAAI,CAAM,KAAA,CAAA,GAAI,CAAI,GAAA,CAAA;AAAA,GACpE,CAAA,CAAA;AAED,EAAA,IAAI,QAAQ,SAAU,CAAA,MAAA;AAAA,IAClB,0BAA2B,CAAA,MAAA,CAAO,cAAc,CAAA,EAAG,CAAC,CAAA;AAAA,GACxD,CAAA;AAGA,EAAA,IAAI,CAAC,MAAO,CAAA,aAAa,CAAK,IAAA,MAAA,CAAO,KAAK,CAAG,EAAA;AACzC,IAAQ,KAAA,GAAA,QAAA,CAAA;AAAA,GACZ;AAEA,EAAA,OAAO,KAAQ,GAAA,MAAA,CAAA;AACnB,EAAA;AAEa,IAAA,MAAA,GAAS,CAAC,KAA4B,KAAA;AAC/C,EAAA,IAAI,CAAC,KAAA,IAAS,KAAU,KAAA,CAAA,EAAU,OAAA,KAAA,CAAA;AAClC,EAAA,OAAO,IAAIC,sBAAA,CAAU,KAAK,CAAA,CAAE,MAAO,EAAA,CAAA;AACvC,EAAA;AAEO,IAAM,eAAkB,GAAA,CAACD,QAAiB,EAAA,MAAA,GAAS,KAAkB,KAAA;AACxE,EAAA,MAAM,KAAQ,GAAAE,eAAA,CAAQF,QAAQ,CAAA,WAAA,EAAa,CAAA,CAAA;AAC3C,EAAA,IAAI,MAAQ,EAAA;AACR,IAAA,MAAM,aAAa,MAAO,CAAA,IAAA,CAAK,OAAO,MAAM,CAAA,CAAE,SAAS,QAAQ,CAAA,CAAA;AAC/D,IAAA,OAAO,6BAA6B,UAAU,CAAA,CAAA,CAAA;AAAA,GAClD;AACA,EAAA,OAAO,2BAA2B,KAAK,CAAA,CAAA,CAAA;AAC3C,EAAA;AAUA,SAAS,0BAAA,CAA2B,OAAiB,EAAA,QAAA,GAAmB,CAAG,EAAA;AACvE,EAAA,IAAI,OAAO,OAAA,KAAY,QAAY,IAAA,OAAO,aAAa,QAAU,EAAA;AAC7D,IAAA,MAAM,IAAI,KAAA;AAAA,MACN,2DAAA;AAAA,KACJ,CAAA;AAAA,GACJ;AAEA,EAAA,MAAM,iBAAoB,GAAA,QAAA;AAAA,IACtB,QAAQ,aAAc,EAAA,CAAE,MAAM,IAAI,CAAA,CAAE,CAAC,CAAK,IAAA,GAAA;AAAA,IAC1C,EAAA;AAAA,GACJ,CAAA;AAEA,EAAA,MAAM,iBAAoB,GAAA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,WAAW,iBAAiB,CAAA,CAAA;AAClE,EAAA,MAAM,WAAc,GAAA,IAAA,CAAK,GAAI,CAAA,EAAA,EAAI,iBAAiB,CAAA,CAAA;AAElD,EAAA,OAAO,IAAK,CAAA,KAAA,CAAM,OAAU,GAAA,WAAW,CAAI,GAAA,WAAA,CAAA;AAC/C,CAAA;AChFO,IAAM,yBAIR,MAAM;AACP,EAAA,MAAM,aAAaG,2BAAmB,EAAA,CAAA;AACtC,EAAM,MAAA,OAAA,GAAUC,6BAAoB,UAAU,CAAA,CAAA;AAC9C,EAAO,OAAA;AAAA,IACH,UAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAS,OAAQ,CAAA,OAAA;AAAA,GACrB,CAAA;AACJ,CAAG,IAAA;ACjBH,IAAM,MAAS,GAAA,IAAA,CAAA;AACf,IAAM,YAAe,GAAA,QAAA,CAAA;AACrB,IAAM,SAAY,GAAA,wBAAA,CAAA;AAsBX,IAAM,SAAA,GAAY,CAAC,GAAwB,KAAA;AAC9C,EAAA,QAAA,CAAS,GAAG,CAAA,CAAA;AACZ,EAAA,OAAO,YAAa,CAAA,IAAA,CAAK,GAAG,CAAA,GACtB,GAAI,CAAA,OAAA,CAAQ,YAAc,EAAA,MAAM,CAChC,GAAA,CAAA,EAAG,MAAM,CAAA,EAAG,GAAG,CAAA,CAAA,CAAA;AACzB,CAAA,CAAA;AAOO,IAAM,QAAA,GAAW,CAAC,GAAgB,KAAA;AACrC,EAAA,IAAI,CAAC,OAAQ,CAAA,GAAG,CAAG,EAAA,MAAM,MAAM,iCAAiC,CAAA,CAAA;AACpE,CAAA,CAAA;AAOO,IAAM,OAAA,GAAU,CAAC,GAAiC,KAAA;AACrD,EAAA,OAAO,CAAC,CAAC,GAAO,IAAA,SAAA,CAAU,KAAK,GAAG,CAAA,CAAA;AACtC,CAAA,CAAA;AAMO,IAAM,SAAA,GAAY,CAAC,GAAwB,KAAA;AAC9C,EAAA,OAAO,SAAU,CAAA,GAAA,CAAI,WAAY,EAAA,CAAE,MAAM,CAAA,CAAA;AAC7C,CAAA,CAAA;;;AC7Ca,IAAA,gBAAA,GAAmB,CAC5B,QAAA,EACA,QACU,KAAA;AACV,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,QAAA,EAAiB,OAAA,KAAA,CAAA;AAEnC,EAAA,IAAI,aAAa,QAAU,EAAA;AACvB,IAAO,OAAA,IAAA,CAAA;AAAA,GACX;AAEA,EAAI,IAAA;AACA,IAAA,OAAgB,SAAU,CAAA,QAAQ,CAAe,KAAA,SAAA,CAAU,QAAQ,CAAA,CAAA;AAAA,WAE9D,CAAG,EAAA;AACR,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AACJ,EAAA;AAEa,IAAA,sBAAA,GAAyB,CAAC,IAAA,EAAgB,IAAmB,KAAA;AACtE,EAAA,IAAI,IAAK,CAAA,MAAA,KAAW,IAAK,CAAA,MAAA,EAAe,OAAA,KAAA,CAAA;AACxC,EAAA,MAAM,aAAa,CAAC,GAAG,IAAI,CACtB,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,CAAA,CAC1B,KAAK,CAAC,CAAA,EAAG,MAAM,CAAE,CAAA,aAAA,CAAc,CAAC,CAAC,CAAA,CAAA;AACtC,EAAA,MAAM,aAAa,CAAC,GAAG,IAAI,CACtB,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,CAAA,CAC1B,KAAK,CAAC,CAAA,EAAG,MAAM,CAAE,CAAA,aAAA,CAAc,CAAC,CAAC,CAAA,CAAA;AAEtC,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,UAAA,CAAW,QAAQ,CAAK,EAAA,EAAA;AACxC,IAAI,IAAA,CAAC,iBAAiB,UAAW,CAAA,CAAC,GAAG,UAAW,CAAA,CAAC,CAAC,CAAA,EAAU,OAAA,KAAA,CAAA;AAAA,GAChE;AAEA,EAAO,OAAA,IAAA,CAAA;AACX,EAAA;AAEO,IAAM,eAAe,MAAM;AAC9B,EAAO,OAAA,qBAAA,CAAA;AACX,EAAA;AAEa,IAAA,cAAA,GAAiB,CAAC,IAA6C,KAAA;AACxE,EAAI,IAAA;AACA,IAAI,IAAA,OAAO,IAAS,KAAA,QAAA,EAAiB,OAAA,KAAA,CAAA;AACrC,IAAQJ,kBAAA,CAAA,YAAA,CAAsB,SAAU,CAAA,IAAI,CAAC,CAAA,CAAA;AAC7C,IAAO,OAAA,IAAA,CAAA;AAAA,WAEF,CAAG,EAAA;AACR,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AACJ,EAAA;AAEa,IAAA,gBAAA,GAAmB,CAAC,GAAA,EAAa,MAA2B,KAAA;AAErE,EAAM,MAAA,QAAA,GAAW,IAAI,UAAW,CAAA,IAAI,IAAI,GAAI,CAAA,KAAA,CAAM,CAAC,CAAI,GAAA,GAAA,CAAA;AACvD,EAAI,IAAA,QAAA,CAAS,SAAS,MAAQ,EAAA;AAC1B,IAAM,MAAA,IAAI,MAAM,kDAAkD,CAAA,CAAA;AAAA,GACtE;AAEA,EAAA,MAAM,SAAY,GAAA,QAAA,CAAS,QAAS,CAAA,MAAA,EAAQ,GAAG,CAAA,CAAA;AAC/C,EAAA,OAAO,KAAK,SAAS,CAAA,CAAA,CAAA;AACzB,EAAA;;;ACpEA,IAAM,MAAoB,GAAA;AAAA,EACtB,mBAAqB,EAAA,gDAAA;AAAA,EACrB,kBACI,EAAA,wEAAA;AAAA,EACJ,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,uBAAyB,EAAA,4CAAA;AAAA,EACzB,8BACI,EAAA,4CAAA;AAAA,EACJ,gCACI,EAAA,4CAAA;AAAA,EACJ,wBAA0B,EAAA,4CAAA;AAAA,EAC1B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,uBAAyB,EAAA,4CAAA;AAAA,EACzB,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,gCACI,EAAA,4CAAA;AAAA,EACJ,6BAA+B,EAAA,4CAAA;AAAA,EAC/B,+BACI,EAAA,4CAAA;AAAA,EACJ,4BAA8B,EAAA,4CAAA;AAAA,EAC9B,UAAY,EAAA,4CAAA;AAAA,EACZ,eAAiB,EAAA,4CAAA;AAAA,EACjB,8BACI,EAAA,4CAAA;AAAA,EACJ,qBAAuB,EAAA,4CAAA;AAAA,EACvB,qBAAuB,EAAA,4CAAA;AAAA,EACvB,gCACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,sCACI,EAAA,4CAAA;AAAA,EACJ,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,+BACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,kBAAoB,EAAA,4CAAA;AAAA,EACpB,wBAA0B,EAAA,4CAAA;AAAA,EAC1B,kBAAoB,EAAA,wCAAA;AAAA,EACpB,UAAY,EAAA,yCAAA;AAAA,EACZ,cAAgB,EAAA,yCAAA;AAAA,EAChB,iBAAmB,EAAA,sCAAA;AAAA,EACnB,OAAS,EAAA,uBAAA;AAAA,EACT,OAAS,EAAA;AAAA,IACL,EAAI,EAAA,MAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,UAAY,EAAA,IAAA;AAAA,IACZ,IAAA,EAAM,CAAC,uBAAuB,CAAA;AAAA,IAC9B,WAAa,EAAA,qCAAA;AAAA,IACb,SAAW,EAAA,GAAA;AAAA,IACX,OAAS,EAAA;AAAA,MACL,MAAQ,EAAA,CAAA;AAAA,MACR,EAAI,EAAA,oEAAA;AAAA,MACJ,IAAM,EAAA,GAAA;AAAA,MACN,QACI,EAAA,oEAAA;AAAA,MACJ,SAAW,EAAA,UAAA;AAAA,MACX,QAAU,EAAA,GAAA;AAAA,MACV,WAAa,EAAA,4CAAA;AAAA,MACb,OAAS,EAAA,CAAA;AAAA,MACT,UAAY,EAAA,CAAA;AAAA,MACZ,OACI,EAAA,oEAAA;AAAA,MACJ,WAAa,EAAA,CAAA;AAAA,MACb,SACI,EAAA,oEAAA;AAAA,MACJ,YACI,EAAA,oEAAA;AAAA,MACJ,MAAQ,EAAA,4CAAA;AAAA,MACR,OAAS,EAAA,IAAA;AAAA,MACT,cAAc,EAAC;AAAA,KACnB;AAAA,GACJ;AAAA,EACA,WAAa,EAAA,qCAAA;AACjB,CAAA,CAAA;AACA,IAAO,YAAQ,GAAA,MAAA,CAAA;;;AChFf,IAAMK,OAAoB,GAAA;AAAA,EACtB,mBAAqB,EAAA,gDAAA;AAAA,EACrB,kBACI,EAAA,wEAAA;AAAA,EACJ,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,uBAAyB,EAAA,4CAAA;AAAA,EACzB,8BACI,EAAA,4CAAA;AAAA,EACJ,gCACI,EAAA,4CAAA;AAAA,EACJ,wBAA0B,EAAA,4CAAA;AAAA,EAC1B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,4BAA8B,EAAA,EAAA;AAAA,EAC9B,6BAA+B,EAAA,EAAA;AAAA,EAC/B,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,uBAAyB,EAAA,4CAAA;AAAA,EACzB,gCACI,EAAA,4CAAA;AAAA,EACJ,+BAAiC,EAAA,EAAA;AAAA,EACjC,UAAY,EAAA,4CAAA;AAAA,EACZ,eAAiB,EAAA,4CAAA;AAAA,EACjB,8BACI,EAAA,4CAAA;AAAA,EACJ,qBAAuB,EAAA,4CAAA;AAAA,EACvB,qBAAuB,EAAA,4CAAA;AAAA,EACvB,gCACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,sCACI,EAAA,4CAAA;AAAA,EACJ,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,+BACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,kBAAoB,EAAA,4CAAA;AAAA,EACpB,wBAA0B,EAAA,4CAAA;AAAA,EAC1B,kBAAoB,EAAA,wCAAA;AAAA,EACpB,UAAY,EAAA,4CAAA;AAAA,EACZ,cAAgB,EAAA,yCAAA;AAAA,EAChB,iBAAmB,EAAA,sCAAA;AAAA,EACnB,OAAS,EAAA,6BAAA;AAAA,EACT,OAAS,EAAA;AAAA,IACL,EAAI,EAAA,SAAA;AAAA,IACJ,IAAM,EAAA,SAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,UAAY,EAAA,IAAA;AAAA,IACZ,IAAM,EAAA;AAAA,MACF,6BAAA;AAAA,MACA,yCAAA;AAAA,MACA,mCAAA;AAAA,MACA,0BAAA;AAAA,KACJ;AAAA,IACA,WAAa,EAAA,iCAAA;AAAA,IACb,SAAW,EAAA,GAAA;AAAA,IACX,OAAS,EAAA;AAAA,MACL,MAAQ,EAAA,CAAA;AAAA,MACR,EAAI,EAAA,oEAAA;AAAA,MACJ,IAAM,EAAA,GAAA;AAAA,MACN,QACI,EAAA,oEAAA;AAAA,MACJ,SAAW,EAAA,UAAA;AAAA,MACX,QAAU,EAAA,GAAA;AAAA,MACV,WAAa,EAAA,4CAAA;AAAA,MACb,OAAS,EAAA,CAAA;AAAA,MACT,UAAY,EAAA,CAAA;AAAA,MACZ,OACI,EAAA,oEAAA;AAAA,MACJ,WAAa,EAAA,CAAA;AAAA,MACb,SACI,EAAA,oEAAA;AAAA,MACJ,YACI,EAAA,oEAAA;AAAA,MACJ,MAAQ,EAAA,4CAAA;AAAA,MACR,OAAS,EAAA,IAAA;AAAA,MACT,cAAc,EAAC;AAAA,KACnB;AAAA,GACJ;AAAA,EACA,WAAa,EAAA,kDAAA;AACjB,CAAA,CAAA;AACA,IAAO,eAAQA,GAAAA,OAAAA,CAAAA;;;ACtFf,IAAMA,OAAoB,GAAA;AAAA,EACtB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,UAAY,EAAA,4CAAA;AAAA,EACZ,kBACI,EAAA,oEAAA;AAAA,EACJ,cAAgB,EAAA,yCAAA;AAAA,EAChB,iBAAmB,EAAA,sCAAA;AAAA,EACnB,OAAS,EAAA,6BAAA;AAAA,EACT,OAAS,EAAA;AAAA,IACL,EAAI,EAAA,MAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,UAAY,EAAA,IAAA;AAAA,IACZ,IAAM,EAAA;AAAA,MACF,6BAAA;AAAA,MACA,iCAAA;AAAA,MACA,8BAAA;AAAA,MACA,0BAAA;AAAA,KACJ;AAAA,IACA,WAAa,EAAA,0BAAA;AAAA,IACb,SAAW,EAAA,GAAA;AAAA,IACX,OAAS,EAAA;AAAA,MACL,MAAQ,EAAA,CAAA;AAAA,MACR,EAAI,EAAA,oEAAA;AAAA,MACJ,IAAM,EAAA,GAAA;AAAA,MACN,QACI,EAAA,oEAAA;AAAA,MACJ,SAAW,EAAA,UAAA;AAAA,MACX,QAAU,EAAA,GAAA;AAAA,MACV,WAAa,EAAA,4CAAA;AAAA,MACb,OAAS,EAAA,CAAA;AAAA,MACT,UAAY,EAAA,CAAA;AAAA,MACZ,OACI,EAAA,oEAAA;AAAA,MACJ,WAAa,EAAA,CAAA;AAAA,MACb,SACI,EAAA,oEAAA;AAAA,MACJ,YACI,EAAA,oEAAA;AAAA,MACJ,MAAQ,EAAA,4CAAA;AAAA,MACR,OAAS,EAAA,IAAA;AAAA,MACT,cAAc,EAAC;AAAA,KACnB;AAAA,GACJ;AAAA,EACA,WAAa,EAAA,sCAAA;AAAA;AAAA,EAEb,mBAAqB,EAAA,4CAAA;AAAA;AAAA,EAErB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,mBAAqB,EAAA,4CAAA;AAAA,EACrB,uBAAyB,EAAA,4CAAA;AAAA,EACzB,8BACI,EAAA,4CAAA;AAAA,EACJ,gCACI,EAAA,4CAAA;AAAA,EACJ,wBAA0B,EAAA,4CAAA;AAAA,EAC1B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,2BAA6B,EAAA,4CAAA;AAAA,EAC7B,uBAAyB,EAAA,4CAAA;AAAA,EACzB,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,gCACI,EAAA,4CAAA;AAAA,EACJ,4BAA8B,EAAA,4CAAA;AAAA,EAC9B,6BAA+B,EAAA,4CAAA;AAAA,EAC/B,+BACI,EAAA,4CAAA;AAAA;AAAA,EAEJ,UAAY,EAAA,4CAAA;AAAA,EACZ,eAAiB,EAAA,4CAAA;AAAA,EACjB,8BACI,EAAA,4CAAA;AAAA;AAAA,EAEJ,qBAAuB,EAAA,4CAAA;AAAA,EACvB,qBAAuB,EAAA,4CAAA;AAAA;AAAA,EAEvB,gCACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,sCACI,EAAA,4CAAA;AAAA,EACJ,yBAA2B,EAAA,4CAAA;AAAA,EAC3B,+BACI,EAAA,4CAAA;AAAA,EACJ,iCACI,EAAA,4CAAA;AAAA,EACJ,kBAAoB,EAAA,4CAAA;AAAA,EACpB,kBAAoB,EAAA,gCAAA;AAAA,EACpB,wBAA0B,EAAA,4CAAA;AAC9B,CAAA,CAAA;AACA,IAAO,eAAQA,GAAAA,OAAAA,CAAAA;;;AC9CF,IAAA,SAAA,GAAY,CAAC,GAAiC,KAAA;AACvD,EAAI,IAAA,GAAA,KAAQ,QAAe,OAAA,YAAA,CAAA;AAC3B,EAAI,IAAA,GAAA,KAAQ,QAAe,OAAA,eAAA,CAAA;AAC3B,EAAI,IAAA,GAAA,KAAQ,QAAe,OAAA,eAAA,CAAA;AAC3B,EAAA,MAAM,IAAI,KAAA,CAAM,CAA4B,yBAAA,EAAA,GAAG,CAAE,CAAA,CAAA,CAAA;AACrD,EAAA;;;ACxCa,IAAA,eAAA,GAAkB,CAAC,GAAyB,KAAA;AACrD,EAAM,MAAA,UAAA,GAAa,IAAI,IAAK,EAAA,CAAA;AAC5B,EAAO,OAAA,sCAAA,CAAuC,KAAK,UAAU,CAAA,CAAA;AACjE,EAAA;AAUO,SAAS,SAAA,CAAU,KAAa,QAA2B,EAAA;AAC9D,EAAA,OAAO,CAAU,OAAA,EAAA,GAAG,CAAI,CAAA,EAAA,QAAA,IAAY,EAAE,CAAA,CAAA,CAAA;AAC1C,CAAA;AASA,eAAsB,gBAAA,CAClB,IACA,EAAA,QAAA,EACA,WACe,EAAA;AACf,EAAI,IAAA;AACA,IAAM,MAAA,IAAA,GAAO,IAAI,QAAS,EAAA,CAAA;AAC1B,IAAK,IAAA,CAAA,MAAA,CAAO,MAAQ,EAAA,IAAA,EAAM,QAAQ,CAAA,CAAA;AAClC,IAAA,MAAM,WAAW,MAAM,KAAA;AAAA,MACnB,SAAA,CAAU,WAAW,CAAE,CAAA,kBAAA;AAAA,MACvB;AAAA,QACI,MAAQ,EAAA,MAAA;AAAA,QACR,OAAS,EAAA;AAAA,UACL,cAAgB,EAAA,aAAA;AAAA,SACpB;AAAA,QACA,IAAM,EAAA,IAAA;AAAA,OACV;AAAA,KACJ,CAAA;AAEA,IAAI,IAAA,CAAC,SAAS,EAAI,EAAA;AACd,MAAA,MAAM,IAAI,KAAA,CAAM,CAAuB,oBAAA,EAAA,QAAA,CAAS,MAAM,CAAE,CAAA,CAAA,CAAA;AAAA,KAC5D;AAEA,IAAM,MAAA,IAAA,GAAO,MAAM,QAAA,CAAS,IAAK,EAAA,CAAA;AACjC,IAAA,OAAO,IAAK,CAAA,QAAA,CAAA;AAAA,WACP,KAAO,EAAA;AACZ,IAAQ,OAAA,CAAA,KAAA,CAAM,yBAAyB,KAAK,CAAA,CAAA;AAC5C,IAAM,MAAA,IAAI,MAAM,+BAA+B,CAAA,CAAA;AAAA,GACnD;AACJ,CAAA;;;AC9DA,IAAM,eAAA,GAAkB,CAAC,IAAA,EAAc,IAAyB,KAAA;AAC9D,EAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,IAAA,CAAK,CAAK,CAAA,KAAA;AAC3B,IAAA,IAAI,MAAM,KAAM,CAAA,GAAG,CAAE,CAAA,CAAC,MAAM,CAAG,EAAA;AAC7B,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CAAA;AAED,EAAA,OAAO,CAAC,CAAC,KAAA,CAAA;AACX,CAAA,CAAA;AAEa,IAAA,4BAAA,GAA+B,CAAC,QAAmC,KAAA;AAC9E,EAAA,IAAI,eAAgB,CAAA,QAAA,EAAU,CAAmB,OAAA,aAAC,CAAG,EAAA,OAAA,OAAA,aAAA;AAAA,OAAA,IAC5C,eAAgB,CAAA,QAAA,EAAU,CAAmB,OAAA,aAAC,CAAG,EAAA,OAAA,OAAA,aAAA;AAE1D,EAAA,OAAA,SAAA,eAAA;AACF,EAAA;;;ACNa,IAAA,eAAA,GAAkB,CAAC,GAAA,EAAa,WAA8B,KAAA;AAEvE,EAAA,IAAI,GAAI,CAAA,UAAA,CAAW,OAAO,CAAA,EAAU,OAAA,GAAA,CAAA;AAEpC,EAAM,MAAA,QAAA,GAAW,GAAK,EAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACjC,EAAI,IAAA,QAAA,CAAS,MAAW,KAAA,CAAA,EAAU,OAAA,IAAA,CAAA;AAGlC,EAAA,MAAM,QAAW,GAAA,QAAA,GAAW,CAAC,CAAA,EAAG,IAAK,EAAA,CAAA;AACrC,EAAM,MAAA,kBAAA,GAAqB,SAAS,CAAC,CAAA,CAAA;AAErC,EAAA,QAAQ,QAAU;AAAA,IACd,KAAK,MAAA;AACD,MAAI,IAAA,CAAC,gBAAgB,GAAG,CAAA;AACpB,QAAA,MAAM,IAAI,KAAA,CAAM,CAAoB,iBAAA,EAAA,GAAG,CAAE,CAAA,CAAA,CAAA;AAG7C,MAAA,OAAO,GACH,SAAU,CAAA,WAAW,CAAE,CAAA,mBAC3B,IAAI,kBAAkB,CAAA,CAAA,CAAA;AAAA,IAE1B,KAAK,IAAA;AACD,MAAA,OAAO,uBAAuB,kBAAkB,CAAA,CAAA,CAAA;AAAA,IAEpD;AACI,MAAO,OAAA,GAAA,CAAA;AAAA,GACf;AACJ,EAAA;;;ACtCO,IAAM,MAAS,GAAA;AAAA,EAClB;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,CAAA;AAAA,IACZ,aAAe,EAAA,CAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,GAAA;AAAA,IACZ,aAAe,EAAA,GAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,GAAA;AAAA,IACZ,aAAe,EAAA,IAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,GAAA;AAAA,IACZ,aAAe,EAAA,GAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,CAAA;AAAA,IACZ,aAAe,EAAA,GAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,GAAA;AAAA,IACZ,aAAe,EAAA,IAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,CAAA;AAAA,IACZ,aAAe,EAAA,GAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,CAAA;AAAA,IACZ,aAAe,EAAA,IAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,EAAA;AAAA,IACZ,aAAe,EAAA,GAAA;AAAA,GACnB;AAAA,EACA;AAAA,IACI,KAAO,EAAA,IAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA,0BAAA;AAAA,IACP,UAAY,EAAA,EAAA;AAAA,IACZ,aAAe,EAAA,IAAA;AAAA,GACnB;AACJ,EAAA;AAKO,IAAM,sBAAiD,GAAA;AAAA,EAC1D,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AAAA,EACH,CAAG,EAAA,CAAA;AACP,EAAA;;;ACnFa,IAAA,gBAAA,GAAmB,CAAC,MAAmC,KAAA;AAClE,EAAM,MAAA,YAAA,GAAe,IAAI,eAAgB,EAAA,CAAA;AAGzC,EAAA,MAAA,CAAO,IAAK,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAO,GAAA,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAI,IAAA,KAAA,KAAU,KAAa,CAAA,IAAA,KAAA,KAAU,IAAM,EAAA;AACzC,MAAA,YAAA,CAAa,MAAO,CAAA,GAAA,EAAK,MAAO,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACxC;AAAA,GACD,CAAA,CAAA;AAED,EAAA,OAAO,aAAa,QAAS,EAAA,CAAA;AAC/B,EAAA;;;ACVO,IAAM,wBAAsD,GAAA;AAAA,EACjE,GAAK,EAAA,4BAAA;AAAA,EACL,GAAK,EAAA,8BAAA;AAAA,EACL,GAAK,EAAA,6BAAA;AAAA,EACL,GAAK,EAAA,6BAAA;AAAA,EACL,GAAK,EAAA,6BAAA;AAAA,EACL,GAAK,EAAA,+BAAA;AAAA,EACL,GAAK,EAAA,8BAAA;AAAA,EACL,GAAK,EAAA,8BAAA;AACP,EAAA;AAGO,IAAM,aAAgB,GAAA,EAAA;AACtB,IAAM,+BAA6D,GAAA;AAAA,EACxE,GAAK,EAAA,UAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AACP,EAAA;AAEO,IAAM,wBAAsD,GAAA;AAAA,EACjE,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,WAAA;AAAA,EACL,GAAK,EAAA,UAAA;AAAA,EACL,GAAK,EAAA,UAAA;AACP,EAAA;AAEO,IAAM,0BAAwD,GAAA;AAAA,EACnE,GAAG,+BAAA;AAAA,EACH,GAAG,wBAAA;AACL","file":"chunk-DBQR2OKX.cjs","sourcesContent":["import { Icon, IconProps } from '@chakra-ui/react';\nimport React from 'react';\n\ntype Props = Omit<IconProps, 'dangerouslySetInnerHTML'>;\n\nexport const VOT3Logo: React.FC<Props> = ({ ...props }) => {\n return (\n <Icon viewBox=\"0 0 1684.56 1684.56\" {...props}>\n <rect\n fill=\"#b1f16c\"\n width=\"1684.56\"\n height=\"1684.56\"\n rx=\"157.74\"\n ry=\"157.74\"\n />\n <path\n fill=\"#1d1d1d\"\n d=\"M844.98,1386.28c-41.46,0-75.1-33.9-75.1-75.67,0-142.78-86.35-274.05-158.8-359.01-89.72-105.25-197.89-186.19-265.28-219.75-37.18-18.54-52.43-63.88-34.09-101.35,18.39-37.47,63.39-52.83,100.58-34.35,75.09,37.41,202.11,127.08,312.7,256.82,32.24,37.81,66.77,83.5,97.66,135.35,34.2-108.83,79.98-205.07,121.61-280.12,91.8-165.56,214.37-317.13,319.84-395.63,33.36-24.83,80.39-17.68,105.02,15.93,24.64,33.61,17.55,81-15.81,105.82-88.03,65.47-197.1,201.95-277.93,347.68-70.82,127.7-155.25,323.08-155.25,528.6,0,41.78-33.64,75.67-75.1,75.67h-.06Z\"\n />\n </Icon>\n );\n};\n","import { VeBetterIcon, VTHOLogo } from '@/assets';\nimport { VETLogo } from '@/assets/icons/VechainLogo/VETLogo';\nimport { VOT3Logo } from '@/assets/icons/VechainLogo/VOT3Logo';\n\nexport const TOKEN_LOGOS: Record<string, string> = {\n VET: 'https://cryptologos.cc/logos/vechain-vet-logo.png',\n VTHO: 'https://s2.coinmarketcap.com/static/img/coins/64x64/3012.png',\n B3TR: 'https://vechain.github.io/token-registry/assets/3d55edb42b09a634f7f2f26756a02571de901a5b.png',\n VOT3: 'https://vechain.github.io/token-registry/assets/17ff70aa1d898bc97ad690dbfad1a3b5643f7e0b.png',\n veDelegate:\n 'https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png',\n USDGLO: 'https://raw.githubusercontent.com/vechain/app-hub/439fba60c80ba2521d435981102d88c4aec050d6/apps/org.glodollar.app/logo.png',\n};\n\nexport const TOKEN_LOGO_COMPONENTS: Record<string, JSX.Element> = {\n VET: <VETLogo />,\n VTHO: <VTHOLogo />,\n B3TR: <VeBetterIcon />,\n VOT3: <VOT3Logo />,\n};\n\nexport const VECHAIN_PRIVY_APP_ID = 'cm4wxxujb022fyujl7g0thb21';\n\nexport const notFoundImage =\n 'https://upload.wikimedia.org/wikipedia/commons/a/a3/Image-not-found.png';\n\nexport enum TogglePassportCheck {\n WhitelistCheck = 1,\n BlacklistCheck = 2,\n SignalingCheck = 3,\n ParticipationScoreCheck = 4,\n GmOwnershipCheck = 5,\n}\n\nexport type PrivyEcosystemApp = {\n id: string;\n name: string;\n website: string;\n};\n\nexport const DEFAULT_PRIVY_ECOSYSTEM_APPS: PrivyEcosystemApp[] = [\n {\n id: 'clz41gcg00e4ay75dmq3uzzgr',\n name: 'Cleanify',\n website: 'https://app.cleanify.vet',\n },\n {\n id: 'cm153hrup0817axti38avlfyg',\n name: 'GreenCart',\n website: 'https://greencart.ai',\n },\n {\n id: 'clv9sfos20j6x1431ga80d95f',\n name: 'Mughsot',\n website: 'https://mugshot.vet/',\n },\n];\n","import { picasso } from '@vechain/picasso';\nimport { BigNumber } from 'bignumber.js';\n\nexport const humanAddress = (\n address: string,\n charAtStart = 6,\n charAtEnd = 4,\n): string => `${address.slice(0, charAtStart)}•••${address.slice(-charAtEnd)}`;\n\nexport const humanDomain = (\n domain: string,\n lengthBefore = 8,\n lengthAfter = 6,\n) => {\n // if domain is smaller than lengthBefore + lengthAfter, return the domain\n if (domain.length <= lengthBefore + lengthAfter) return domain;\n\n const before = domain.substring(0, lengthBefore);\n const after = domain.substring(domain.length - lengthAfter);\n return `${before}•••${after}`;\n};\n\nexport const humanNumber = (\n formattedValue: BigNumber.Value,\n originalValue?: BigNumber.Value,\n symbol: string | null = null,\n) => {\n const suffix = symbol ? ' ' + symbol : '';\n\n originalValue = originalValue || formattedValue;\n const formatter = new Intl.NumberFormat('en', {\n style: 'decimal',\n minimumFractionDigits:\n Number.parseFloat(formattedValue.toString()) % 1 === 0 ? 0 : 2,\n });\n\n let value = formatter.format(\n roundDownSignificantDigits(Number(formattedValue), 2),\n );\n\n //If the original number got scaled down to 0\n if (!isZero(originalValue) && isZero(value)) {\n value = '< 0.01';\n }\n\n return value + suffix;\n};\n\nexport const isZero = (value?: BigNumber.Value) => {\n if (!value && value !== 0) return false;\n return new BigNumber(value).isZero();\n};\n\nexport const getPicassoImage = (address: string, base64 = false): string => {\n const image = picasso(address.toLowerCase());\n if (base64) {\n const base64data = Buffer.from(image, 'utf8').toString('base64');\n return `data:image/svg+xml;base64,${base64data}`;\n }\n return `data:image/svg+xml;utf8,${image}`;\n};\n\n/**\n * Format the number human friendly\n * @param formattedValue - value in string or number\n * @param originalValue - value in string or number to determine if the original value is 0\n * @param symbol - (optional) symbol to append at end of number (with a space)\n * @returns the formatted number\n */\n\nfunction roundDownSignificantDigits(numbers: number, decimals: number = 0) {\n if (typeof numbers !== 'number' || typeof decimals !== 'number') {\n throw new Error(\n 'Invalid input: number and decimals must be of type number',\n );\n }\n\n const significantDigits = parseInt(\n numbers.toExponential().split('e-')[1] || '0',\n 10,\n );\n\n const effectiveDecimals = Math.max(0, decimals + significantDigits);\n const scaleFactor = Math.pow(10, effectiveDecimals);\n\n return Math.floor(numbers * scaleFactor) / scaleFactor;\n}\n","import {\n generatePrivateKey,\n privateKeyToAccount,\n Account,\n} from 'viem/accounts';\n\nexport const randomTransactionUser: {\n privateKey: string;\n account: Account;\n address: string;\n} = (() => {\n const privateKey = generatePrivateKey();\n const account = privateKeyToAccount(privateKey);\n return {\n privateKey,\n account,\n address: account.address,\n };\n})();\n","import crypto from \"crypto\";\nconst PREFIX = \"0x\";\nconst PREFIX_REGEX = /^0[xX]/;\nconst HEX_REGEX = /^(0[xX])?[a-fA-F0-9]+$/;\n\n/**\n * Returns the provied hex string with the hex prefix removed.\n * If the prefix doesn't exist the hex is returned unmodified\n * @param hex - the input hex string\n * @returns the input hex string with the hex prefix removed\n * @throws an error if the input is not a valid hex string\n */\nexport const removePrefix = (hex: string): string => {\n validate(hex);\n return hex.replace(PREFIX_REGEX, \"\");\n};\n\n/**\n * Returns the provided hex string with the hex prefix added.\n * If the prefix already exists the string is returned unmodified.\n * If the string contains an UPPER case `X` in the prefix it will be replaced with a lower case `x`\n * @param hex - the input hex string\n * @returns the input hex string with the hex prefix added\n * @throws an error if the input is not a valid hex string\n */\nexport const addPrefix = (hex: string): string => {\n validate(hex);\n return PREFIX_REGEX.test(hex)\n ? hex.replace(PREFIX_REGEX, PREFIX)\n : `${PREFIX}${hex}`;\n};\n\n/**\n * Validate the hex string. Throws an Error if not valid\n * @param hex - the input hex string\n * @throws an error if the input is not a valid hex string\n */\nexport const validate = (hex: string) => {\n if (!isValid(hex)) throw Error(\"Provided hex value is not valid\");\n};\n\n/**\n * Check if input string is valid\n * @param hex - the input hex string\n * @returns boolean representing whether the input hex is valid\n */\nexport const isValid = (hex?: string | null): boolean => {\n return !!hex && HEX_REGEX.test(hex);\n};\n\nexport const isInvalid = (hex?: string | null): boolean => {\n return !isValid(hex);\n};\n\nexport const normalize = (hex: string): string => {\n return addPrefix(hex.toLowerCase().trim());\n};\n\nexport const compare = (hex1: string, hex2: string): boolean => {\n try {\n return (\n removePrefix(hex1).toLowerCase() ===\n removePrefix(hex2).toLowerCase()\n );\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\n/**\n * Generate a random hex string of the defined length\n * @param size - the length of the random hex output\n * @returns a random hex string of length `size`\n */\nexport const generateRandom = (size: number): string => {\n if (size < 1) throw Error(\"Size must be > 0\");\n const randBuffer = crypto.randomBytes(Math.ceil(size / 2));\n if (!randBuffer) throw Error(\"Failed to generate random hex\");\n return `${PREFIX}${randBuffer.toString(\"hex\").substring(0, size)}`;\n};\n","import { address } from \"thor-devkit\";\nimport * as HexUtils from \"./HexUtils\";\n\n/**\n * Checks if two addresses are equal. Returns true if both values are strings AND:\n * - The two values are equal OR\n * - The checksumed addresses are equal\n *\n * @param address1\n * @param address2\n */\nexport const compareAddresses = (\n address1?: string,\n address2?: string\n): boolean => {\n if (!address1 || !address2) return false;\n\n if (address2 === address1) {\n return true;\n }\n\n try {\n return HexUtils.normalize(address1) === HexUtils.normalize(address2);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport const compareListOfAddresses = (add1: string[], add2: string[]) => {\n if (add1.length !== add2.length) return false;\n const sortedAdd1 = [...add1]\n .map((e) => e.toLowerCase())\n .sort((a, b) => a.localeCompare(b));\n const sortedAdd2 = [...add2]\n .map((e) => e.toLowerCase())\n .sort((a, b) => a.localeCompare(b));\n\n for (let i = 0; i < sortedAdd1.length; i++) {\n if (!compareAddresses(sortedAdd1[i], sortedAdd2[i])) return false;\n }\n\n return true;\n};\n\nexport const regexPattern = () => {\n return /^0x[a-fA-F0-9]{40}$/;\n};\n\nexport const isValidAddress = (addr: string | undefined | null): boolean => {\n try {\n if (typeof addr !== \"string\") return false;\n address.toChecksumed(HexUtils.addPrefix(addr));\n return true;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport const leftPadWithZeros = (str: string, length: number): string => {\n // Remove '0x' prefix if it exists\n const cleanStr = str.startsWith(\"0x\") ? str.slice(2) : str;\n if (cleanStr.length > length) {\n throw new Error(\"Input string is longer than the specified length\");\n }\n // Pad the string to the specified length\n const paddedStr = cleanStr.padStart(length, \"0\");\n return `0x${paddedStr}`;\n};\n","import { AppConfig } from '.';\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.dev.gateway-proxy.vechain.org/ipfs',\n ipfsPinningService:\n 'https://api.dev.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n b3trContractAddress: '0xd31A6f2DBa8785cE41AB68Ea192791B5175309F4',\n vot3ContractAddress: '0x028Af33230576c1e073C8245F72a7A4aa53564E4',\n b3trGovernorAddress: '0x36E0e9b46D56dF12Dd69fD560e41954C73cE9ded',\n timelockContractAddress: '0x125389845c93Efcf6471BA8BE1AC19c11e128603',\n xAllocationPoolContractAddress:\n '0xC8232c91E2f744E533322B99F95f809b9f7ec446',\n xAllocationVotingContractAddress:\n '0x074F093f4C534a16cDD09cb4b2669713218A762a',\n emissionsContractAddress: '0x6a084E85f38400790043788FcCee39595616aa3A',\n voterRewardsContractAddress: '0xbAb852081C459c0060960287aDcf9a0C2c1dc4b8',\n galaxyMemberContractAddress: '0xbdA1cff75d2D43AB9186Ada41fECF79e25c49Ba3',\n treasuryContractAddress: '0xe9414513Fe0e3b9bf7a61eC5c1AC7Df943fB3e77',\n x2EarnAppsContractAddress: '0x432C46476f4970575C43B19588A170D237dC4929',\n x2EarnRewardsPoolContractAddress:\n '0x134E4Fce6761f660401808CF86aE0e62cE52a81E',\n nodeManagementContractAddress: '0xa96B5057171D797298A71178b48449A7bC615D8E',\n veBetterPassportContractAddress:\n '0x8db6D14452fE36ba86C341AfEFaC0f90A0Db2bcb',\n x2EarnCreatorContractAddress: '0x4e5f7eb452e9ecd75c0B29e3540014cBe01bBF52',\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n oracleContractAddress: '0x49eC7192BF804Abc289645ca86F1eD01a6C17713',\n accountFactoryAddress: '0xC06Ad8573022e2BE416CA89DA47E8c592971679A',\n cleanifyCampaignsContractAddress:\n '0x7a11D63338576aE8c038868433ea199d7E5319A6',\n cleanifyChallengesContractAddress:\n '0xa58681692AdDD2e8E37f9113D40Bb9253C03F65e',\n veWorldSubdomainClaimerContractAddress:\n '0x0000000000000000000000000000000000000000',\n vetDomainsContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainsPublicResolverAddress:\n '0x0000000000000000000000000000000000000000',\n vetDomainsReverseRegistrarAddress:\n '0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc',\n vnsResolverAddress: '0x0000000000000000000000000000000000000000',\n gloDollarContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainAvatarUrl: 'https://testnet.vet.domains/api/avatar',\n indexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n b3trIndexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'http://localhost:8669',\n network: {\n id: 'solo',\n name: 'solo',\n type: 'solo',\n defaultNet: true,\n urls: ['http://localhost:8669'],\n explorerUrl: 'https://explore-testnet.vechain.org',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x00000000c05a20fbca2bf6ae3affba6af4a74b800b585bf7a4988aba7aea69f6',\n size: 170,\n parentID:\n '0xffffffff53616c757465202620526573706563742c20457468657265756d2100',\n timestamp: 1530316800,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x93de0ffb1f33bc0af053abc2a87c4af44594f5dcb1cb879dd823686a15d68550',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://explore-testnet.vechain.org',\n};\nexport default config;\n","import { AppConfig } from '.';\n\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.dev.gateway-proxy.vechain.org/ipfs',\n ipfsPinningService:\n 'https://api.dev.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n b3trContractAddress: '0xbf64cf86894Ee0877C4e7d03936e35Ee8D8b864F',\n vot3ContractAddress: '0xa704c45971995467696EE9544Da77DD42Bc9706E',\n b3trGovernorAddress: '0xDF5E114D391CAC840529802fe8D01f6bdeBE41eC',\n timelockContractAddress: '0x30ee94F303643902a68aD8A7A6456cA69d763192',\n xAllocationPoolContractAddress:\n '0x9B9CA9D0C41Add1d204f90BA0E9a6844f1843A84',\n xAllocationVotingContractAddress:\n '0x5859ff910d8b0c127364c98E24233b0af7443c1c',\n emissionsContractAddress: '0x3D7616213191a10460e49CfdB7edBf88D6a10942',\n voterRewardsContractAddress: '0x2E47fc4aabB3403037fB5E1f38995E7a91Ce8Ed2',\n galaxyMemberContractAddress: '0xa9aC49C030c1148b95F056E86f2531f8F3d5bf27',\n x2EarnCreatorContractAddress: '',\n nodeManagementContractAddress: '',\n x2EarnAppsContractAddress: '0xcB23Eb1bBD5c07553795b9538b1061D0f4ABA153',\n treasuryContractAddress: '0x039893EBe092A2D22B08E2b029735D211bfF7F50',\n x2EarnRewardsPoolContractAddress:\n '0x5F8f86B8D0Fa93cdaE20936d150175dF0205fB38',\n veBetterPassportContractAddress: '',\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n oracleContractAddress: '0xdcCAaBd81B38e0dEEf4c202bC7F1261A4D9192C6',\n accountFactoryAddress: '0x713b908Bcf77f3E00EFEf328E50b657a1A23AeaF',\n cleanifyCampaignsContractAddress:\n '0x22d19ACBD2cBf6b2B6C546395c26B9Cb448248BF',\n cleanifyChallengesContractAddress:\n '0x8Cc885DC3e5c376632CCEA0e8e1a51F1B3572442',\n veWorldSubdomainClaimerContractAddress:\n '0xe5af50e7ad1aaab4fbe4efbb2b30f764013918b3',\n vetDomainsContractAddress: '0xcBFB30c1F267914816668d53AcBA7bA7c9806D13',\n vetDomainsPublicResolverAddress:\n '0xA6eFd130085a127D090ACb0b100294aD1079EA6f',\n vetDomainsReverseRegistrarAddress:\n '0x6878f1aD5e3015310CfE5B38d7B7071C5D8818Ca',\n vnsResolverAddress: '0xc403b8EA53F707d7d4de095f0A20bC491Cf2bc94',\n gloDollarContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainAvatarUrl: 'https://testnet.vet.domains/api/avatar',\n indexerUrl: 'https://indexer.testnet.vechain.org/api/v1',\n b3trIndexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'https://testnet.vechain.org',\n network: {\n id: 'testnet',\n name: 'testnet',\n type: 'test',\n defaultNet: true,\n urls: [\n 'https://testnet.vechain.org',\n 'https://vethor-node-test.vechaindev.com',\n 'https://sync-testnet.veblocks.net',\n 'https://testnet.vecha.in',\n ],\n explorerUrl: 'https://insight.vecha.in/#/test',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x000000000b2bce3c70bc649a02749e8687721b09ed2e15997f466536b20bb127',\n size: 170,\n parentID:\n '0xffffffff00000000000000000000000000000000000000000000000000000000',\n timestamp: 1530014400,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x4ec3af0acbad1ae467ad569337d2fe8576fe303928d35b8cdd91de47e9ac84bb',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://explore-testnet.vechain.org/transactions',\n};\nexport default config;\n","import { AppConfig } from '.';\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.gateway-proxy.vechain.org/ipfs',\n indexerUrl: 'https://indexer.mainnet.vechain.org/api/v1',\n ipfsPinningService:\n 'https://api.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n b3trIndexerUrl: 'https://b3tr.mainnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'https://mainnet.vechain.org',\n network: {\n id: 'main',\n name: 'main',\n type: 'main',\n defaultNet: true,\n urls: [\n 'https://mainnet.vechain.org',\n 'https://vethor-node.vechain.com',\n 'https://mainnet.veblocks.net',\n 'https://mainnet.vecha.in',\n ],\n explorerUrl: 'https://vechainstats.com',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x00000000851caf3cfdb6e899cf5958bfb1ac3413d346d43539627e6be7ec1b4a',\n size: 170,\n parentID:\n '0xffffffff53616c757465202620526573706563742c20457468657265756d2100',\n timestamp: 1530316800,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x09bfdf9e24dd5cd5b63f3c1b5d58b97ff02ca0490214a021ed7d99b93867839c',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://vechainstats.com/transaction',\n // general\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n //VeBetterDAO\n b3trContractAddress: '0x5ef79995FE8a89e0812330E4378eB2660ceDe699',\n vot3ContractAddress: '0x76Ca782B59C74d088C7D2Cce2f211BC00836c602',\n b3trGovernorAddress: '0x1c65C25fABe2fc1bCb82f253fA0C916a322f777C',\n timelockContractAddress: '0x7B7EaF620d88E38782c6491D7Ce0B8D8cF3227e4',\n xAllocationPoolContractAddress:\n '0x4191776F05f4bE4848d3f4d587345078B439C7d3',\n xAllocationVotingContractAddress:\n '0x89A00Bb0947a30FF95BEeF77a66AEdE3842Fe5B7',\n emissionsContractAddress: '0xDf94739bd169C84fe6478D8420Bb807F1f47b135',\n voterRewardsContractAddress: '0x838A33AF756a6366f93e201423E1425f67eC0Fa7',\n galaxyMemberContractAddress: '0x93B8cD34A7Fc4f53271b9011161F7A2B5fEA9D1F',\n treasuryContractAddress: '0xD5903BCc66e439c753e525F8AF2FeC7be2429593',\n x2EarnAppsContractAddress: '0x8392B7CCc763dB03b47afcD8E8f5e24F9cf0554D',\n x2EarnRewardsPoolContractAddress:\n '0x6Bee7DDab6c99d5B2Af0554EaEA484CE18F52631',\n x2EarnCreatorContractAddress: '0xe8e96a768ffd00417d4bd985bec9EcfC6F732a7f',\n nodeManagementContractAddress: '0xB0EF9D89C6b49CbA6BBF86Bf2FDf0Eee4968c6AB',\n veBetterPassportContractAddress:\n '0x35a267671d8EDD607B2056A9a13E7ba7CF53c8b3',\n //veDelegate\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n //utility\n oracleContractAddress: '0x49eC7192BF804Abc289645ca86F1eD01a6C17713',\n accountFactoryAddress: '0xC06Ad8573022e2BE416CA89DA47E8c592971679A',\n //cleanify\n cleanifyCampaignsContractAddress:\n '0x7a11D63338576aE8c038868433ea199d7E5319A6',\n cleanifyChallengesContractAddress:\n '0xa58681692AdDD2e8E37f9113D40Bb9253C03F65e',\n veWorldSubdomainClaimerContractAddress:\n '0xa4173c32fe8a61a8fd0d0234675b559fc360446a',\n vetDomainsContractAddress: '0xa9231da8BF8D10e2df3f6E03Dd5449caD600129b',\n vetDomainsPublicResolverAddress:\n '0xabac49445584C8b6c1472b030B1076Ac3901D7cf',\n vetDomainsReverseRegistrarAddress:\n '0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc',\n vnsResolverAddress: '0xA11413086e163e41901bb81fdc5617c975Fa5a1A',\n vetDomainAvatarUrl: 'https://vet.domains/api/avatar',\n gloDollarContractAddress: '0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e',\n};\nexport default config;\n","import localConfig from './solo';\nimport testnetConfig from './testnet';\nimport mainnetConfig from './mainnet';\nimport { Network, NETWORK_TYPE } from './network';\n\nexport type AppConfig = {\n ipfsFetchingService: string;\n ipfsPinningService: string;\n vthoContractAddress: string;\n b3trContractAddress: string;\n vot3ContractAddress: string;\n b3trGovernorAddress: string;\n timelockContractAddress: string;\n xAllocationPoolContractAddress: string;\n xAllocationVotingContractAddress: string;\n emissionsContractAddress: string;\n voterRewardsContractAddress: string;\n galaxyMemberContractAddress: string;\n treasuryContractAddress: string;\n x2EarnAppsContractAddress: string;\n x2EarnCreatorContractAddress: string;\n x2EarnRewardsPoolContractAddress: string;\n nodeManagementContractAddress: string;\n veBetterPassportContractAddress: string;\n veDelegate: string;\n veDelegateVotes: string;\n veDelegateTokenContractAddress: string;\n oracleContractAddress: string;\n accountFactoryAddress: string;\n cleanifyCampaignsContractAddress: string;\n cleanifyChallengesContractAddress: string;\n veWorldSubdomainClaimerContractAddress: string;\n vetDomainsContractAddress: string;\n vetDomainsPublicResolverAddress: string;\n vetDomainsReverseRegistrarAddress: string;\n vnsResolverAddress: string;\n gloDollarContractAddress: string;\n vetDomainAvatarUrl: string;\n nodeUrl: string;\n indexerUrl: string;\n b3trIndexerUrl: string;\n graphQlIndexerUrl: string;\n network: Network;\n explorerUrl: string;\n};\n\nexport const getConfig = (env: NETWORK_TYPE): AppConfig => {\n if (env === 'solo') return localConfig;\n if (env === 'test') return testnetConfig;\n if (env === 'main') return mainnetConfig;\n throw new Error(`Unsupported NETWORK_TYPE ${env}`);\n};\n","import { getConfig } from '@/config';\nimport { NETWORK_TYPE } from '@/config/network';\n\n/**\n * Validate IPFS URI strings. An example of a valid IPFS URI is:\n * - ipfs://QmfSTia1TJUiKQ2fyW9NTPzEKNdjMGzbUgrC3QPSTpkum6/406.json\n * - ipfs://QmVPqKfwRXjg5Fqwy6RNRbKR2ZP4pKKVLvmfjmhQfdM3MH/4\n * - ipfs://QmVPqKfwRXjg5Fqwy6RNRbKR2ZP4pKKVLvmfjmhQfdM3MH\n * @param uri\n * @returns\n */\nexport const validateIpfsUri = (uri: string): boolean => {\n const trimmedUri = uri.trim();\n return /^ipfs:\\/\\/[a-zA-Z0-9]+(\\/[^/]+)*\\/?$/.test(trimmedUri);\n};\n\n/**\n * Converts a CID to an IPFS native URL.\n *\n * @param cid - The CID to convert.\n * @param fileName - The name of the file to append to the URL.\n *\n * @returns The IPFS URL in the format `ipfs://${cid}/${fileName}`.\n */\nexport function toIPFSURL(cid: string, fileName?: string): string {\n return `ipfs://${cid}/${fileName ?? ''}`;\n}\n\n/**\n * Uploads a blob to IPFS.\n * @param blob The Blob object to upload.\n * @param filename A name for the file in the FormData payload.\n * @param networkType The network type to use for the IPFS pinning service.\n * @returns The IPFS hash of the uploaded blob.\n */\nexport async function uploadBlobToIPFS(\n blob: Blob,\n filename: string,\n networkType: NETWORK_TYPE,\n): Promise<string> {\n try {\n const form = new FormData();\n form.append('file', blob, filename);\n const response = await fetch(\n getConfig(networkType).ipfsPinningService,\n {\n method: 'POST',\n headers: {\n 'X-Project-Id': 'vechain-kit',\n },\n body: form,\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.IpfsHash;\n } catch (error) {\n console.error('Error uploading blob:', error);\n throw new Error('Failed to upload blob to IPFS');\n }\n}\n","import { NFTMediaType } from \"@/types\"\n\nconst isValidMimeType = (mime: string, type: NFTMediaType[]) => {\n const found = type.find(t => {\n if (mime?.split(\"/\")[0] === t) {\n return true\n }\n })\n\n return !!found\n}\n\nexport const resolveMediaTypeFromMimeType = (mimeType: string): NFTMediaType => {\n if (isValidMimeType(mimeType, [NFTMediaType.IMAGE])) return NFTMediaType.IMAGE\n else if (isValidMimeType(mimeType, [NFTMediaType.VIDEO])) return NFTMediaType.VIDEO\n\n return NFTMediaType.UNKNOWN\n}\n","import { NETWORK_TYPE } from '@/config/network';\nimport { validateIpfsUri } from './ipfs';\nimport { getConfig } from '@/config';\n\n/**\n * Convert a URI to a URL\n * We support both IPFS and Arweave URIs. Both should be converted to their https gateway URLs.\n * All other URIs should pass through unchanged.\n *\n * @param uri\n */\nexport const convertUriToUrl = (uri: string, networkType: NETWORK_TYPE) => {\n // if it is a data uri just return it\n if (uri.startsWith('data:')) return uri;\n\n const splitUri = uri?.split('://');\n if (splitUri.length !== 2) return null;\n // if (splitUri.length !== 2) throw new Error(`Invalid URI ${uri}`);\n\n const protocol = splitUri?.[0]?.trim();\n const uriWithoutProtocol = splitUri[1];\n\n switch (protocol) {\n case 'ipfs':\n if (!validateIpfsUri(uri))\n throw new Error(`Invalid IPFS URI ${uri}`);\n\n // Check cache for IPFS document\n return `${\n getConfig(networkType).ipfsFetchingService\n }/${uriWithoutProtocol}`;\n\n case 'ar':\n return `https://arweave.net/${uriWithoutProtocol}`;\n\n default:\n return uri;\n }\n};\n","export const gmNfts = [\n {\n level: '1',\n name: 'Earth',\n image: '/images/nft-levels/0.png',\n multiplier: 1,\n b3trToUpgrade: 0,\n },\n {\n level: '2',\n name: 'Moon',\n image: '/images/nft-levels/1.png',\n multiplier: 1.1,\n b3trToUpgrade: 10_000,\n },\n {\n level: '3',\n name: 'Mercury',\n image: '/images/nft-levels/2.png',\n multiplier: 1.2,\n b3trToUpgrade: 25_000,\n },\n {\n level: '4',\n name: 'Venus',\n image: '/images/nft-levels/3.png',\n multiplier: 1.5,\n b3trToUpgrade: 50_000,\n },\n {\n level: '5',\n name: 'Mars',\n image: '/images/nft-levels/4.png',\n multiplier: 2,\n b3trToUpgrade: 100_000,\n },\n {\n level: '6',\n name: 'Jupiter',\n image: '/images/nft-levels/5.png',\n multiplier: 2.5,\n b3trToUpgrade: 250_000,\n },\n {\n level: '7',\n name: 'Saturn',\n image: '/images/nft-levels/6.png',\n multiplier: 3,\n b3trToUpgrade: 500_000,\n },\n {\n level: '8',\n name: 'Uranus',\n image: '/images/nft-levels/7.png',\n multiplier: 5,\n b3trToUpgrade: 2_500_000,\n },\n {\n level: '9',\n name: 'Neptune',\n image: '/images/nft-levels/8.png',\n multiplier: 10,\n b3trToUpgrade: 5_000_000,\n },\n {\n level: '10',\n name: 'Galaxy',\n image: '/images/nft-levels/9.png',\n multiplier: 25,\n b3trToUpgrade: 25_000_000,\n },\n];\n\n/**\n * Maps the XNode level to the GM starting level.\n */\nexport const xNodeToGMstartingLevel: Record<number, number> = {\n 1: 2,\n 2: 4,\n 3: 6,\n 4: 2,\n 5: 4,\n 6: 6,\n 7: 7,\n};\n","// Function to build query string dynamically\nexport const buildQueryString = (params: { [key: string]: any }) => {\n const searchParams = new URLSearchParams()\n\n // Iterate over the parameters and append only the defined values\n Object.keys(params).forEach(key => {\n const value = params[key]\n if (value !== undefined && value !== null) {\n searchParams.append(key, String(value))\n }\n })\n\n return searchParams.toString()\n}\n","/**\n * Map strength level coming from contract to hq image\n */\nexport const NodeStrengthLevelToImage: { [key: string]: string } = {\n \"0\": \"/images/vnt/00-noNode.webp\",\n \"1\": \"/images/vnt/01-strength.webp\",\n \"2\": \"/images/vnt/02-thunder.webp\",\n \"3\": \"/images/vnt/03-mjolnir.webp\",\n \"4\": \"/images/vnt/04-vethorX.webp\",\n \"5\": \"/images/vnt/05-strengthX.webp\",\n \"6\": \"/images/vnt/06-thunderX.webp\",\n \"7\": \"/images/vnt/07-mjolnirX.webp\",\n}\n\n//after this level the nfts are considered xNode\nexport const MinXNodeLevel = 4\nexport const EconomicNodeStrengthLevelToName: { [key: string]: string } = {\n \"1\": \"Strength\",\n \"2\": \"Thunder\",\n \"3\": \"Mjolnir\",\n}\n\nexport const XNodeStrengthLevelToName: { [key: string]: string } = {\n \"4\": \"VeThorX\",\n \"5\": \"StrengthX\",\n \"6\": \"ThunderX\",\n \"7\": \"MjolnirX\",\n}\n\nexport const allNodeStrengthLevelToName: { [key: string]: string } = {\n ...EconomicNodeStrengthLevelToName,\n ...XNodeStrengthLevelToName,\n}\n"]}
@@ -33,7 +33,8 @@ var TOKEN_LOGOS = {
33
33
  VTHO: "https://s2.coinmarketcap.com/static/img/coins/64x64/3012.png",
34
34
  B3TR: "https://vechain.github.io/token-registry/assets/3d55edb42b09a634f7f2f26756a02571de901a5b.png",
35
35
  VOT3: "https://vechain.github.io/token-registry/assets/17ff70aa1d898bc97ad690dbfad1a3b5643f7e0b.png",
36
- veDelegate: "https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png"
36
+ veDelegate: "https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png",
37
+ USDGLO: "https://raw.githubusercontent.com/vechain/app-hub/439fba60c80ba2521d435981102d88c4aec050d6/apps/org.glodollar.app/logo.png"
37
38
  };
38
39
  var TOKEN_LOGO_COMPONENTS = {
39
40
  VET: /* @__PURE__ */ jsx(VETLogo, {}),
@@ -216,6 +217,7 @@ var config = {
216
217
  vetDomainsPublicResolverAddress: "0x0000000000000000000000000000000000000000",
217
218
  vetDomainsReverseRegistrarAddress: "0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc",
218
219
  vnsResolverAddress: "0x0000000000000000000000000000000000000000",
220
+ gloDollarContractAddress: "0x0000000000000000000000000000000000000000",
219
221
  vetDomainAvatarUrl: "https://testnet.vet.domains/api/avatar",
220
222
  indexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
221
223
  b3trIndexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
@@ -284,6 +286,7 @@ var config2 = {
284
286
  vetDomainsPublicResolverAddress: "0xA6eFd130085a127D090ACb0b100294aD1079EA6f",
285
287
  vetDomainsReverseRegistrarAddress: "0x6878f1aD5e3015310CfE5B38d7B7071C5D8818Ca",
286
288
  vnsResolverAddress: "0xc403b8EA53F707d7d4de095f0A20bC491Cf2bc94",
289
+ gloDollarContractAddress: "0x0000000000000000000000000000000000000000",
287
290
  vetDomainAvatarUrl: "https://testnet.vet.domains/api/avatar",
288
291
  indexerUrl: "https://indexer.testnet.vechain.org/api/v1",
289
292
  b3trIndexerUrl: "https://b3tr.testnet.vechain.org/api/v1",
@@ -399,7 +402,8 @@ var config3 = {
399
402
  vetDomainsPublicResolverAddress: "0xabac49445584C8b6c1472b030B1076Ac3901D7cf",
400
403
  vetDomainsReverseRegistrarAddress: "0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc",
401
404
  vnsResolverAddress: "0xA11413086e163e41901bb81fdc5617c975Fa5a1A",
402
- vetDomainAvatarUrl: "https://vet.domains/api/avatar"
405
+ vetDomainAvatarUrl: "https://vet.domains/api/avatar",
406
+ gloDollarContractAddress: "0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e"
403
407
  };
404
408
  var mainnet_default = config3;
405
409
 
@@ -602,5 +606,5 @@ var allNodeStrengthLevelToName = {
602
606
  };
603
607
 
604
608
  export { DEFAULT_PRIVY_ECOSYSTEM_APPS, EconomicNodeStrengthLevelToName, MinXNodeLevel, NodeStrengthLevelToImage, TOKEN_LOGOS, TOKEN_LOGO_COMPONENTS, TogglePassportCheck, VECHAIN_PRIVY_APP_ID, XNodeStrengthLevelToName, allNodeStrengthLevelToName, buildQueryString, compareAddresses, compareListOfAddresses, convertUriToUrl, getConfig, getPicassoImage, gmNfts, humanAddress, humanDomain, humanNumber, isValidAddress, isZero, leftPadWithZeros, notFoundImage, randomTransactionUser, regexPattern, resolveMediaTypeFromMimeType, toIPFSURL, uploadBlobToIPFS, validateIpfsUri, xNodeToGMstartingLevel };
605
- //# sourceMappingURL=chunk-USAHFGIQ.js.map
606
- //# sourceMappingURL=chunk-USAHFGIQ.js.map
609
+ //# sourceMappingURL=chunk-RSEKQ6PP.js.map
610
+ //# sourceMappingURL=chunk-RSEKQ6PP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/assets/icons/VechainLogo/VOT3Logo.tsx","../src/utils/Constants.tsx","../src/utils/FormattingUtils.tsx","../src/utils/RandomTxForwarder.tsx","../src/utils/HexUtils.ts","../src/utils/AddressUtils.ts","../src/config/solo.ts","../src/config/testnet.ts","../src/config/mainnet.ts","../src/config/index.ts","../src/utils/ipfs.ts","../src/utils/media.ts","../src/utils/uri.ts","../src/utils/gmNfts.ts","../src/utils/buildQueryString.ts","../src/utils/XNode.ts"],"names":["jsx","TogglePassportCheck","address","config"],"mappings":"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","file":"chunk-RSEKQ6PP.js","sourcesContent":["import { Icon, IconProps } from '@chakra-ui/react';\nimport React from 'react';\n\ntype Props = Omit<IconProps, 'dangerouslySetInnerHTML'>;\n\nexport const VOT3Logo: React.FC<Props> = ({ ...props }) => {\n return (\n <Icon viewBox=\"0 0 1684.56 1684.56\" {...props}>\n <rect\n fill=\"#b1f16c\"\n width=\"1684.56\"\n height=\"1684.56\"\n rx=\"157.74\"\n ry=\"157.74\"\n />\n <path\n fill=\"#1d1d1d\"\n d=\"M844.98,1386.28c-41.46,0-75.1-33.9-75.1-75.67,0-142.78-86.35-274.05-158.8-359.01-89.72-105.25-197.89-186.19-265.28-219.75-37.18-18.54-52.43-63.88-34.09-101.35,18.39-37.47,63.39-52.83,100.58-34.35,75.09,37.41,202.11,127.08,312.7,256.82,32.24,37.81,66.77,83.5,97.66,135.35,34.2-108.83,79.98-205.07,121.61-280.12,91.8-165.56,214.37-317.13,319.84-395.63,33.36-24.83,80.39-17.68,105.02,15.93,24.64,33.61,17.55,81-15.81,105.82-88.03,65.47-197.1,201.95-277.93,347.68-70.82,127.7-155.25,323.08-155.25,528.6,0,41.78-33.64,75.67-75.1,75.67h-.06Z\"\n />\n </Icon>\n );\n};\n","import { VeBetterIcon, VTHOLogo } from '@/assets';\nimport { VETLogo } from '@/assets/icons/VechainLogo/VETLogo';\nimport { VOT3Logo } from '@/assets/icons/VechainLogo/VOT3Logo';\n\nexport const TOKEN_LOGOS: Record<string, string> = {\n VET: 'https://cryptologos.cc/logos/vechain-vet-logo.png',\n VTHO: 'https://s2.coinmarketcap.com/static/img/coins/64x64/3012.png',\n B3TR: 'https://vechain.github.io/token-registry/assets/3d55edb42b09a634f7f2f26756a02571de901a5b.png',\n VOT3: 'https://vechain.github.io/token-registry/assets/17ff70aa1d898bc97ad690dbfad1a3b5643f7e0b.png',\n veDelegate:\n 'https://vechain.github.io/token-registry/assets/1c641b86096d56bf13d49f38388accd6db8b8b2e.png',\n USDGLO: 'https://raw.githubusercontent.com/vechain/app-hub/439fba60c80ba2521d435981102d88c4aec050d6/apps/org.glodollar.app/logo.png',\n};\n\nexport const TOKEN_LOGO_COMPONENTS: Record<string, JSX.Element> = {\n VET: <VETLogo />,\n VTHO: <VTHOLogo />,\n B3TR: <VeBetterIcon />,\n VOT3: <VOT3Logo />,\n};\n\nexport const VECHAIN_PRIVY_APP_ID = 'cm4wxxujb022fyujl7g0thb21';\n\nexport const notFoundImage =\n 'https://upload.wikimedia.org/wikipedia/commons/a/a3/Image-not-found.png';\n\nexport enum TogglePassportCheck {\n WhitelistCheck = 1,\n BlacklistCheck = 2,\n SignalingCheck = 3,\n ParticipationScoreCheck = 4,\n GmOwnershipCheck = 5,\n}\n\nexport type PrivyEcosystemApp = {\n id: string;\n name: string;\n website: string;\n};\n\nexport const DEFAULT_PRIVY_ECOSYSTEM_APPS: PrivyEcosystemApp[] = [\n {\n id: 'clz41gcg00e4ay75dmq3uzzgr',\n name: 'Cleanify',\n website: 'https://app.cleanify.vet',\n },\n {\n id: 'cm153hrup0817axti38avlfyg',\n name: 'GreenCart',\n website: 'https://greencart.ai',\n },\n {\n id: 'clv9sfos20j6x1431ga80d95f',\n name: 'Mughsot',\n website: 'https://mugshot.vet/',\n },\n];\n","import { picasso } from '@vechain/picasso';\nimport { BigNumber } from 'bignumber.js';\n\nexport const humanAddress = (\n address: string,\n charAtStart = 6,\n charAtEnd = 4,\n): string => `${address.slice(0, charAtStart)}•••${address.slice(-charAtEnd)}`;\n\nexport const humanDomain = (\n domain: string,\n lengthBefore = 8,\n lengthAfter = 6,\n) => {\n // if domain is smaller than lengthBefore + lengthAfter, return the domain\n if (domain.length <= lengthBefore + lengthAfter) return domain;\n\n const before = domain.substring(0, lengthBefore);\n const after = domain.substring(domain.length - lengthAfter);\n return `${before}•••${after}`;\n};\n\nexport const humanNumber = (\n formattedValue: BigNumber.Value,\n originalValue?: BigNumber.Value,\n symbol: string | null = null,\n) => {\n const suffix = symbol ? ' ' + symbol : '';\n\n originalValue = originalValue || formattedValue;\n const formatter = new Intl.NumberFormat('en', {\n style: 'decimal',\n minimumFractionDigits:\n Number.parseFloat(formattedValue.toString()) % 1 === 0 ? 0 : 2,\n });\n\n let value = formatter.format(\n roundDownSignificantDigits(Number(formattedValue), 2),\n );\n\n //If the original number got scaled down to 0\n if (!isZero(originalValue) && isZero(value)) {\n value = '< 0.01';\n }\n\n return value + suffix;\n};\n\nexport const isZero = (value?: BigNumber.Value) => {\n if (!value && value !== 0) return false;\n return new BigNumber(value).isZero();\n};\n\nexport const getPicassoImage = (address: string, base64 = false): string => {\n const image = picasso(address.toLowerCase());\n if (base64) {\n const base64data = Buffer.from(image, 'utf8').toString('base64');\n return `data:image/svg+xml;base64,${base64data}`;\n }\n return `data:image/svg+xml;utf8,${image}`;\n};\n\n/**\n * Format the number human friendly\n * @param formattedValue - value in string or number\n * @param originalValue - value in string or number to determine if the original value is 0\n * @param symbol - (optional) symbol to append at end of number (with a space)\n * @returns the formatted number\n */\n\nfunction roundDownSignificantDigits(numbers: number, decimals: number = 0) {\n if (typeof numbers !== 'number' || typeof decimals !== 'number') {\n throw new Error(\n 'Invalid input: number and decimals must be of type number',\n );\n }\n\n const significantDigits = parseInt(\n numbers.toExponential().split('e-')[1] || '0',\n 10,\n );\n\n const effectiveDecimals = Math.max(0, decimals + significantDigits);\n const scaleFactor = Math.pow(10, effectiveDecimals);\n\n return Math.floor(numbers * scaleFactor) / scaleFactor;\n}\n","import {\n generatePrivateKey,\n privateKeyToAccount,\n Account,\n} from 'viem/accounts';\n\nexport const randomTransactionUser: {\n privateKey: string;\n account: Account;\n address: string;\n} = (() => {\n const privateKey = generatePrivateKey();\n const account = privateKeyToAccount(privateKey);\n return {\n privateKey,\n account,\n address: account.address,\n };\n})();\n","import crypto from \"crypto\";\nconst PREFIX = \"0x\";\nconst PREFIX_REGEX = /^0[xX]/;\nconst HEX_REGEX = /^(0[xX])?[a-fA-F0-9]+$/;\n\n/**\n * Returns the provied hex string with the hex prefix removed.\n * If the prefix doesn't exist the hex is returned unmodified\n * @param hex - the input hex string\n * @returns the input hex string with the hex prefix removed\n * @throws an error if the input is not a valid hex string\n */\nexport const removePrefix = (hex: string): string => {\n validate(hex);\n return hex.replace(PREFIX_REGEX, \"\");\n};\n\n/**\n * Returns the provided hex string with the hex prefix added.\n * If the prefix already exists the string is returned unmodified.\n * If the string contains an UPPER case `X` in the prefix it will be replaced with a lower case `x`\n * @param hex - the input hex string\n * @returns the input hex string with the hex prefix added\n * @throws an error if the input is not a valid hex string\n */\nexport const addPrefix = (hex: string): string => {\n validate(hex);\n return PREFIX_REGEX.test(hex)\n ? hex.replace(PREFIX_REGEX, PREFIX)\n : `${PREFIX}${hex}`;\n};\n\n/**\n * Validate the hex string. Throws an Error if not valid\n * @param hex - the input hex string\n * @throws an error if the input is not a valid hex string\n */\nexport const validate = (hex: string) => {\n if (!isValid(hex)) throw Error(\"Provided hex value is not valid\");\n};\n\n/**\n * Check if input string is valid\n * @param hex - the input hex string\n * @returns boolean representing whether the input hex is valid\n */\nexport const isValid = (hex?: string | null): boolean => {\n return !!hex && HEX_REGEX.test(hex);\n};\n\nexport const isInvalid = (hex?: string | null): boolean => {\n return !isValid(hex);\n};\n\nexport const normalize = (hex: string): string => {\n return addPrefix(hex.toLowerCase().trim());\n};\n\nexport const compare = (hex1: string, hex2: string): boolean => {\n try {\n return (\n removePrefix(hex1).toLowerCase() ===\n removePrefix(hex2).toLowerCase()\n );\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\n/**\n * Generate a random hex string of the defined length\n * @param size - the length of the random hex output\n * @returns a random hex string of length `size`\n */\nexport const generateRandom = (size: number): string => {\n if (size < 1) throw Error(\"Size must be > 0\");\n const randBuffer = crypto.randomBytes(Math.ceil(size / 2));\n if (!randBuffer) throw Error(\"Failed to generate random hex\");\n return `${PREFIX}${randBuffer.toString(\"hex\").substring(0, size)}`;\n};\n","import { address } from \"thor-devkit\";\nimport * as HexUtils from \"./HexUtils\";\n\n/**\n * Checks if two addresses are equal. Returns true if both values are strings AND:\n * - The two values are equal OR\n * - The checksumed addresses are equal\n *\n * @param address1\n * @param address2\n */\nexport const compareAddresses = (\n address1?: string,\n address2?: string\n): boolean => {\n if (!address1 || !address2) return false;\n\n if (address2 === address1) {\n return true;\n }\n\n try {\n return HexUtils.normalize(address1) === HexUtils.normalize(address2);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport const compareListOfAddresses = (add1: string[], add2: string[]) => {\n if (add1.length !== add2.length) return false;\n const sortedAdd1 = [...add1]\n .map((e) => e.toLowerCase())\n .sort((a, b) => a.localeCompare(b));\n const sortedAdd2 = [...add2]\n .map((e) => e.toLowerCase())\n .sort((a, b) => a.localeCompare(b));\n\n for (let i = 0; i < sortedAdd1.length; i++) {\n if (!compareAddresses(sortedAdd1[i], sortedAdd2[i])) return false;\n }\n\n return true;\n};\n\nexport const regexPattern = () => {\n return /^0x[a-fA-F0-9]{40}$/;\n};\n\nexport const isValidAddress = (addr: string | undefined | null): boolean => {\n try {\n if (typeof addr !== \"string\") return false;\n address.toChecksumed(HexUtils.addPrefix(addr));\n return true;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false;\n }\n};\n\nexport const leftPadWithZeros = (str: string, length: number): string => {\n // Remove '0x' prefix if it exists\n const cleanStr = str.startsWith(\"0x\") ? str.slice(2) : str;\n if (cleanStr.length > length) {\n throw new Error(\"Input string is longer than the specified length\");\n }\n // Pad the string to the specified length\n const paddedStr = cleanStr.padStart(length, \"0\");\n return `0x${paddedStr}`;\n};\n","import { AppConfig } from '.';\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.dev.gateway-proxy.vechain.org/ipfs',\n ipfsPinningService:\n 'https://api.dev.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n b3trContractAddress: '0xd31A6f2DBa8785cE41AB68Ea192791B5175309F4',\n vot3ContractAddress: '0x028Af33230576c1e073C8245F72a7A4aa53564E4',\n b3trGovernorAddress: '0x36E0e9b46D56dF12Dd69fD560e41954C73cE9ded',\n timelockContractAddress: '0x125389845c93Efcf6471BA8BE1AC19c11e128603',\n xAllocationPoolContractAddress:\n '0xC8232c91E2f744E533322B99F95f809b9f7ec446',\n xAllocationVotingContractAddress:\n '0x074F093f4C534a16cDD09cb4b2669713218A762a',\n emissionsContractAddress: '0x6a084E85f38400790043788FcCee39595616aa3A',\n voterRewardsContractAddress: '0xbAb852081C459c0060960287aDcf9a0C2c1dc4b8',\n galaxyMemberContractAddress: '0xbdA1cff75d2D43AB9186Ada41fECF79e25c49Ba3',\n treasuryContractAddress: '0xe9414513Fe0e3b9bf7a61eC5c1AC7Df943fB3e77',\n x2EarnAppsContractAddress: '0x432C46476f4970575C43B19588A170D237dC4929',\n x2EarnRewardsPoolContractAddress:\n '0x134E4Fce6761f660401808CF86aE0e62cE52a81E',\n nodeManagementContractAddress: '0xa96B5057171D797298A71178b48449A7bC615D8E',\n veBetterPassportContractAddress:\n '0x8db6D14452fE36ba86C341AfEFaC0f90A0Db2bcb',\n x2EarnCreatorContractAddress: '0x4e5f7eb452e9ecd75c0B29e3540014cBe01bBF52',\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n oracleContractAddress: '0x49eC7192BF804Abc289645ca86F1eD01a6C17713',\n accountFactoryAddress: '0xC06Ad8573022e2BE416CA89DA47E8c592971679A',\n cleanifyCampaignsContractAddress:\n '0x7a11D63338576aE8c038868433ea199d7E5319A6',\n cleanifyChallengesContractAddress:\n '0xa58681692AdDD2e8E37f9113D40Bb9253C03F65e',\n veWorldSubdomainClaimerContractAddress:\n '0x0000000000000000000000000000000000000000',\n vetDomainsContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainsPublicResolverAddress:\n '0x0000000000000000000000000000000000000000',\n vetDomainsReverseRegistrarAddress:\n '0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc',\n vnsResolverAddress: '0x0000000000000000000000000000000000000000',\n gloDollarContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainAvatarUrl: 'https://testnet.vet.domains/api/avatar',\n indexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n b3trIndexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'http://localhost:8669',\n network: {\n id: 'solo',\n name: 'solo',\n type: 'solo',\n defaultNet: true,\n urls: ['http://localhost:8669'],\n explorerUrl: 'https://explore-testnet.vechain.org',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x00000000c05a20fbca2bf6ae3affba6af4a74b800b585bf7a4988aba7aea69f6',\n size: 170,\n parentID:\n '0xffffffff53616c757465202620526573706563742c20457468657265756d2100',\n timestamp: 1530316800,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x93de0ffb1f33bc0af053abc2a87c4af44594f5dcb1cb879dd823686a15d68550',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://explore-testnet.vechain.org',\n};\nexport default config;\n","import { AppConfig } from '.';\n\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.dev.gateway-proxy.vechain.org/ipfs',\n ipfsPinningService:\n 'https://api.dev.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n b3trContractAddress: '0xbf64cf86894Ee0877C4e7d03936e35Ee8D8b864F',\n vot3ContractAddress: '0xa704c45971995467696EE9544Da77DD42Bc9706E',\n b3trGovernorAddress: '0xDF5E114D391CAC840529802fe8D01f6bdeBE41eC',\n timelockContractAddress: '0x30ee94F303643902a68aD8A7A6456cA69d763192',\n xAllocationPoolContractAddress:\n '0x9B9CA9D0C41Add1d204f90BA0E9a6844f1843A84',\n xAllocationVotingContractAddress:\n '0x5859ff910d8b0c127364c98E24233b0af7443c1c',\n emissionsContractAddress: '0x3D7616213191a10460e49CfdB7edBf88D6a10942',\n voterRewardsContractAddress: '0x2E47fc4aabB3403037fB5E1f38995E7a91Ce8Ed2',\n galaxyMemberContractAddress: '0xa9aC49C030c1148b95F056E86f2531f8F3d5bf27',\n x2EarnCreatorContractAddress: '',\n nodeManagementContractAddress: '',\n x2EarnAppsContractAddress: '0xcB23Eb1bBD5c07553795b9538b1061D0f4ABA153',\n treasuryContractAddress: '0x039893EBe092A2D22B08E2b029735D211bfF7F50',\n x2EarnRewardsPoolContractAddress:\n '0x5F8f86B8D0Fa93cdaE20936d150175dF0205fB38',\n veBetterPassportContractAddress: '',\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n oracleContractAddress: '0xdcCAaBd81B38e0dEEf4c202bC7F1261A4D9192C6',\n accountFactoryAddress: '0x713b908Bcf77f3E00EFEf328E50b657a1A23AeaF',\n cleanifyCampaignsContractAddress:\n '0x22d19ACBD2cBf6b2B6C546395c26B9Cb448248BF',\n cleanifyChallengesContractAddress:\n '0x8Cc885DC3e5c376632CCEA0e8e1a51F1B3572442',\n veWorldSubdomainClaimerContractAddress:\n '0xe5af50e7ad1aaab4fbe4efbb2b30f764013918b3',\n vetDomainsContractAddress: '0xcBFB30c1F267914816668d53AcBA7bA7c9806D13',\n vetDomainsPublicResolverAddress:\n '0xA6eFd130085a127D090ACb0b100294aD1079EA6f',\n vetDomainsReverseRegistrarAddress:\n '0x6878f1aD5e3015310CfE5B38d7B7071C5D8818Ca',\n vnsResolverAddress: '0xc403b8EA53F707d7d4de095f0A20bC491Cf2bc94',\n gloDollarContractAddress: '0x0000000000000000000000000000000000000000',\n vetDomainAvatarUrl: 'https://testnet.vet.domains/api/avatar',\n indexerUrl: 'https://indexer.testnet.vechain.org/api/v1',\n b3trIndexerUrl: 'https://b3tr.testnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'https://testnet.vechain.org',\n network: {\n id: 'testnet',\n name: 'testnet',\n type: 'test',\n defaultNet: true,\n urls: [\n 'https://testnet.vechain.org',\n 'https://vethor-node-test.vechaindev.com',\n 'https://sync-testnet.veblocks.net',\n 'https://testnet.vecha.in',\n ],\n explorerUrl: 'https://insight.vecha.in/#/test',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x000000000b2bce3c70bc649a02749e8687721b09ed2e15997f466536b20bb127',\n size: 170,\n parentID:\n '0xffffffff00000000000000000000000000000000000000000000000000000000',\n timestamp: 1530014400,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x4ec3af0acbad1ae467ad569337d2fe8576fe303928d35b8cdd91de47e9ac84bb',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://explore-testnet.vechain.org/transactions',\n};\nexport default config;\n","import { AppConfig } from '.';\nconst config: AppConfig = {\n ipfsFetchingService: 'https://api.gateway-proxy.vechain.org/ipfs',\n indexerUrl: 'https://indexer.mainnet.vechain.org/api/v1',\n ipfsPinningService:\n 'https://api.gateway-proxy.vechain.org/api/v1/pinning/pinFileToIPFS',\n b3trIndexerUrl: 'https://b3tr.mainnet.vechain.org/api/v1',\n graphQlIndexerUrl: 'https://graph.vet/subgraphs/name/vns',\n nodeUrl: 'https://mainnet.vechain.org',\n network: {\n id: 'main',\n name: 'main',\n type: 'main',\n defaultNet: true,\n urls: [\n 'https://mainnet.vechain.org',\n 'https://vethor-node.vechain.com',\n 'https://mainnet.veblocks.net',\n 'https://mainnet.vecha.in',\n ],\n explorerUrl: 'https://vechainstats.com',\n blockTime: 10000,\n genesis: {\n number: 0,\n id: '0x00000000851caf3cfdb6e899cf5958bfb1ac3413d346d43539627e6be7ec1b4a',\n size: 170,\n parentID:\n '0xffffffff53616c757465202620526573706563742c20457468657265756d2100',\n timestamp: 1530316800,\n gasLimit: 10000000,\n beneficiary: '0x0000000000000000000000000000000000000000',\n gasUsed: 0,\n totalScore: 0,\n txsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n txsFeatures: 0,\n stateRoot:\n '0x09bfdf9e24dd5cd5b63f3c1b5d58b97ff02ca0490214a021ed7d99b93867839c',\n receiptsRoot:\n '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0',\n signer: '0x0000000000000000000000000000000000000000',\n isTrunk: true,\n transactions: [],\n },\n },\n explorerUrl: 'https://vechainstats.com/transaction',\n // general\n vthoContractAddress: '0x0000000000000000000000000000456E65726779',\n //VeBetterDAO\n b3trContractAddress: '0x5ef79995FE8a89e0812330E4378eB2660ceDe699',\n vot3ContractAddress: '0x76Ca782B59C74d088C7D2Cce2f211BC00836c602',\n b3trGovernorAddress: '0x1c65C25fABe2fc1bCb82f253fA0C916a322f777C',\n timelockContractAddress: '0x7B7EaF620d88E38782c6491D7Ce0B8D8cF3227e4',\n xAllocationPoolContractAddress:\n '0x4191776F05f4bE4848d3f4d587345078B439C7d3',\n xAllocationVotingContractAddress:\n '0x89A00Bb0947a30FF95BEeF77a66AEdE3842Fe5B7',\n emissionsContractAddress: '0xDf94739bd169C84fe6478D8420Bb807F1f47b135',\n voterRewardsContractAddress: '0x838A33AF756a6366f93e201423E1425f67eC0Fa7',\n galaxyMemberContractAddress: '0x93B8cD34A7Fc4f53271b9011161F7A2B5fEA9D1F',\n treasuryContractAddress: '0xD5903BCc66e439c753e525F8AF2FeC7be2429593',\n x2EarnAppsContractAddress: '0x8392B7CCc763dB03b47afcD8E8f5e24F9cf0554D',\n x2EarnRewardsPoolContractAddress:\n '0x6Bee7DDab6c99d5B2Af0554EaEA484CE18F52631',\n x2EarnCreatorContractAddress: '0xe8e96a768ffd00417d4bd985bec9EcfC6F732a7f',\n nodeManagementContractAddress: '0xB0EF9D89C6b49CbA6BBF86Bf2FDf0Eee4968c6AB',\n veBetterPassportContractAddress:\n '0x35a267671d8EDD607B2056A9a13E7ba7CF53c8b3',\n //veDelegate\n veDelegate: '0xfc32a9895C78CE00A1047d602Bd81Ea8134CC32b',\n veDelegateVotes: '0xeb71148c9B3cd57e228c2152d79f6e78F5F1ef9a',\n veDelegateTokenContractAddress:\n '0xD3f7b82Df5705D34f64C634d2dEf6B1cB3116950',\n //utility\n oracleContractAddress: '0x49eC7192BF804Abc289645ca86F1eD01a6C17713',\n accountFactoryAddress: '0xC06Ad8573022e2BE416CA89DA47E8c592971679A',\n //cleanify\n cleanifyCampaignsContractAddress:\n '0x7a11D63338576aE8c038868433ea199d7E5319A6',\n cleanifyChallengesContractAddress:\n '0xa58681692AdDD2e8E37f9113D40Bb9253C03F65e',\n veWorldSubdomainClaimerContractAddress:\n '0xa4173c32fe8a61a8fd0d0234675b559fc360446a',\n vetDomainsContractAddress: '0xa9231da8BF8D10e2df3f6E03Dd5449caD600129b',\n vetDomainsPublicResolverAddress:\n '0xabac49445584C8b6c1472b030B1076Ac3901D7cf',\n vetDomainsReverseRegistrarAddress:\n '0x5c970901a587BA3932C835D4ae5FAE2BEa7e78Bc',\n vnsResolverAddress: '0xA11413086e163e41901bb81fdc5617c975Fa5a1A',\n vetDomainAvatarUrl: 'https://vet.domains/api/avatar',\n gloDollarContractAddress: '0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e',\n};\nexport default config;\n","import localConfig from './solo';\nimport testnetConfig from './testnet';\nimport mainnetConfig from './mainnet';\nimport { Network, NETWORK_TYPE } from './network';\n\nexport type AppConfig = {\n ipfsFetchingService: string;\n ipfsPinningService: string;\n vthoContractAddress: string;\n b3trContractAddress: string;\n vot3ContractAddress: string;\n b3trGovernorAddress: string;\n timelockContractAddress: string;\n xAllocationPoolContractAddress: string;\n xAllocationVotingContractAddress: string;\n emissionsContractAddress: string;\n voterRewardsContractAddress: string;\n galaxyMemberContractAddress: string;\n treasuryContractAddress: string;\n x2EarnAppsContractAddress: string;\n x2EarnCreatorContractAddress: string;\n x2EarnRewardsPoolContractAddress: string;\n nodeManagementContractAddress: string;\n veBetterPassportContractAddress: string;\n veDelegate: string;\n veDelegateVotes: string;\n veDelegateTokenContractAddress: string;\n oracleContractAddress: string;\n accountFactoryAddress: string;\n cleanifyCampaignsContractAddress: string;\n cleanifyChallengesContractAddress: string;\n veWorldSubdomainClaimerContractAddress: string;\n vetDomainsContractAddress: string;\n vetDomainsPublicResolverAddress: string;\n vetDomainsReverseRegistrarAddress: string;\n vnsResolverAddress: string;\n gloDollarContractAddress: string;\n vetDomainAvatarUrl: string;\n nodeUrl: string;\n indexerUrl: string;\n b3trIndexerUrl: string;\n graphQlIndexerUrl: string;\n network: Network;\n explorerUrl: string;\n};\n\nexport const getConfig = (env: NETWORK_TYPE): AppConfig => {\n if (env === 'solo') return localConfig;\n if (env === 'test') return testnetConfig;\n if (env === 'main') return mainnetConfig;\n throw new Error(`Unsupported NETWORK_TYPE ${env}`);\n};\n","import { getConfig } from '@/config';\nimport { NETWORK_TYPE } from '@/config/network';\n\n/**\n * Validate IPFS URI strings. An example of a valid IPFS URI is:\n * - ipfs://QmfSTia1TJUiKQ2fyW9NTPzEKNdjMGzbUgrC3QPSTpkum6/406.json\n * - ipfs://QmVPqKfwRXjg5Fqwy6RNRbKR2ZP4pKKVLvmfjmhQfdM3MH/4\n * - ipfs://QmVPqKfwRXjg5Fqwy6RNRbKR2ZP4pKKVLvmfjmhQfdM3MH\n * @param uri\n * @returns\n */\nexport const validateIpfsUri = (uri: string): boolean => {\n const trimmedUri = uri.trim();\n return /^ipfs:\\/\\/[a-zA-Z0-9]+(\\/[^/]+)*\\/?$/.test(trimmedUri);\n};\n\n/**\n * Converts a CID to an IPFS native URL.\n *\n * @param cid - The CID to convert.\n * @param fileName - The name of the file to append to the URL.\n *\n * @returns The IPFS URL in the format `ipfs://${cid}/${fileName}`.\n */\nexport function toIPFSURL(cid: string, fileName?: string): string {\n return `ipfs://${cid}/${fileName ?? ''}`;\n}\n\n/**\n * Uploads a blob to IPFS.\n * @param blob The Blob object to upload.\n * @param filename A name for the file in the FormData payload.\n * @param networkType The network type to use for the IPFS pinning service.\n * @returns The IPFS hash of the uploaded blob.\n */\nexport async function uploadBlobToIPFS(\n blob: Blob,\n filename: string,\n networkType: NETWORK_TYPE,\n): Promise<string> {\n try {\n const form = new FormData();\n form.append('file', blob, filename);\n const response = await fetch(\n getConfig(networkType).ipfsPinningService,\n {\n method: 'POST',\n headers: {\n 'X-Project-Id': 'vechain-kit',\n },\n body: form,\n },\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const data = await response.json();\n return data.IpfsHash;\n } catch (error) {\n console.error('Error uploading blob:', error);\n throw new Error('Failed to upload blob to IPFS');\n }\n}\n","import { NFTMediaType } from \"@/types\"\n\nconst isValidMimeType = (mime: string, type: NFTMediaType[]) => {\n const found = type.find(t => {\n if (mime?.split(\"/\")[0] === t) {\n return true\n }\n })\n\n return !!found\n}\n\nexport const resolveMediaTypeFromMimeType = (mimeType: string): NFTMediaType => {\n if (isValidMimeType(mimeType, [NFTMediaType.IMAGE])) return NFTMediaType.IMAGE\n else if (isValidMimeType(mimeType, [NFTMediaType.VIDEO])) return NFTMediaType.VIDEO\n\n return NFTMediaType.UNKNOWN\n}\n","import { NETWORK_TYPE } from '@/config/network';\nimport { validateIpfsUri } from './ipfs';\nimport { getConfig } from '@/config';\n\n/**\n * Convert a URI to a URL\n * We support both IPFS and Arweave URIs. Both should be converted to their https gateway URLs.\n * All other URIs should pass through unchanged.\n *\n * @param uri\n */\nexport const convertUriToUrl = (uri: string, networkType: NETWORK_TYPE) => {\n // if it is a data uri just return it\n if (uri.startsWith('data:')) return uri;\n\n const splitUri = uri?.split('://');\n if (splitUri.length !== 2) return null;\n // if (splitUri.length !== 2) throw new Error(`Invalid URI ${uri}`);\n\n const protocol = splitUri?.[0]?.trim();\n const uriWithoutProtocol = splitUri[1];\n\n switch (protocol) {\n case 'ipfs':\n if (!validateIpfsUri(uri))\n throw new Error(`Invalid IPFS URI ${uri}`);\n\n // Check cache for IPFS document\n return `${\n getConfig(networkType).ipfsFetchingService\n }/${uriWithoutProtocol}`;\n\n case 'ar':\n return `https://arweave.net/${uriWithoutProtocol}`;\n\n default:\n return uri;\n }\n};\n","export const gmNfts = [\n {\n level: '1',\n name: 'Earth',\n image: '/images/nft-levels/0.png',\n multiplier: 1,\n b3trToUpgrade: 0,\n },\n {\n level: '2',\n name: 'Moon',\n image: '/images/nft-levels/1.png',\n multiplier: 1.1,\n b3trToUpgrade: 10_000,\n },\n {\n level: '3',\n name: 'Mercury',\n image: '/images/nft-levels/2.png',\n multiplier: 1.2,\n b3trToUpgrade: 25_000,\n },\n {\n level: '4',\n name: 'Venus',\n image: '/images/nft-levels/3.png',\n multiplier: 1.5,\n b3trToUpgrade: 50_000,\n },\n {\n level: '5',\n name: 'Mars',\n image: '/images/nft-levels/4.png',\n multiplier: 2,\n b3trToUpgrade: 100_000,\n },\n {\n level: '6',\n name: 'Jupiter',\n image: '/images/nft-levels/5.png',\n multiplier: 2.5,\n b3trToUpgrade: 250_000,\n },\n {\n level: '7',\n name: 'Saturn',\n image: '/images/nft-levels/6.png',\n multiplier: 3,\n b3trToUpgrade: 500_000,\n },\n {\n level: '8',\n name: 'Uranus',\n image: '/images/nft-levels/7.png',\n multiplier: 5,\n b3trToUpgrade: 2_500_000,\n },\n {\n level: '9',\n name: 'Neptune',\n image: '/images/nft-levels/8.png',\n multiplier: 10,\n b3trToUpgrade: 5_000_000,\n },\n {\n level: '10',\n name: 'Galaxy',\n image: '/images/nft-levels/9.png',\n multiplier: 25,\n b3trToUpgrade: 25_000_000,\n },\n];\n\n/**\n * Maps the XNode level to the GM starting level.\n */\nexport const xNodeToGMstartingLevel: Record<number, number> = {\n 1: 2,\n 2: 4,\n 3: 6,\n 4: 2,\n 5: 4,\n 6: 6,\n 7: 7,\n};\n","// Function to build query string dynamically\nexport const buildQueryString = (params: { [key: string]: any }) => {\n const searchParams = new URLSearchParams()\n\n // Iterate over the parameters and append only the defined values\n Object.keys(params).forEach(key => {\n const value = params[key]\n if (value !== undefined && value !== null) {\n searchParams.append(key, String(value))\n }\n })\n\n return searchParams.toString()\n}\n","/**\n * Map strength level coming from contract to hq image\n */\nexport const NodeStrengthLevelToImage: { [key: string]: string } = {\n \"0\": \"/images/vnt/00-noNode.webp\",\n \"1\": \"/images/vnt/01-strength.webp\",\n \"2\": \"/images/vnt/02-thunder.webp\",\n \"3\": \"/images/vnt/03-mjolnir.webp\",\n \"4\": \"/images/vnt/04-vethorX.webp\",\n \"5\": \"/images/vnt/05-strengthX.webp\",\n \"6\": \"/images/vnt/06-thunderX.webp\",\n \"7\": \"/images/vnt/07-mjolnirX.webp\",\n}\n\n//after this level the nfts are considered xNode\nexport const MinXNodeLevel = 4\nexport const EconomicNodeStrengthLevelToName: { [key: string]: string } = {\n \"1\": \"Strength\",\n \"2\": \"Thunder\",\n \"3\": \"Mjolnir\",\n}\n\nexport const XNodeStrengthLevelToName: { [key: string]: string } = {\n \"4\": \"VeThorX\",\n \"5\": \"StrengthX\",\n \"6\": \"ThunderX\",\n \"7\": \"MjolnirX\",\n}\n\nexport const allNodeStrengthLevelToName: { [key: string]: string } = {\n ...EconomicNodeStrengthLevelToName,\n ...XNodeStrengthLevelToName,\n}\n"]}