@berachain/berajs 0.2.8-beta.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/{BeraError-_mQdkanr.d.cts → BeraError-7-A5JYy_.d.ts} +31 -2
  2. package/dist/{HoneyConfigProvider-DVP_9KZn.d.ts → HoneyConfigProvider-Dkj-_a5x.d.ts} +1 -1
  3. package/dist/RequestError-DBOIV65x.d.ts +144 -0
  4. package/dist/abi/exports.mjs +3 -4
  5. package/dist/actions/clients/exports.d.ts +2 -0
  6. package/dist/actions/clients/exports.mjs +12 -0
  7. package/dist/actions/exports.d.ts +108 -187
  8. package/dist/actions/exports.mjs +97 -158
  9. package/dist/actions/governance/exports.d.ts +140 -0
  10. package/dist/actions/governance/exports.mjs +226 -0
  11. package/dist/actions/server/exports.d.ts +13 -0
  12. package/dist/actions/server/exports.mjs +27 -0
  13. package/dist/{chunk-VA3BQ34H.mjs → chunk-3EARVV7K.mjs} +20 -9
  14. package/dist/chunk-4Z4AK6SH.mjs +211 -0
  15. package/dist/chunk-75M6TF7M.mjs +25 -0
  16. package/dist/chunk-AFN4CVD3.mjs +326 -0
  17. package/dist/{chunk-7TFV6UKF.mjs → chunk-BGMRHTBQ.mjs} +0 -1
  18. package/dist/{chunk-3M47ZRXT.mjs → chunk-CDFWPU2R.mjs} +73 -17
  19. package/dist/{chunk-GWSTVITN.mjs → chunk-CDK4YV3D.mjs} +0 -1
  20. package/dist/{chunk-KL6YZ5VR.mjs → chunk-DKMAIU74.mjs} +0 -1
  21. package/dist/chunk-EXIUPSFN.mjs +86 -0
  22. package/dist/{chunk-VA5L5FDG.mjs → chunk-FFB5LFDW.mjs} +2 -3
  23. package/dist/{chunk-ZCEFC2TK.mjs → chunk-HQCOU6GY.mjs} +0 -1
  24. package/dist/{chunk-SGZP4O6R.mjs → chunk-HSSJKHZ4.mjs} +11 -11
  25. package/dist/{chunk-7QKRRIHI.mjs → chunk-J5I45WGQ.mjs} +77 -152
  26. package/dist/chunk-KQUMKB66.mjs +89 -0
  27. package/dist/{chunk-JA4DHMTG.mjs → chunk-NBYLMO2L.mjs} +0 -1
  28. package/dist/{chunk-4GFN4LEP.mjs → chunk-NPBQLVL3.mjs} +4 -21
  29. package/dist/{chunk-I3FTWD6I.mjs → chunk-O2NQFKJK.mjs} +1 -1
  30. package/dist/{chunk-2R73G2PO.mjs → chunk-QJIXTYTZ.mjs} +121 -765
  31. package/dist/{chunk-GLWPRM33.mjs → chunk-SGIJVHZO.mjs} +0 -1
  32. package/dist/chunk-SZ5C44L5.mjs +35 -0
  33. package/dist/{chunk-5NMATIH4.mjs → chunk-WXXOISTU.mjs} +1 -35
  34. package/dist/chunk-XIYN6AL6.mjs +160 -0
  35. package/dist/contexts/exports.d.ts +2 -2
  36. package/dist/contexts/exports.mjs +11 -9
  37. package/dist/enum/exports.d.ts +1 -1
  38. package/dist/enum/exports.mjs +3 -16
  39. package/dist/enum/governance/exports.d.ts +60 -0
  40. package/dist/enum/governance/exports.mjs +14 -0
  41. package/dist/errors/exports.d.ts +5 -90
  42. package/dist/errors/exports.mjs +19 -10
  43. package/dist/exports-BcUTGFUb.d.ts +40 -0
  44. package/dist/{getValidatorQueuedOperatorAddress-BcyxE9uw.d.ts → getValidatorQueuedOperatorAddress-Dw5KN5sh.d.ts} +2 -2
  45. package/dist/{global.d-5w_lvl2J.d.ts → global.d-BuGDKh4k.d.ts} +4 -240
  46. package/dist/hooks/exports.d.ts +80 -236
  47. package/dist/hooks/exports.mjs +609 -1508
  48. package/dist/hooks/governance/exports.d.ts +181 -0
  49. package/dist/hooks/governance/exports.mjs +888 -0
  50. package/dist/pol.d-CqPA9K6m.d.ts +142 -0
  51. package/dist/{txnEnum-7_o92X3N.d.cts → txnEnum-ByI5dtDi.d.ts} +2 -60
  52. package/dist/types/exports.d.ts +9 -9
  53. package/dist/types/exports.mjs +0 -1
  54. package/dist/types/governance/exports.d.ts +109 -0
  55. package/dist/types/governance/exports.mjs +0 -0
  56. package/dist/{useHoneySwapState-B494PQDl.d.ts → useHoneySwapState-vFmuFF0g.d.ts} +1 -1
  57. package/dist/utils/exports.d.ts +24 -7
  58. package/dist/utils/exports.mjs +49 -11
  59. package/package.json +60 -13
  60. package/src/actions/__test/transports.ts +61 -0
  61. package/src/actions/clients/BeraApolloClient.ts +9 -0
  62. package/src/actions/clients/exports.ts +4 -0
  63. package/src/actions/clients/getApolloClient.ts +70 -25
  64. package/src/actions/clients/getEnsoClient.ts +20 -9
  65. package/src/actions/dex/aggregators/base.ts +1 -1
  66. package/src/actions/dex/aggregators/enso/enso.ts +27 -17
  67. package/src/actions/dex/aggregators/enso/ensoErc4626.ts +2 -2
  68. package/src/actions/dex/aggregators/kyberswap.ts +18 -23
  69. package/src/actions/enso/__tests__/getEnsoUserTokensWithBalances.debug.test.ts +3 -6
  70. package/src/actions/exports.ts +5 -10
  71. package/src/actions/governance/exports.ts +9 -0
  72. package/src/actions/governance/getAllProposals.ts +10 -65
  73. package/src/actions/governance/getProposalDetails.ts +6 -33
  74. package/src/actions/governance/getProposalVotes.ts +8 -15
  75. package/src/actions/honey/getChartData.ts +27 -21
  76. package/src/actions/honey/getHoney24hVolume.ts +27 -0
  77. package/src/actions/pol/getAutoclaimedIncentives.ts +30 -0
  78. package/src/actions/pol/getBeraTokenTotalSupply.ts +45 -0
  79. package/src/actions/pol/getBgtIncentiveDistributorPaused.ts +35 -0
  80. package/src/actions/pol/getEarnedStakedBeraVault.ts +15 -9
  81. package/src/actions/pol/getGlobalData.ts +1 -0
  82. package/src/actions/pol/getHeroEarnVaults.ts +62 -0
  83. package/src/actions/pol/getIncentiveFeeClaimStats.ts +19 -38
  84. package/src/actions/pol/getSWBeraVaultMetadata.ts +1 -1
  85. package/src/actions/pol/getStakingDailyAssets.ts +11 -8
  86. package/src/actions/server/exports.ts +1 -0
  87. package/src/actions/server/getDailyValidatorBlockStats.ts +33 -0
  88. package/src/actions/tokens/getWalletBalances.integration.test.ts +3 -6
  89. package/src/actions/transactions/beraWriteContract.integration.test.ts +3 -6
  90. package/src/actions/validators/getDailyValidatorBlockStats.ts +25 -24
  91. package/src/actions/validators/getValidatorAnalytics.ts +20 -21
  92. package/src/actions/validators/getValidatorIncentiveDistribution.ts +33 -0
  93. package/src/data/contracts.ts +5 -0
  94. package/src/enum/contracts.ts +1 -0
  95. package/src/enum/exports.ts +0 -1
  96. package/src/enum/governance/exports.ts +1 -0
  97. package/src/errors/BeraError.ts +47 -7
  98. package/src/errors/BeraTracing.unit.test.ts +65 -0
  99. package/src/errors/RequestError.ts +15 -2
  100. package/src/errors/exports.ts +5 -0
  101. package/src/errors/getRevertReason.integration.test.ts +3 -3
  102. package/src/errors/spanStatus.ts +78 -0
  103. package/src/errors/spanStatus.unit.test.ts +62 -0
  104. package/src/hooks/dex/useCreatePool.ts +1 -88
  105. package/src/hooks/dex/useOnChainPoolData.ts +27 -2
  106. package/src/hooks/dex/usePriceImpact.ts +12 -5
  107. package/src/hooks/enso/useBendDemultiply.ts +9 -1
  108. package/src/hooks/enso/useBendMultiply.ts +9 -1
  109. package/src/hooks/enso/useBendZapSupply.ts +26 -7
  110. package/src/hooks/enso/useEnsoSwapBundle.ts +17 -3
  111. package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +13 -2
  112. package/src/hooks/exports.ts +3 -16
  113. package/src/hooks/governance/exports.ts +14 -0
  114. package/src/hooks/honey/useHoney24hVolume.ts +16 -0
  115. package/src/hooks/pol/useAutoclaimedIncentives.ts +49 -0
  116. package/src/hooks/pol/useStakedAPR.ts +2 -2
  117. package/src/hooks/pol/useStakedSnapshots.ts +5 -9
  118. package/src/hooks/validators/useValidator.ts +2 -0
  119. package/src/hooks/validators/useValidatorIncentiveDistribution.ts +39 -0
  120. package/src/types/bribe-boost.d.ts +8 -0
  121. package/src/types/exports.ts +0 -1
  122. package/src/types/governance/exports.ts +1 -0
  123. package/src/utils/beraFetch.ts +76 -15
  124. package/src/utils/exports.ts +1 -0
  125. package/src/utils/getServerSideClient.ts +4 -2
  126. package/src/utils/sanitizeRpcUrl.ts +22 -0
  127. package/src/utils/tracedTransport.ts +35 -0
  128. package/dist/BeraError-_mQdkanr.d.ts +0 -94
  129. package/dist/BexStatusProvider-DRymVlQf.d.cts +0 -70
  130. package/dist/HoneyConfigProvider-DfkjmzEf.d.cts +0 -390
  131. package/dist/RequestError-A8XJ6QR9.d.cts +0 -57
  132. package/dist/RequestError-Dk97z8rm.d.ts +0 -57
  133. package/dist/abi/exports.cjs +0 -4453
  134. package/dist/abi/exports.cjs.map +0 -1
  135. package/dist/abi/exports.d.cts +0 -6574
  136. package/dist/abi/exports.mjs.map +0 -1
  137. package/dist/actions/exports.cjs +0 -914
  138. package/dist/actions/exports.cjs.map +0 -1
  139. package/dist/actions/exports.d.cts +0 -1644
  140. package/dist/actions/exports.mjs.map +0 -1
  141. package/dist/chunk-2R73G2PO.mjs.map +0 -1
  142. package/dist/chunk-3M47ZRXT.mjs.map +0 -1
  143. package/dist/chunk-4GFN4LEP.mjs.map +0 -1
  144. package/dist/chunk-5N7QQS55.cjs +0 -130
  145. package/dist/chunk-5N7QQS55.cjs.map +0 -1
  146. package/dist/chunk-5NMATIH4.mjs.map +0 -1
  147. package/dist/chunk-7QKRRIHI.mjs.map +0 -1
  148. package/dist/chunk-7TFV6UKF.mjs.map +0 -1
  149. package/dist/chunk-A4FPM7U3.cjs +0 -63
  150. package/dist/chunk-A4FPM7U3.cjs.map +0 -1
  151. package/dist/chunk-BDHINMWQ.cjs +0 -417
  152. package/dist/chunk-BDHINMWQ.cjs.map +0 -1
  153. package/dist/chunk-BEHP54S3.cjs +0 -24
  154. package/dist/chunk-BEHP54S3.cjs.map +0 -1
  155. package/dist/chunk-EGDXV2PT.cjs +0 -36
  156. package/dist/chunk-EGDXV2PT.cjs.map +0 -1
  157. package/dist/chunk-EWBKSMPG.cjs +0 -13
  158. package/dist/chunk-EWBKSMPG.cjs.map +0 -1
  159. package/dist/chunk-F6ZW7ZDD.cjs +0 -403
  160. package/dist/chunk-F6ZW7ZDD.cjs.map +0 -1
  161. package/dist/chunk-FTXTRUYT.cjs +0 -170
  162. package/dist/chunk-FTXTRUYT.cjs.map +0 -1
  163. package/dist/chunk-GLWPRM33.mjs.map +0 -1
  164. package/dist/chunk-GWSTVITN.mjs.map +0 -1
  165. package/dist/chunk-H3Z37RYU.cjs +0 -15
  166. package/dist/chunk-H3Z37RYU.cjs.map +0 -1
  167. package/dist/chunk-I3FTWD6I.mjs.map +0 -1
  168. package/dist/chunk-JA4DHMTG.mjs.map +0 -1
  169. package/dist/chunk-KL6YZ5VR.mjs.map +0 -1
  170. package/dist/chunk-MXWPP6MS.cjs +0 -572
  171. package/dist/chunk-MXWPP6MS.cjs.map +0 -1
  172. package/dist/chunk-SGZP4O6R.mjs.map +0 -1
  173. package/dist/chunk-TDW5SPXR.cjs +0 -244
  174. package/dist/chunk-TDW5SPXR.cjs.map +0 -1
  175. package/dist/chunk-TGK3IXDN.cjs +0 -169
  176. package/dist/chunk-TGK3IXDN.cjs.map +0 -1
  177. package/dist/chunk-TJEW6YCJ.cjs +0 -97
  178. package/dist/chunk-TJEW6YCJ.cjs.map +0 -1
  179. package/dist/chunk-VA3BQ34H.mjs.map +0 -1
  180. package/dist/chunk-VA5L5FDG.mjs.map +0 -1
  181. package/dist/chunk-XSGCRLSD.cjs +0 -1844
  182. package/dist/chunk-XSGCRLSD.cjs.map +0 -1
  183. package/dist/chunk-XV3GG3HC.cjs +0 -135
  184. package/dist/chunk-XV3GG3HC.cjs.map +0 -1
  185. package/dist/chunk-Y5B224UX.cjs +0 -4698
  186. package/dist/chunk-Y5B224UX.cjs.map +0 -1
  187. package/dist/chunk-ZBTRKBSI.mjs +0 -169
  188. package/dist/chunk-ZBTRKBSI.mjs.map +0 -1
  189. package/dist/chunk-ZCEFC2TK.mjs.map +0 -1
  190. package/dist/contexts/exports.cjs +0 -83
  191. package/dist/contexts/exports.cjs.map +0 -1
  192. package/dist/contexts/exports.d.cts +0 -66
  193. package/dist/contexts/exports.mjs.map +0 -1
  194. package/dist/defaultFlags-D6KfkTZx.d.cts +0 -10
  195. package/dist/dex-C_BB0b0O.d.cts +0 -37
  196. package/dist/enum/exports.cjs +0 -59
  197. package/dist/enum/exports.cjs.map +0 -1
  198. package/dist/enum/exports.d.cts +0 -23
  199. package/dist/enum/exports.mjs.map +0 -1
  200. package/dist/errors/exports.cjs +0 -39
  201. package/dist/errors/exports.cjs.map +0 -1
  202. package/dist/errors/exports.d.cts +0 -413
  203. package/dist/errors/exports.mjs.map +0 -1
  204. package/dist/getValidatorQueuedOperatorAddress-Cql_D50j.d.cts +0 -562
  205. package/dist/global.d-B7IeayVX.d.cts +0 -474
  206. package/dist/honey-CYm0RWf4.d.cts +0 -14
  207. package/dist/hooks/exports.cjs +0 -8333
  208. package/dist/hooks/exports.cjs.map +0 -1
  209. package/dist/hooks/exports.d.cts +0 -1748
  210. package/dist/hooks/exports.mjs.map +0 -1
  211. package/dist/polling-BKnyavLI.d.cts +0 -8
  212. package/dist/txnEnum-7_o92X3N.d.ts +0 -164
  213. package/dist/types/exports.cjs +0 -1
  214. package/dist/types/exports.cjs.map +0 -1
  215. package/dist/types/exports.d.cts +0 -90
  216. package/dist/types/exports.mjs.map +0 -1
  217. package/dist/useHoneySwapState-D6vpv19r.d.cts +0 -32
  218. package/dist/utils/exports.cjs +0 -787
  219. package/dist/utils/exports.cjs.map +0 -1
  220. package/dist/utils/exports.d.cts +0 -412
  221. package/dist/utils/exports.mjs.map +0 -1
  222. package/src/actions/dex/getIsTokenExploited.ts +0 -63
  223. package/src/actions/honey/getHoneyGlobalData.ts +0 -21
  224. package/src/hooks/dex/useExploitedTokens.ts +0 -57
  225. package/src/hooks/honey/useHoneyGlobalData.ts +0 -23
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/pong/coding/monobera/packages/berajs/dist/utils/exports.cjs","../../src/utils/formatInputTokenValue.ts","../../src/utils/formatUsd.ts","../../src/utils/getContractName.ts","../../src/data/contracts.ts","../../src/utils/getHoneySwapMessage.ts","../../src/utils/getServerSideClient.ts","../../src/utils/isDifferenceExceedingThreshold.ts","../../src/utils/isSubgraphStale.ts","../../src/utils/layerZeroScan.ts","../../src/utils/parseWhiskToken.ts","../../src/utils/truncateHash.ts","../../src/utils/validatorUptimeStatus.ts"],"names":["contract","msg","defaultChainId","LayerZeroMessageStatus"],"mappings":"AAAA;AACE;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACA;AACA;AACF,yDAA8B;AAC9B;AACE;AACA;AACA;AACF,yDAA8B;AAC9B;AACA;ACtDO,IAAM,sBAAA,EAAwB,CAAC,UAAA,EAAA,GAAuB;AAC3D,EAAA,GAAA,CAAI,WAAA,IAAe,GAAA,EAAK,OAAO,UAAA;AAE/B,EAAA,IAAI,cAAA,EAAgB,UAAA,CAAW,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA,CAAE,UAAA,CAAW,UAAA,EAAY,EAAE,CAAA;AAG3E,EAAA,GAAA,CAAI,aAAA,CAAc,UAAA,CAAW,GAAG,CAAA,EAAG;AACjC,IAAA,cAAA,EAAgB,CAAA,CAAA,EAAI,aAAa,CAAA,CAAA;AACnC,EAAA;AAEO,EAAA;AACT;ADoDsC;AACA;AE3DpC;AAEyB,EAAA;AAGE,EAAA;AAClB,IAAA;AACG,IAAA;AACP,IAAA;AACJ,EAAA;AACG,EAAA;AAEA,IAAA;AAEA,IAAA;AAEgC,IAAA;AACP,MAAA;AAC3B,IAAA;AAEI,IAAA;AAEiB,IAAA;AACU,MAAA;AAEN,MAAA;AACf,QAAA;AACR,MAAA;AACK,IAAA;AACC,MAAA;AAEiB,MAAA;AACf,QAAA;AACR,MAAA;AACF,IAAA;AAC2B,IAAA;AACjB,EAAA;AACG,IAAA;AACY,IAAA;AAC3B,EAAA;AACF;AFmDsC;AACA;AG/FO;AHiGP;AACA;AIhGb;AACvB,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACA,EAAA;AACW,IAAA;AACA,IAAA;AACH,IAAA;AACR,EAAA;AACF;AJkGsC;AACA;AGhgBN;AAC9B,EAAA;AACU,EAAA;AAIW;AACP,EAAA;AACL,IAAA;AACT,EAAA;AAEiCA,EAAAA;AACE,IAAA;AACT,IAAA;AACzB,EAAA;AAEgB,EAAA;AACnB;AH6fsC;AACA;AKjhBF;AAClC,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAQS;AACmB,EAAA;AACC,IAAA;AACH,MAAA;AACO,MAAA;AACR,MAAA;AACI,MAAA;AACL,QAAA;AACM,UAAA;AACK,UAAA;AACJ,UAAA;AACCC,YAAAA;AACJ,UAAA;AACIA,YAAAA;AACjB,UAAA;AACS,YAAA;AAChB,UAAA;AACF,QAAA;AACK,MAAA;AACwB,QAAA;AACF,QAAA;AAC7B,MAAA;AACmB,MAAA;AACrB,IAAA;AACwB,IAAA;AACC,IAAA;AACQ,MAAA;AACA,QAAA;AACA,QAAA;AACN,QAAA;AACK,UAAA;AACR,QAAA;AACJ,UAAA;AACQ,UAAA;AACL,UAAA;AACZ,QAAA;AACS,UAAA;AAChB,QAAA;AACF,MAAA;AACK,IAAA;AACwB,MAAA;AACF,MAAA;AACb,MAAA;AACe,MAAA;AACZ,MAAA;AACnB,IAAA;AACmB,IAAA;AACrB,EAAA;AACO,EAAA;AACT;AL4gBsC;AACA;AMllBT;AACT;AAEpB;AACE;AACAC;AACA;AACK;AAO0C;AAG/C;AAEyCA,EAAAA;AAEd,EAAA;AACE,IAAA;AAC7B,EAAA;AAE+B,EAAA;AACJ,EAAA;AACpB,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAGS,EAAA;AAEkB,EAAA;AACF,IAAA;AAChC,EAAA;AACkC,EAAA;AACA,EAAA;AAChC,IAAA;AACoB,IAAA;AACrB,EAAA;AAE2B,EAAA;AAErB,EAAA;AACT;ANmkBsC;AACA;AOhnBpC;AAIuB,EAAA;AACA,EAAA;AAEC,EAAA;AAE1B;AP6mBsC;AACA;AQ1nBN;AAC9B,EAAA;AACA,EAAA;AAIC;AAC+B,EAAA;AACC,EAAA;AACnC;ARynBsC;AACA;AS9nBH;AAE5B;AACL,EAAA;AACA,EAAA;AACS,EAAA;AAHCC,EAAAA;AAAA;AA4B+B;AAGzC;AAEqD,EAAA;AACjB,IAAA;AAC5B,IAAA;AACA,IAAA;AACP,EAAA;AACH;AAmBsB;AAIS,EAAA;AAEb,EAAA;AACiB,IAAA;AACnB,MAAA;AACH,MAAA;AACG,MAAA;AACX,IAAA;AACH,EAAA;AAE2B,EAAA;AAEd,EAAA;AAEkB,IAAA;AACP,MAAA;AACT,QAAA;AACD,QAAA;AACD,QAAA;AACR,MAAA;AACH,IAAA;AAEI,IAAA;AACyB,MAAA;AACD,MAAA;AAED,MAAA;AACH,QAAA;AACT,UAAA;AACD,UAAA;AACT,QAAA;AACH,MAAA;AAEwB,MAAA;AACF,QAAA;AACT,UAAA;AACD,UAAA;AACT,QAAA;AACH,MAAA;AAEwB,MAAA;AACf,QAAA;AACT,MAAA;AACc,IAAA;AAGO,MAAA;AACb,QAAA;AACR,MAAA;AACF,IAAA;AAEwB,IAAA;AAC1B,EAAA;AACF;ATskBsC;AACA;AUvrB4B;AACzD,EAAA;AACF,IAAA;AACkB,IAAA;AACvB,EAAA;AACF;AVyrBsC;AACA;AWnsBpC;AAIqB,EAAA;AAEI,EAAA;AAIE,EAAA;AACzB,IAAA;AACA,IAAA;AACgC,EAAA;AACpC;AX8rBsC;AACA;AYltB7B;AAWc;AACD,EAAA;AACF,EAAA;AACpB;AAYuB;AACD,EAAA;AACF,EAAA;AACpB;AZ+rBsC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/pong/coding/monobera/packages/berajs/dist/utils/exports.cjs","sourcesContent":[null,"export const formatInputTokenValue = (inputValue: string) => {\n if (inputValue === \"0\") return inputValue;\n // Remove all non-numeric characters except for the decimal point, and remove leading zeros\n let filteredValue = inputValue.replace(/^0+/, \"\").replaceAll(/[^0-9.]/g, \"\");\n\n // Keep the 0\n if (filteredValue.startsWith(\".\")) {\n filteredValue = `0${filteredValue}`;\n }\n\n return filteredValue;\n};\n","/**\n * @deprecated use the FormattedNumber component instead\n */\nexport function formatUsd(\n input: string | number,\n hideDecimals?: boolean,\n): string {\n const decimalsSettings = hideDecimals\n ? { minimumFractionDigits: 0, maximumFractionDigits: 0 }\n : {};\n const formatter = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n ...decimalsSettings,\n });\n try {\n const isNumber = (value: unknown): value is number =>\n typeof value === \"number\";\n const isString = (value: unknown): value is string =>\n typeof value === \"string\";\n\n if (!isNumber(input) && !isString(input)) {\n return formatter.format(0);\n }\n\n let num: number;\n\n if (isString(input)) {\n num = Number.parseFloat(input);\n\n if (Number.isNaN(num)) {\n num = 0;\n }\n } else {\n num = input;\n\n if (Number.isNaN(num)) {\n num = 0;\n }\n }\n return formatter.format(num);\n } catch (e) {\n console.log(e);\n return formatter.format(0);\n }\n}\n","import type { Address } from \"viem\";\n\nimport { type ChainId, defaultChainId } from \"@berachain/config/internal\";\n\nimport { contracts } from \"../data/contracts\";\n\n/**\n * Get a human readable name for a contract address.\n */\nexport function getContractName({\n address,\n chainId = defaultChainId,\n}: {\n address: Address | undefined;\n chainId?: ChainId | \"name\";\n}): string | undefined {\n if (!address) {\n return undefined;\n }\n\n const contract = contracts.find((contract) => {\n const contractAddress = contract[chainId as keyof typeof contract];\n return contractAddress?.toLowerCase() === address.toLowerCase();\n });\n\n return contract?.name;\n}\n","/**\n * This file is generated by the getContractNames.js script.\n * Do not edit this file manually, run `pnpm contracts:update` to update it.\n */\nexport const contracts = [\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x0000000000000000000000000000000000000000\",\n name: \"zeroAddress\",\n },\n {\n \"80094\": \"0x141De07E5D4C4759EC9301DA106115D4841f66cD\",\n name: \"nfts.bongBears\",\n },\n {\n \"80094\": \"0xA0CF472E6132F6B822a944f6F31aA7b261c7c375\",\n name: \"nfts.bondBears\",\n },\n {\n \"80094\": \"0xf49ec5db255854C4a567de5AB3826c9AAbaFc7cF\",\n name: \"nfts.booBears\",\n },\n {\n \"80094\": \"0xDDeAf391c4be2d01ca52aBb8C159a06820ef078C\",\n name: \"nfts.babyBears\",\n },\n {\n \"80094\": \"0x7711B2Eb2451259dbF211e30157ceB7CFeb79a19\",\n name: \"nfts.bandBears\",\n },\n {\n \"80094\": \"0x72D876D9cdf4001b836f8E47254d0551EdA2eebB\",\n name: \"nfts.bitBears\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x24147243f9c08d835C218Cda1e135f8dFD0517D0\",\n name: \"bend.morpho\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xcf247Df3A2322Dea0D408f011c194906E77a6f62\",\n name: \"bend.adaptiveCurveIrm\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xF920140A65D0f412f2AB3e76C4fEAB5Eef0657ae\",\n name: \"bend.bundler3\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xd2B9667F5214115E27937C410cAeE83E3a901Df7\",\n name: \"bend.generalAdapter1\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x5EDd48C6ACBd565Eeb31702FD9fa9Cbc86fbE616\",\n name: \"bend.metaMorphoFactoryV1_1\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x80108Ee81A92091Db6B8B2326B1875ce9388f461\",\n name: \"bend.metaFeePartitioner\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xB62F34Ab315eaDeAc698e8EaEB6Fc2650951BFe7\",\n name: \"bend.publicAllocator\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xAf2FDC54f7bc9d6e8C2D2760E908f4e1beB04d9E\",\n name: \"bend.morphoChainlinkOracleV2Factory\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x46fE2bc33b661E01A8946BbC3Bf43F2B8382d802\",\n name: \"bend.urdFactory\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x30BbA9CD9Eb8c95824aa42Faa1Bb397b07545bc1\",\n name: \"bend.vaults.re7HoneyVault\",\n },\n {\n \"80069\": \"0xb0d005Fe83E3F1ec876C1a64700c5F0d6265d9E3\",\n \"80094\": \"0x77DA09bC82652f9A14d1b170a001e759640298e6\",\n name: \"pol.bgtIncentiveDistributor\",\n },\n {\n \"80069\": \"0x1984Baf659607Cc5f206c55BB3B00eb3E180190B\",\n \"80094\": \"0x1984Baf659607Cc5f206c55BB3B00eb3E180190B\",\n name: \"pol.bgtIncentiveFeeCollector\",\n },\n {\n \"80069\": \"0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a\",\n \"80094\": \"0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a\",\n name: \"pol.wberaStakerVault\",\n },\n {\n \"80069\": \"0x4242424242424242424242424242424242424242\",\n \"80094\": \"0x4242424242424242424242424242424242424242\",\n name: \"pol.beaconDeposit\",\n },\n {\n \"80069\": \"0xdf960E8F3F19C481dDE769edEDD439ea1a63426a\",\n \"80094\": \"0xdf960E8F3F19C481dDE769edEDD439ea1a63426a\",\n name: \"pol.berachef\",\n },\n {\n \"80069\": \"0x1AE7dD7AE06F6C58B4524d9c1f816094B1bcCD8e\",\n \"80094\": \"0x1AE7dD7AE06F6C58B4524d9c1f816094B1bcCD8e\",\n name: \"pol.blockRewardController\",\n },\n {\n \"80069\": \"0xD2f19a79b026Fb636A7c300bF5947df113940761\",\n \"80094\": \"0xD2f19a79b026Fb636A7c300bF5947df113940761\",\n name: \"pol.distributor\",\n },\n {\n \"80069\": \"0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8\",\n \"80094\": \"0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8\",\n name: \"pol.rewardVaultFactory\",\n },\n {\n \"80069\": \"0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6\",\n \"80094\": \"0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6\",\n name: \"pol.bgtStaker\",\n },\n {\n \"80069\": \"0x7bb8DdaC7FbE3FFC0f4B3c73C4F158B06CF82650\",\n \"80094\": \"0x7Bb8DdaC7FbE3FFC0f4B3c73C4F158B06CF82650\",\n name: \"pol.feeCollector\",\n },\n {\n \"80069\": \"0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5\",\n \"80094\": \"0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5\",\n name: \"pol.governance\",\n },\n {\n \"80069\": \"0xb5f2000b5744f207c931526cAE2134cAa8b6862a\",\n \"80094\": \"0xb5f2000b5744f207c931526cAE2134cAa8b6862a\",\n name: \"pol.timelock\",\n },\n {\n \"80069\": \"0x176c081E95C82CA68DEa20CA419C7506Aa063C24\",\n \"80094\": \"0xb79b43dBA821Cb67751276Ce050fF4111445fB99\",\n name: \"stakingPools.stakingPoolContractsFactory\",\n },\n {\n \"80069\": \"0x8b472791aC2f9e9Bd85f8919401b8Ce3bdFd464c\",\n \"80094\": \"0xAd17932a5B1aaeEa73D277a6AE670623F176E0D0\",\n name: \"stakingPools.delegationHandlerFactory\",\n },\n {\n \"80069\": \"0xAFAc2f11Cb39F0521b22494F6101002ce653D2f4\",\n \"80094\": \"0xE858802Ed532C6DAD2D196AB5B1F2C15F9cb52b4\",\n name: \"stakingPools.withdrawalVault\",\n },\n {\n \"80069\": \"0x656b95E550C07a9ffe548bd4085c72418Ceb1dba\",\n \"80094\": \"0x656b95E550C07a9ffe548bd4085c72418Ceb1dba\",\n name: \"tokens.bgt\",\n },\n {\n \"80069\": \"0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce\",\n \"80094\": \"0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce\",\n name: \"tokens.honey\",\n },\n {\n \"80069\": \"0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401\",\n \"80094\": \"0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401\",\n name: \"tokens.honeyFactory\",\n },\n {\n \"80069\": \"0x285e147060CDc5ba902786d3A471224ee6cE0F91\",\n \"80094\": \"0x285e147060CDc5ba902786d3A471224ee6cE0F91\",\n name: \"tokens.honeyFactoryReader\",\n },\n {\n \"80069\": \"0x6969696969696969696969696969696969696969\",\n \"80094\": \"0x6969696969696969696969696969696969696969\",\n name: \"tokens.wbera\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x549943e04f40284185054145c6E4e9568C1D3241\",\n name: \"tokens.usdc\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x0555E30da8f98308EdB960aa94C0Db47230d2B9c\",\n name: \"tokens.wbtc\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590\",\n name: \"tokens.weth\",\n },\n {\n \"80069\": \"0x708cA656b68A6b7384a488A36aD33505a77241FE\",\n \"80094\": \"0x4Be03f781C497A489E3cB0287833452cA9B9E80B\",\n name: \"bex.vault\",\n },\n {\n \"80069\": \"0x05A607aCf3548E84DD1E44c3706F850c849058Da\",\n \"80094\": \"0xB8Cf46Cf1b1476E707619913a70B2085d26f1707\",\n name: \"bex.protocolFeesCollector\",\n },\n {\n \"80069\": \"0xC7c981ADcDC5d48fed0CD52807fb2bAB22676C8f\",\n \"80094\": \"0x5083737EC75a728c265BE578C9d0d5333a2c5951\",\n name: \"bex.balancerHelpers\",\n },\n {\n \"80069\": \"0x0dC9964F6CA33d9EF38DEB4925234766127C6B36\",\n \"80094\": \"0x55dccE8165C88aAd4403a15A9cE3A8E244657dD2\",\n name: \"bex.poolCreationHelper\",\n },\n {\n \"80069\": \"0x8c2D77f0CfcD4Af9cF41494EfE500FE324012c06\",\n \"80094\": \"0x1635F0E1B3e8A6713d03aE155ba79458Ba3240C7\",\n name: \"bex.protocolFeesWithdrawer\",\n },\n {\n \"80069\": \"0xB60DbBaCEaeC23486a64d12089F467ef949f1bb1\",\n \"80094\": \"0xDfA30BDa0375d4763711AB0CC8D91B20bfCC87E1\",\n name: \"bex.stablePoolFactory\",\n },\n {\n \"80069\": \"0xfD772657FC8c4Ed3884AfF151b680883814052FA\",\n \"80094\": \"0xCB4AE3030bA06F7EEE54A7B96AfcA7457f9525cf\",\n name: \"bex.batchRelayerLibrary\",\n },\n {\n \"80069\": \"0x263a1C5B2c5851beA2177eb8D6caefdfF2A25601\",\n \"80094\": \"0x4151083172b2CEFB83A33fD7FC9F6cBabb3Fd08d\",\n name: \"bex.batchRelayerQueryLibrary\",\n },\n {\n \"80069\": \"0x343215E156Ff586711a5B8C49Fe3099BAF22624C\",\n \"80094\": \"0x6044f181aB5E9C05A4ed9Ce295f3B178d2492EE7\",\n name: \"bex.balancerRelayer\",\n },\n {\n \"80069\": \"0xf1d23276C7b271B2aC595C78977b2312E9954D57\",\n \"80094\": \"0xa966fA8F2d5B087FFFA499C0C1240589371Af409\",\n name: \"bex.weightedPoolFactory\",\n },\n {\n \"80069\": \"0x8119E412E00fe3c857739E95dB147817Bf615dB8\",\n \"80094\": \"0x33C88ffdEe710ed3908C791137Bd1D4421AabBBf\",\n name: \"bex.protocolFeePercentagesProvider\",\n },\n {\n \"80069\": \"0xE3723383a0EA73D5c0dE424BAA97F97f86f6cF92\",\n \"80094\": \"0x3C612e132624f4Bd500eE1495F54565F0bcc9b59\",\n name: \"bex.balancerQueries\",\n },\n {\n \"80069\": \"0x1453b808C88AAa5e5965f8d86123921E96F045Aa\",\n \"80094\": \"0x71047aE39A7aA4f7d923542F459e50B974644Ef2\",\n name: \"bex.authorizer\",\n },\n {\n \"80069\": \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n \"80094\": \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n name: \"safe.safe\",\n },\n {\n \"80069\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n \"80094\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n name: \"safe.safeProxyFactory\",\n },\n {\n \"80069\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n \"80094\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n name: \"safe.multiSend\",\n },\n {\n \"80069\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n \"80094\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n name: \"safe.multiSendCallOnly\",\n },\n {\n \"80069\": \"0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99\",\n \"80094\": \"0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99\",\n name: \"safe.compatibilityFallbackHandler\",\n },\n {\n \"80069\": \"0xd53cd0aB83D845Ac265BE939c57F53AD838012c9\",\n \"80094\": \"0xd53cd0aB83D845Ac265BE939c57F53AD838012c9\",\n name: \"safe.signMessageLib\",\n },\n {\n \"80069\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n \"80094\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n name: \"safe.simulateTxAccessor\",\n },\n {\n \"80069\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n \"80094\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n name: \"safe.createCall\",\n },\n {\n \"80069\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n \"80094\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n name: \"other.create2\",\n },\n {\n \"80069\": \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n \"80094\": \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n name: \"other.multicall3\",\n },\n {\n \"80069\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"80094\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n name: \"other.permit2\",\n },\n {\n \"80069\": \"0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2\",\n \"80094\": \"0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2\",\n name: \"pol.rewardVaultHelper\",\n },\n {\n \"80069\": \"0x7f09Cf6958631513aF0400488F65c7B5c0313F52\",\n \"80094\": \"0xc8FD9a3fB3Dad4C22c9F8Cfa7cecC318A667A791\",\n name: \"pol.rewardAllocationFactory\",\n },\n {\n \"80069\": \"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b\",\n \"80094\": \"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b\",\n name: \"bex.balancerDelegatedOwnership\",\n },\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x1BDB1cf792419d2eaB5aBa8076B8f4257744fA58\",\n name: \"bex.aggregatorsRouter\",\n },\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x4AD3c5A427Af60F8Dd982023aE012233A66CA1f8\",\n name: \"bex.aggregatorsRouterExecutor\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x24aC999FF132B32c5b3956973b6213B0d07eB2C7\",\n name: \"bex.haikuRouter\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x69495273D6Dc572A830A4D6e00400a1e9d5B8f71\",\n name: \"bex.haikuAgentAddress\",\n },\n {\n \"80069\": \"0x0eFeC4379805fAFA7269Ec599a6921f388C8841a\",\n \"80094\": \"0xB5787B8f7b07a00229b617c4B7a616185857C147\",\n name: \"bex.recoverFundsContract\",\n },\n {\n \"80069\": \"0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943\",\n \"80094\": \"0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943\",\n name: \"honey.pythOracle\",\n },\n {\n \"80069\": \"0xE5Ad9BA751714ec8cdd554b5a9f12BFcA13980cB\",\n \"80094\": \"0xF5686e448BE103beA465105bEb9d284a34ae7e95\",\n name: \"honey.pythWrapper\",\n },\n {\n \"80069\": \"0x2880aB155794e7179c9eE2e38200202908C17B43\",\n \"80094\": \"0x2880aB155794e7179c9eE2e38200202908C17B43\",\n name: \"external.pyth\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xC5FabF3a7E98a2ed89f5d5057Ab010634Ca7e71f\",\n name: \"bend.staging.morpho\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x1d5376e532CcF25b740270624111D665830E5dB9\",\n name: \"bend.staging.adaptiveCurveIrm\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x524061B659380a5e4576d76F0951303B20B5932f\",\n name: \"bend.staging.metaMorphoFactory\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xFD6e68bC20be2a01Ec1Df687c83f927087D52811\",\n name: \"bend.staging.publicAllocator\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x56811e1BFfF951B98c7940d3aCe0e549Ec4fDee8\",\n name: \"bend.staging.bundler3\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x257a41E20BBfe90D750646C2e00bA700D55958C5\",\n name: \"bend.staging.generalAdapter1\",\n },\n {\n \"80094\": \"0x19DcFf4e8Ff0B554D8a1f22d289A449fd4FbddBa\",\n name: \"bend.staging.supportedVaults.0\",\n },\n {\n \"80094\": \"0xC0808A144CE2ea85bF84EBD1dDF5D59429f59dDE\",\n name: \"bend.staging.supportedVaults.1\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xc914a663837eb21c5a650716e015659686597e55\",\n name: \"enso.walletV2Factory\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x5dE09823D9143886896507107590d9859F3E390b\",\n name: \"enso.walletFlashloanAdapter\",\n },\n] as const;\n","import type { IHoneySwapState } from \"../hooks/honey/useHoneySwapState\";\nimport { formatNumber } from \"./formatNumber\";\n\n/**\n * Get the message shown in the transaction confirmation modal for honey swaps\n * @returns {string} The message\n */\nexport function getHoneySwapMessage({\n collaterals,\n actionType,\n toAmount,\n fromAmount,\n isBasketModeEnabled,\n}: Pick<\n IHoneySwapState,\n | \"collaterals\"\n | \"actionType\"\n | \"toAmount\"\n | \"fromAmount\"\n | \"isBasketModeEnabled\"\n>): string {\n if (collaterals.length > 0) {\n if (actionType === \"mint\") {\n const msg = [\"Minting\"];\n msg.push(formatNumber(Number(toAmount[0]), 5));\n msg.push(\"Honey from\");\n if (isBasketModeEnabled) {\n for (const idx in collaterals) {\n msg.push(formatNumber(Number(fromAmount[idx]), 5));\n msg.push(`${collaterals[idx].symbol}`);\n if (+idx < collaterals.length - 2) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\",\");\n } else if (+idx === collaterals.length - 1) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\".\");\n } else {\n msg.push(\"and\");\n }\n }\n } else {\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(`${collaterals[0].symbol}`);\n }\n return msg.join(\" \");\n }\n const msg = [\"Redeeming\"];\n if (isBasketModeEnabled) {\n for (const idx in collaterals) {\n msg.push(formatNumber(Number(toAmount[idx]), 5));\n msg.push(`${collaterals[idx].symbol}`);\n if (+idx < collaterals.length - 2) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\",\");\n } else if (+idx === collaterals.length - 1) {\n msg.push(\"for\");\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(\"Honey.\");\n } else {\n msg.push(\"and\");\n }\n }\n } else {\n msg.push(formatNumber(Number(toAmount[0]), 5));\n msg.push(`${collaterals[0].symbol}`);\n msg.push(\"for\");\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(\"Honey.\");\n }\n return msg.join(\" \");\n }\n return \"\";\n}\n","import { createPublicClient, fallback, http, type PublicClient } from \"viem\";\nimport { berachain, berachainBepolia } from \"viem/chains\";\n\nimport {\n ChainId,\n defaultChainId,\n getRpcUrls,\n} from \"@berachain/config/internal\";\n\n/**\n * This is a singleton to avoid creating a new client for each request.\n *\n * A single client manages batch requests when parallel requests are made on different instances.\n */\nconst _clients: Map<ChainId, PublicClient> = new Map();\n\nexport const getServerSidePublicClient = (\n args: { chainId?: ChainId } = {},\n): PublicClient => {\n const chainId: ChainId = args.chainId ?? defaultChainId;\n\n if (_clients.has(chainId)) {\n return _clients.get(chainId)!;\n }\n\n const rpcs = getRpcUrls(chainId);\n const fallbackTransports = [\n rpcs.privateRcpUrl,\n rpcs.jsonRpcUrl,\n rpcs.alchemyJsonRpcUrl,\n rpcs.publicJsonRpcUrl,\n ]\n .filter((i) => i)\n .map((url) => http(url));\n\n if (fallbackTransports.length === 0) {\n fallbackTransports.push(http());\n }\n const chain = chainId === ChainId.MAINNET ? berachain : berachainBepolia;\n const client = createPublicClient({\n chain,\n transport: fallback(fallbackTransports),\n });\n\n _clients.set(chainId, client);\n\n return client;\n};\n","import BigNumber from \"@berachain/utils/pkg/bignumber.js\";\n\nexport const isDifferenceExceedingThreshold = (\n initialAmount: string,\n newAmount: string,\n threshold: number,\n) => {\n const upperBound = new BigNumber(1 + threshold).times(initialAmount);\n const lowerBound = new BigNumber(1 - threshold).times(initialAmount);\n return (\n upperBound.isLessThan(newAmount) || lowerBound.isGreaterThan(newAmount)\n );\n};\n","export function isSubgraphStale({\n lastBlockTimestamp,\n blockTime,\n}: {\n lastBlockTimestamp: number | null | undefined;\n blockTime: number;\n}) {\n if (!lastBlockTimestamp) return true;\n return lastBlockTimestamp < Date.now() / 1000 - blockTime * 10;\n}\n","import { BeraError } from \"../errors/BeraError\";\nimport { InvalidArgumentError } from \"../errors/InvalidArgumentError\";\nimport { RequestError } from \"../errors/RequestError\";\nimport { beraFetchJson } from \"./beraFetch\";\n\nconst LAYERZERO_SCAN_MAINNET_URL = \"https://api-mainnet.layerzero-scan.com\";\n\nexport enum LayerZeroMessageStatus {\n INFLIGHT = \"INFLIGHT\",\n DELIVERED = \"DELIVERED\",\n FAILED = \"FAILED\",\n}\n\nexport type LayerZeroMessage = {\n srcUaAddress: string;\n dstUaAddress: string;\n srcChainId: number;\n dstChainId: number;\n dstTxHash?: string;\n dstTxError?: string;\n srcTxHash?: string;\n srcBlockHash?: string;\n srcBlockNumber?: string;\n srcUaNonce: number;\n status: LayerZeroMessageStatus;\n};\n\nexport type LayerZeroDeliveredMessage = LayerZeroMessage & {\n dstTxHash: string;\n};\n\ntype GetMessagesBySrcTxHashResponse = {\n messages: LayerZeroMessage[];\n};\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nasync function getMessagesBySrcTxHash(\n srcTxHash: string,\n): Promise<GetMessagesBySrcTxHashResponse> {\n return beraFetchJson<GetMessagesBySrcTxHashResponse>({\n url: `${LAYERZERO_SCAN_MAINNET_URL}/tx/${srcTxHash}`,\n type: \"rest\",\n name: \"LayerZero Scan\",\n });\n}\n\nexport type WaitForMessageReceivedOptions = {\n pollInterval?: number;\n timeout?: number;\n};\n\n/**\n * Polls LayerZero scan API until the cross-chain message is delivered or fails.\n * HTTP errors are silently retried until timeout.\n *\n * @param srcTxHash - The source transaction hash to track\n * @param options - Configuration options\n * @param options.pollInterval - Polling interval in ms (default: 3000)\n * @param options.timeout - Timeout in ms (default: 600000 / 10 minutes)\n * @returns The delivered message with destination tx hash\n * @throws InvalidArgumentError if srcTxHash is missing\n * @throws BeraError if message fails, times out, or multiple messages found\n */\nexport async function waitForLayerZeroMessageReceived(\n srcTxHash: string,\n options: WaitForMessageReceivedOptions = {},\n): Promise<LayerZeroDeliveredMessage> {\n const { pollInterval = 3000, timeout = 600_000 } = options;\n\n if (!srcTxHash) {\n throw new InvalidArgumentError({\n property: \"srcTxHash\",\n value: srcTxHash,\n expected: \"string\",\n });\n }\n\n const startTime = Date.now();\n\n while (true) {\n // check timeout\n if (Date.now() - startTime > timeout) {\n throw new BeraError({\n message: `LayerZero message tracking timed out after ${timeout}ms`,\n reason: \"LAYERZERO_TIMEOUT\",\n level: \"warning\",\n });\n }\n\n try {\n const { messages } = await getMessagesBySrcTxHash(srcTxHash);\n const message = messages[0];\n\n if (messages.length > 1) {\n throw new BeraError({\n message: \"More than one LayerZero message found for transaction\",\n reason: \"LAYERZERO_MULTIPLE_MESSAGES\",\n });\n }\n\n if (message?.status === LayerZeroMessageStatus.FAILED) {\n throw new BeraError({\n message: `LayerZero message failed: ${message.dstTxError}`,\n reason: \"LAYERZERO_MESSAGE_FAILED\",\n });\n }\n\n if (message?.status === LayerZeroMessageStatus.DELIVERED) {\n return message as LayerZeroDeliveredMessage;\n }\n } catch (error) {\n // re-throw non-retryable errors (validation, timeout, failed message)\n // but allow RequestError to retry (network issues, temporary API errors)\n if (error instanceof BeraError && !(error instanceof RequestError)) {\n throw error;\n }\n }\n\n await sleep(pollInterval);\n }\n}\n","import type { TokenInfoFragmentFragment } from \"@berachain/graphql/bend/whisk\";\n\nimport type { TokenWithMetadata } from \"../types/dex\";\n\n/**\n * Parse a token from the Whisk API into a TokenWithMetadata object.\n *\n * @returns\n */\nexport function parseWhiskToken(token: TokenInfoFragmentFragment) {\n return {\n ...token,\n chainId: token.chain.id,\n } as const satisfies TokenWithMetadata;\n}\n","/**\n * Truncate a transaction or address hash and optionally format with uppercase letters and a lowercase 'x'.\n */\nexport const truncateHash = (\n address: `0x${string}` | string,\n startLength = 4,\n endLength = 4,\n formatUppercase = false,\n) => {\n if (!address) return \"\";\n\n const formattedAddress = formatUppercase\n ? address.toUpperCase().replace(/^0X/, \"0x\")\n : address;\n\n return `${formattedAddress.substring(\n 0,\n startLength,\n )}...${formattedAddress.substring(formattedAddress.length - endLength)}`;\n};\n","import { GqlValidatorBlockUptimeStatus } from \"@berachain/graphql/pol/api\";\n\n/**\n * Determines if a validator was the proposer for a specific block.\n * The proposer is responsible for creating and proposing new blocks to the network.\n *\n * @param status - The validator's block uptime status from the GraphQL API\n * @returns boolean\n */\nexport function isValidatorProposer(\n status: GqlValidatorBlockUptimeStatus | undefined,\n): boolean | undefined {\n if (!status) return undefined;\n return status === GqlValidatorBlockUptimeStatus.Proposed;\n}\n\n/**\n * Determines if a validator signed a specific block.\n * Block signers participate in consensus by validating and signing blocks.\n *\n * @param status - The validator's block uptime status from the GraphQL API\n * @returns boolean\n *\n */\nexport function isValidatorSigner(\n status: GqlValidatorBlockUptimeStatus | undefined,\n): boolean | undefined {\n if (!status) return undefined;\n return status === GqlValidatorBlockUptimeStatus.Signed;\n}\n"]}
@@ -1,412 +0,0 @@
1
- export { d as defaultBeraFlags } from '../defaultFlags-D6KfkTZx.cjs';
2
- import { R as RequestError } from '../RequestError-A8XJ6QR9.cjs';
3
- import BigNumber from '@berachain/utils/pkg/bignumber.js';
4
- import * as viem from 'viem';
5
- import { Address, PublicClient } from 'viem';
6
- import * as _berachain_config_internal from '@berachain/config/internal';
7
- import { ChainId, BeraConfig } from '@berachain/config/internal';
8
- import { I as IHoneySwapState } from '../useHoneySwapState-D6vpv19r.cjs';
9
- import * as _berachain_graphql_bend_whisk from '@berachain/graphql/bend/whisk';
10
- import { TokenInfoFragmentFragment } from '@berachain/graphql/bend/whisk';
11
- import * as _berachain_config from '@berachain/config';
12
- import { GqlValidatorBlockUptimeStatus } from '@berachain/graphql/pol/api';
13
- import '@berachain/config/internal/flags';
14
- import '@apollo/client';
15
- import '../BeraError-_mQdkanr.cjs';
16
- import 'react';
17
- import '../HoneyConfigProvider-DfkjmzEf.cjs';
18
- import 'react/jsx-runtime';
19
- import '@berachain-foundation/berancer-sdk';
20
- import '../honey-CYm0RWf4.cjs';
21
-
22
- type RequestOptions = RequestInit;
23
- declare function beraFetch(endpoint: ConstructorParameters<typeof RequestError>[0]["endpoint"], options?: RequestOptions): Promise<Response>;
24
- declare function beraFetchJson<T>(endpoint: ConstructorParameters<typeof RequestError>[0]["endpoint"], options?: RequestOptions): Promise<T>;
25
-
26
- declare const CAP_LIMIT_BUFFER: bigint;
27
- /**
28
- * Maximum allowed input for a custom deadline in seconds.
29
- * @type {number}
30
- */
31
- declare const MAX_CUSTOM_DEADLINE = 100000;
32
- /**
33
- * Minimum allowed input for a custom deadline in seconds.
34
- * @type {number}
35
- */
36
- declare const MIN_CUSTOM_DEADLINE = 1;
37
- /**
38
- * Minimum allowed input for a custom slippage tolerance percentage.
39
- * @type {number}
40
- */
41
- declare const MIN_CUSTOM_SLIPPAGE = 0.1;
42
- /**
43
- * Maximum allowed input for a custom slippage tolerance percentage.
44
- * @type {number}
45
- */
46
- declare const MAX_CUSTOM_SLIPPAGE = 50;
47
- /**
48
- * Default gas limit used by MetaMask
49
- * @see {@link https://github.com/MetaMask/metamask-extension/blob/06cf7459b963e26d0ae60312d4f9a342d07ab89d/ui/pages/confirmations/send/send.constants.js#L8}
50
- */
51
- declare const DEFAULT_METAMASK_GAS_LIMIT = 7920027n;
52
-
53
- declare const formatInputTokenValue: (inputValue: string) => string;
54
-
55
- type BigNumberValue = string | number | BigNumber;
56
- interface FormatNumberOptions {
57
- /** Number of visible decimal places */
58
- visibleDecimals?: number;
59
- /** Whether to use compact notation (K, M, B, etc.) */
60
- compact?: boolean;
61
- /** Show as percentage */
62
- percent?: boolean;
63
- /** Round down instead of normal rounding */
64
- roundDown?: boolean;
65
- /** Round up instead of normal rounding */
66
- roundUp?: boolean;
67
- /** Threshold above which compact notation is used */
68
- compactThreshold?: number;
69
- /** Maximum value to display (shows ∞ if exceeded) */
70
- maxValue?: number;
71
- /** Currency symbol (e.g., "USD" for $) */
72
- symbol?: string;
73
- /** Prefix text */
74
- prefixText?: string;
75
- /** Suffix text */
76
- suffixText?: string;
77
- /** Show "< min" or "> min" indicators for very small values */
78
- showIsSmallerThanMin?: boolean;
79
- /** Text to show if value is null/undefined */
80
- ifNullish?: string;
81
- }
82
- declare function formatNumber(value: BigNumberValue | undefined | null, options?: FormatNumberOptions | number): string;
83
- declare const getSafeNumber: (value: string | undefined) => number;
84
- declare const truncateDecimal: (value: string | number | undefined, maxDecimal: number) => string;
85
-
86
- declare function calculateTimestampFromDays(daysRange: number): number;
87
- declare function formatUnixTimestamp(unixTimestamp: number, isShort?: boolean): string;
88
- type LegacyArgs = [number, boolean?, boolean?, boolean?];
89
- type FormatTimeLeftArgs = [
90
- number,
91
- {
92
- condensed?: boolean;
93
- greaterUnit?: "days" | "hours" | "minutes";
94
- showSeconds?: boolean;
95
- }
96
- ];
97
- /**
98
- * Formats the time left into a string like "8 hours, 23 minutes".
99
- *
100
- * @param timeLeftInSeconds - The time left in seconds.
101
- * @returns A formatted string representing the time left.
102
- */
103
- declare function formatTimeLeft(...args: FormatTimeLeftArgs | LegacyArgs): string;
104
-
105
- /**
106
- * @deprecated use the FormattedNumber component instead
107
- */
108
- declare function formatUsd(input: string | number, hideDecimals?: boolean): string;
109
-
110
- /**
111
- * Get a human readable name for a contract address.
112
- */
113
- declare function getContractName({ address, chainId, }: {
114
- address: Address | undefined;
115
- chainId?: ChainId | "name";
116
- }): string | undefined;
117
-
118
- /**
119
- * Get the message shown in the transaction confirmation modal for honey swaps
120
- * @returns {string} The message
121
- */
122
- declare function getHoneySwapMessage({ collaterals, actionType, toAmount, fromAmount, isBasketModeEnabled, }: Pick<IHoneySwapState, "collaterals" | "actionType" | "toAmount" | "fromAmount" | "isBasketModeEnabled">): string;
123
-
124
- declare const getServerSidePublicClient: (args?: {
125
- chainId?: ChainId;
126
- }) => PublicClient;
127
-
128
- declare function getTestClient(chainId?: ChainId): {
129
- mode: "anvil";
130
- account: undefined;
131
- batch?: viem.ClientConfig["batch"] | undefined;
132
- cacheTime: number;
133
- ccipRead?: viem.ClientConfig["ccipRead"] | undefined;
134
- chain: undefined;
135
- dataSuffix?: viem.DataSuffix | undefined;
136
- experimental_blockTag?: viem.BlockTag | undefined;
137
- key: string;
138
- name: string;
139
- pollingInterval: number;
140
- request: viem.EIP1193RequestFn<viem.TestRpcSchema<"anvil">>;
141
- transport: viem.TransportConfig<"http", viem.EIP1193RequestFn> & {
142
- fetchOptions?: viem.HttpTransportConfig["fetchOptions"] | undefined;
143
- url?: string | undefined;
144
- };
145
- type: string;
146
- uid: string;
147
- dropTransaction: (args: viem.DropTransactionParameters) => Promise<void>;
148
- dumpState: () => Promise<viem.DumpStateReturnType>;
149
- getAutomine: () => Promise<viem.GetAutomineReturnType>;
150
- getTxpoolContent: () => Promise<viem.GetTxpoolContentReturnType>;
151
- getTxpoolStatus: () => Promise<viem.GetTxpoolStatusReturnType>;
152
- impersonateAccount: (args: viem.ImpersonateAccountParameters) => Promise<void>;
153
- increaseTime: (args: viem.IncreaseTimeParameters) => Promise<viem.Quantity>;
154
- inspectTxpool: () => Promise<viem.InspectTxpoolReturnType>;
155
- loadState: (args: viem.LoadStateParameters) => Promise<viem.LoadStateReturnType>;
156
- mine: (args: viem.MineParameters) => Promise<void>;
157
- removeBlockTimestampInterval: () => Promise<void>;
158
- reset: (args?: viem.ResetParameters | undefined) => Promise<void>;
159
- revert: (args: viem.RevertParameters) => Promise<void>;
160
- sendUnsignedTransaction: <chain extends viem.Chain | undefined>(args: viem.SendUnsignedTransactionParameters<chain>) => Promise<viem.SendUnsignedTransactionReturnType>;
161
- setAutomine: (args: boolean) => Promise<void>;
162
- setBalance: (args: viem.SetBalanceParameters) => Promise<void>;
163
- setBlockGasLimit: (args: viem.SetBlockGasLimitParameters) => Promise<void>;
164
- setBlockTimestampInterval: (args: viem.SetBlockTimestampIntervalParameters) => Promise<void>;
165
- setCode: (args: viem.SetCodeParameters) => Promise<void>;
166
- setCoinbase: (args: viem.SetCoinbaseParameters) => Promise<void>;
167
- setIntervalMining: (args: viem.SetIntervalMiningParameters) => Promise<void>;
168
- setLoggingEnabled: (args: boolean) => Promise<void>;
169
- setMinGasPrice: (args: viem.SetMinGasPriceParameters) => Promise<void>;
170
- setNextBlockBaseFeePerGas: (args: viem.SetNextBlockBaseFeePerGasParameters) => Promise<void>;
171
- setNextBlockTimestamp: (args: viem.SetNextBlockTimestampParameters) => Promise<void>;
172
- setNonce: (args: viem.SetNonceParameters) => Promise<void>;
173
- setRpcUrl: (args: string) => Promise<void>;
174
- setStorageAt: (args: viem.SetStorageAtParameters) => Promise<void>;
175
- snapshot: () => Promise<viem.Quantity>;
176
- stopImpersonatingAccount: (args: viem.StopImpersonatingAccountParameters) => Promise<void>;
177
- extend: <const client extends {
178
- [x: string]: unknown;
179
- account?: undefined;
180
- batch?: undefined;
181
- cacheTime?: undefined;
182
- ccipRead?: undefined;
183
- chain?: undefined;
184
- dataSuffix?: undefined;
185
- experimental_blockTag?: undefined;
186
- key?: undefined;
187
- name?: undefined;
188
- pollingInterval?: undefined;
189
- request?: undefined;
190
- transport?: undefined;
191
- type?: undefined;
192
- uid?: undefined;
193
- } & viem.ExactPartial<Pick<viem.PublicActions<viem.HttpTransport<undefined, false>, undefined, undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<viem.WalletActions<undefined, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: viem.Client<viem.HttpTransport<undefined, false>, undefined, undefined, viem.TestRpcSchema<"anvil">, {
194
- mode: "anvil";
195
- } & viem.TestActions>) => client) => viem.Client<viem.HttpTransport<undefined, false>, undefined, undefined, viem.TestRpcSchema<"anvil">, { [K in keyof client]: client[K]; } & {
196
- mode: "anvil";
197
- } & viem.TestActions>;
198
- };
199
-
200
- declare const isDifferenceExceedingThreshold: (initialAmount: string, newAmount: string, threshold: number) => boolean;
201
-
202
- declare function isSubgraphStale({ lastBlockTimestamp, blockTime, }: {
203
- lastBlockTimestamp: number | null | undefined;
204
- blockTime: number;
205
- }): boolean;
206
-
207
- declare enum LayerZeroMessageStatus {
208
- INFLIGHT = "INFLIGHT",
209
- DELIVERED = "DELIVERED",
210
- FAILED = "FAILED"
211
- }
212
- type LayerZeroMessage = {
213
- srcUaAddress: string;
214
- dstUaAddress: string;
215
- srcChainId: number;
216
- dstChainId: number;
217
- dstTxHash?: string;
218
- dstTxError?: string;
219
- srcTxHash?: string;
220
- srcBlockHash?: string;
221
- srcBlockNumber?: string;
222
- srcUaNonce: number;
223
- status: LayerZeroMessageStatus;
224
- };
225
- type LayerZeroDeliveredMessage = LayerZeroMessage & {
226
- dstTxHash: string;
227
- };
228
- type WaitForMessageReceivedOptions = {
229
- pollInterval?: number;
230
- timeout?: number;
231
- };
232
- /**
233
- * Polls LayerZero scan API until the cross-chain message is delivered or fails.
234
- * HTTP errors are silently retried until timeout.
235
- *
236
- * @param srcTxHash - The source transaction hash to track
237
- * @param options - Configuration options
238
- * @param options.pollInterval - Polling interval in ms (default: 3000)
239
- * @param options.timeout - Timeout in ms (default: 600000 / 10 minutes)
240
- * @returns The delivered message with destination tx hash
241
- * @throws InvalidArgumentError if srcTxHash is missing
242
- * @throws BeraError if message fails, times out, or multiple messages found
243
- */
244
- declare function waitForLayerZeroMessageReceived(srcTxHash: string, options?: WaitForMessageReceivedOptions): Promise<LayerZeroDeliveredMessage>;
245
-
246
- /**
247
- * Compute the price impact of a swap
248
- * @param {string} tokenInPrice - The price of the input token
249
- * @param {string} tokenOutPrice - The price of the output token
250
- * @param {string} inAmount - The amount of the input token
251
- * @param {string} outAmount - The amount of the output token
252
- * @returns {number} The price impact of the swap
253
- */
254
- declare const computePriceImpact: (tokenInPrice: string, tokenOutPrice: string, inAmount: string, outAmount: string) => number;
255
-
256
- declare function parseBaseArgs(args: BeraJS.BaseFunctionArgs): {
257
- config: BeraConfig;
258
- chainId: _berachain_config_internal.ChainId;
259
- };
260
-
261
- /**
262
- * Parse a token from the Whisk API into a TokenWithMetadata object.
263
- *
264
- * @returns
265
- */
266
- declare function parseWhiskToken(token: TokenInfoFragmentFragment): {
267
- readonly chainId: 80094;
268
- readonly __typename?: "Token";
269
- readonly address: `0x${string}`;
270
- readonly symbol: string;
271
- readonly decimals: number;
272
- readonly icon: string | null;
273
- readonly category: _berachain_graphql_bend_whisk.TokenCategory | null;
274
- readonly name: string;
275
- readonly chain: {
276
- __typename?: "Chain";
277
- id: 80094;
278
- };
279
- };
280
-
281
- declare const getPythDefaultUpdateFee: (tokenListLength: number) => bigint;
282
-
283
- /**
284
- * Convert milliseconds to seconds
285
- */
286
- declare function msToSeconds(ms: number): number;
287
- /**
288
- * Time utility functions for converting between different time units.
289
- *
290
- * This utility file provides functions to convert between seconds, minutes, hours, and days.
291
- * Note on naming conventions: We use "seconds" instead of "secondsToMs" because JavaScript
292
- * is typically based in milliseconds, so the conversion to milliseconds is the more common
293
- * and expected operation. We use "xxxInSeconds" when converting to second-based units.
294
- */
295
- /**
296
- * Convert seconds to milliseconds
297
- */
298
- declare function seconds(seconds: number): number;
299
- /**
300
- * Convert minutes to milliseconds
301
- */
302
- declare function minutes(minutes: number): number;
303
- /**
304
- * Convert minutes to seconds
305
- */
306
- declare function minutesInSeconds(minutes: number): number;
307
- /**
308
- * Convert hours to milliseconds
309
- */
310
- declare function hours(hours: number): number;
311
- /**
312
- * Convert hours to seconds
313
- */
314
- declare function hoursInSeconds(hours: number): number;
315
- /**
316
- * Convert days to milliseconds
317
- */
318
- declare function days(days: number): number;
319
- /**
320
- * Convert days to seconds
321
- */
322
- declare function daysInSeconds(days: number): number;
323
- /**
324
- * Convert weeks to milliseconds
325
- */
326
- declare function weeks(weeks: number): number;
327
- /**
328
- * Convert weeks to seconds
329
- */
330
- declare function weeksInSeconds(weeks: number): number;
331
- /**
332
- * Convert months to milliseconds using 30 days per month
333
- */
334
- declare function months(months: number): number;
335
- /**
336
- * Convert months to seconds using 30 days per month
337
- */
338
- declare function monthsInSeconds(months: number): number;
339
- /**
340
- * Convert years to milliseconds using 365 days per year
341
- */
342
- declare function years(years: number): number;
343
- /**
344
- * Convert years to seconds using 365 days per year
345
- */
346
- declare function yearsInSeconds(years: number): number;
347
-
348
- declare const beraToken: {
349
- readonly address: "0x0000000000000000000000000000000000000000";
350
- readonly decimals: 18;
351
- readonly name: "Bera";
352
- readonly symbol: "BERA";
353
- readonly logoURI: "https://imagedelivery.net/qNj7Q3MCke89zoKzav7eDQ/tokens/0x0000000000000000000000000000000000000000.png/public";
354
- };
355
- declare const wBeraToken: {
356
- readonly address: "0x6969696969696969696969696969696969696969";
357
- readonly decimals: 18;
358
- readonly name: "WBera";
359
- readonly symbol: "WBERA";
360
- };
361
- declare function getHoneyToken(baseArgs: BeraJS.BaseFunctionArgs): {
362
- readonly address: `0x${string}`;
363
- readonly symbol: "HONEY";
364
- readonly name: "Honey";
365
- readonly decimals: 18;
366
- readonly chainId: _berachain_config.ChainId;
367
- };
368
- type KnownTokens = "BERA" | "WBERA" | "BGT" | "HONEY" | "SWBERA" | "ETH";
369
- type BaseToken$1 = {
370
- address: Address | string;
371
- } | Address;
372
- type InputToken = BaseToken$1 | string | undefined;
373
- type IsTokenParams = [
374
- token: InputToken,
375
- compareTo: BaseToken$1 | Extract<KnownTokens, "BERA" | "WBERA" | "ETH" | "SWBERA">
376
- ] | [
377
- token: InputToken,
378
- compareTo: BaseToken$1 | KnownTokens,
379
- baseArgs: BeraJS.BaseFunctionArgs
380
- ];
381
- declare function isToken(...args: IsTokenParams): boolean;
382
-
383
- type BaseToken = {
384
- address: string;
385
- };
386
- declare function wrapNativeToken<T extends BaseToken>(token: T): T;
387
- declare function wrapNativeTokens<T extends BaseToken>(tokens: T[]): T[];
388
-
389
- /**
390
- * Truncate a transaction or address hash and optionally format with uppercase letters and a lowercase 'x'.
391
- */
392
- declare const truncateHash: (address: `0x${string}` | string, startLength?: number, endLength?: number, formatUppercase?: boolean) => string;
393
-
394
- /**
395
- * Determines if a validator was the proposer for a specific block.
396
- * The proposer is responsible for creating and proposing new blocks to the network.
397
- *
398
- * @param status - The validator's block uptime status from the GraphQL API
399
- * @returns boolean
400
- */
401
- declare function isValidatorProposer(status: GqlValidatorBlockUptimeStatus | undefined): boolean | undefined;
402
- /**
403
- * Determines if a validator signed a specific block.
404
- * Block signers participate in consensus by validating and signing blocks.
405
- *
406
- * @param status - The validator's block uptime status from the GraphQL API
407
- * @returns boolean
408
- *
409
- */
410
- declare function isValidatorSigner(status: GqlValidatorBlockUptimeStatus | undefined): boolean | undefined;
411
-
412
- export { type BigNumberValue, CAP_LIMIT_BUFFER, DEFAULT_METAMASK_GAS_LIMIT, type FormatNumberOptions, type LayerZeroDeliveredMessage, type LayerZeroMessage, LayerZeroMessageStatus, MAX_CUSTOM_DEADLINE, MAX_CUSTOM_SLIPPAGE, MIN_CUSTOM_DEADLINE, MIN_CUSTOM_SLIPPAGE, type WaitForMessageReceivedOptions, beraFetch, beraFetchJson, calculateTimestampFromDays, computePriceImpact, days, daysInSeconds, formatInputTokenValue, formatNumber, formatTimeLeft, formatUnixTimestamp, formatUsd, getContractName, getHoneySwapMessage, getHoneyToken, getPythDefaultUpdateFee, getSafeNumber, getServerSidePublicClient, getTestClient, hours, hoursInSeconds, beraToken as internal_beraToken, wBeraToken as internal_wBeraToken, isDifferenceExceedingThreshold, isSubgraphStale, isToken, isValidatorProposer, isValidatorSigner, minutes, minutesInSeconds, months, monthsInSeconds, msToSeconds, parseBaseArgs, parseWhiskToken, seconds, truncateDecimal, truncateHash, waitForLayerZeroMessageReceived, weeks, weeksInSeconds, wrapNativeToken, wrapNativeTokens, years, yearsInSeconds };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/formatInputTokenValue.ts","../../src/utils/formatUsd.ts","../../src/utils/getContractName.ts","../../src/data/contracts.ts","../../src/utils/getHoneySwapMessage.ts","../../src/utils/getServerSideClient.ts","../../src/utils/isDifferenceExceedingThreshold.ts","../../src/utils/isSubgraphStale.ts","../../src/utils/layerZeroScan.ts","../../src/utils/parseWhiskToken.ts","../../src/utils/truncateHash.ts","../../src/utils/validatorUptimeStatus.ts"],"sourcesContent":["export const formatInputTokenValue = (inputValue: string) => {\n if (inputValue === \"0\") return inputValue;\n // Remove all non-numeric characters except for the decimal point, and remove leading zeros\n let filteredValue = inputValue.replace(/^0+/, \"\").replaceAll(/[^0-9.]/g, \"\");\n\n // Keep the 0\n if (filteredValue.startsWith(\".\")) {\n filteredValue = `0${filteredValue}`;\n }\n\n return filteredValue;\n};\n","/**\n * @deprecated use the FormattedNumber component instead\n */\nexport function formatUsd(\n input: string | number,\n hideDecimals?: boolean,\n): string {\n const decimalsSettings = hideDecimals\n ? { minimumFractionDigits: 0, maximumFractionDigits: 0 }\n : {};\n const formatter = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n ...decimalsSettings,\n });\n try {\n const isNumber = (value: unknown): value is number =>\n typeof value === \"number\";\n const isString = (value: unknown): value is string =>\n typeof value === \"string\";\n\n if (!isNumber(input) && !isString(input)) {\n return formatter.format(0);\n }\n\n let num: number;\n\n if (isString(input)) {\n num = Number.parseFloat(input);\n\n if (Number.isNaN(num)) {\n num = 0;\n }\n } else {\n num = input;\n\n if (Number.isNaN(num)) {\n num = 0;\n }\n }\n return formatter.format(num);\n } catch (e) {\n console.log(e);\n return formatter.format(0);\n }\n}\n","import type { Address } from \"viem\";\n\nimport { type ChainId, defaultChainId } from \"@berachain/config/internal\";\n\nimport { contracts } from \"../data/contracts\";\n\n/**\n * Get a human readable name for a contract address.\n */\nexport function getContractName({\n address,\n chainId = defaultChainId,\n}: {\n address: Address | undefined;\n chainId?: ChainId | \"name\";\n}): string | undefined {\n if (!address) {\n return undefined;\n }\n\n const contract = contracts.find((contract) => {\n const contractAddress = contract[chainId as keyof typeof contract];\n return contractAddress?.toLowerCase() === address.toLowerCase();\n });\n\n return contract?.name;\n}\n","/**\n * This file is generated by the getContractNames.js script.\n * Do not edit this file manually, run `pnpm contracts:update` to update it.\n */\nexport const contracts = [\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x0000000000000000000000000000000000000000\",\n name: \"zeroAddress\",\n },\n {\n \"80094\": \"0x141De07E5D4C4759EC9301DA106115D4841f66cD\",\n name: \"nfts.bongBears\",\n },\n {\n \"80094\": \"0xA0CF472E6132F6B822a944f6F31aA7b261c7c375\",\n name: \"nfts.bondBears\",\n },\n {\n \"80094\": \"0xf49ec5db255854C4a567de5AB3826c9AAbaFc7cF\",\n name: \"nfts.booBears\",\n },\n {\n \"80094\": \"0xDDeAf391c4be2d01ca52aBb8C159a06820ef078C\",\n name: \"nfts.babyBears\",\n },\n {\n \"80094\": \"0x7711B2Eb2451259dbF211e30157ceB7CFeb79a19\",\n name: \"nfts.bandBears\",\n },\n {\n \"80094\": \"0x72D876D9cdf4001b836f8E47254d0551EdA2eebB\",\n name: \"nfts.bitBears\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x24147243f9c08d835C218Cda1e135f8dFD0517D0\",\n name: \"bend.morpho\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xcf247Df3A2322Dea0D408f011c194906E77a6f62\",\n name: \"bend.adaptiveCurveIrm\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xF920140A65D0f412f2AB3e76C4fEAB5Eef0657ae\",\n name: \"bend.bundler3\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xd2B9667F5214115E27937C410cAeE83E3a901Df7\",\n name: \"bend.generalAdapter1\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x5EDd48C6ACBd565Eeb31702FD9fa9Cbc86fbE616\",\n name: \"bend.metaMorphoFactoryV1_1\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x80108Ee81A92091Db6B8B2326B1875ce9388f461\",\n name: \"bend.metaFeePartitioner\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xB62F34Ab315eaDeAc698e8EaEB6Fc2650951BFe7\",\n name: \"bend.publicAllocator\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0xAf2FDC54f7bc9d6e8C2D2760E908f4e1beB04d9E\",\n name: \"bend.morphoChainlinkOracleV2Factory\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x46fE2bc33b661E01A8946BbC3Bf43F2B8382d802\",\n name: \"bend.urdFactory\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x30BbA9CD9Eb8c95824aa42Faa1Bb397b07545bc1\",\n name: \"bend.vaults.re7HoneyVault\",\n },\n {\n \"80069\": \"0xb0d005Fe83E3F1ec876C1a64700c5F0d6265d9E3\",\n \"80094\": \"0x77DA09bC82652f9A14d1b170a001e759640298e6\",\n name: \"pol.bgtIncentiveDistributor\",\n },\n {\n \"80069\": \"0x1984Baf659607Cc5f206c55BB3B00eb3E180190B\",\n \"80094\": \"0x1984Baf659607Cc5f206c55BB3B00eb3E180190B\",\n name: \"pol.bgtIncentiveFeeCollector\",\n },\n {\n \"80069\": \"0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a\",\n \"80094\": \"0x118D2cEeE9785eaf70C15Cd74CD84c9f8c3EeC9a\",\n name: \"pol.wberaStakerVault\",\n },\n {\n \"80069\": \"0x4242424242424242424242424242424242424242\",\n \"80094\": \"0x4242424242424242424242424242424242424242\",\n name: \"pol.beaconDeposit\",\n },\n {\n \"80069\": \"0xdf960E8F3F19C481dDE769edEDD439ea1a63426a\",\n \"80094\": \"0xdf960E8F3F19C481dDE769edEDD439ea1a63426a\",\n name: \"pol.berachef\",\n },\n {\n \"80069\": \"0x1AE7dD7AE06F6C58B4524d9c1f816094B1bcCD8e\",\n \"80094\": \"0x1AE7dD7AE06F6C58B4524d9c1f816094B1bcCD8e\",\n name: \"pol.blockRewardController\",\n },\n {\n \"80069\": \"0xD2f19a79b026Fb636A7c300bF5947df113940761\",\n \"80094\": \"0xD2f19a79b026Fb636A7c300bF5947df113940761\",\n name: \"pol.distributor\",\n },\n {\n \"80069\": \"0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8\",\n \"80094\": \"0x94Ad6Ac84f6C6FbA8b8CCbD71d9f4f101def52a8\",\n name: \"pol.rewardVaultFactory\",\n },\n {\n \"80069\": \"0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6\",\n \"80094\": \"0x44F07Ce5AfeCbCC406e6beFD40cc2998eEb8c7C6\",\n name: \"pol.bgtStaker\",\n },\n {\n \"80069\": \"0x7bb8DdaC7FbE3FFC0f4B3c73C4F158B06CF82650\",\n \"80094\": \"0x7Bb8DdaC7FbE3FFC0f4B3c73C4F158B06CF82650\",\n name: \"pol.feeCollector\",\n },\n {\n \"80069\": \"0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5\",\n \"80094\": \"0x4f4A5c2194B8e856b7a05B348F6ba3978FB6f6D5\",\n name: \"pol.governance\",\n },\n {\n \"80069\": \"0xb5f2000b5744f207c931526cAE2134cAa8b6862a\",\n \"80094\": \"0xb5f2000b5744f207c931526cAE2134cAa8b6862a\",\n name: \"pol.timelock\",\n },\n {\n \"80069\": \"0x176c081E95C82CA68DEa20CA419C7506Aa063C24\",\n \"80094\": \"0xb79b43dBA821Cb67751276Ce050fF4111445fB99\",\n name: \"stakingPools.stakingPoolContractsFactory\",\n },\n {\n \"80069\": \"0x8b472791aC2f9e9Bd85f8919401b8Ce3bdFd464c\",\n \"80094\": \"0xAd17932a5B1aaeEa73D277a6AE670623F176E0D0\",\n name: \"stakingPools.delegationHandlerFactory\",\n },\n {\n \"80069\": \"0xAFAc2f11Cb39F0521b22494F6101002ce653D2f4\",\n \"80094\": \"0xE858802Ed532C6DAD2D196AB5B1F2C15F9cb52b4\",\n name: \"stakingPools.withdrawalVault\",\n },\n {\n \"80069\": \"0x656b95E550C07a9ffe548bd4085c72418Ceb1dba\",\n \"80094\": \"0x656b95E550C07a9ffe548bd4085c72418Ceb1dba\",\n name: \"tokens.bgt\",\n },\n {\n \"80069\": \"0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce\",\n \"80094\": \"0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce\",\n name: \"tokens.honey\",\n },\n {\n \"80069\": \"0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401\",\n \"80094\": \"0xA4aFef880F5cE1f63c9fb48F661E27F8B4216401\",\n name: \"tokens.honeyFactory\",\n },\n {\n \"80069\": \"0x285e147060CDc5ba902786d3A471224ee6cE0F91\",\n \"80094\": \"0x285e147060CDc5ba902786d3A471224ee6cE0F91\",\n name: \"tokens.honeyFactoryReader\",\n },\n {\n \"80069\": \"0x6969696969696969696969696969696969696969\",\n \"80094\": \"0x6969696969696969696969696969696969696969\",\n name: \"tokens.wbera\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x549943e04f40284185054145c6E4e9568C1D3241\",\n name: \"tokens.usdc\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x0555E30da8f98308EdB960aa94C0Db47230d2B9c\",\n name: \"tokens.wbtc\",\n },\n {\n \"80069\": \"\",\n \"80094\": \"0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590\",\n name: \"tokens.weth\",\n },\n {\n \"80069\": \"0x708cA656b68A6b7384a488A36aD33505a77241FE\",\n \"80094\": \"0x4Be03f781C497A489E3cB0287833452cA9B9E80B\",\n name: \"bex.vault\",\n },\n {\n \"80069\": \"0x05A607aCf3548E84DD1E44c3706F850c849058Da\",\n \"80094\": \"0xB8Cf46Cf1b1476E707619913a70B2085d26f1707\",\n name: \"bex.protocolFeesCollector\",\n },\n {\n \"80069\": \"0xC7c981ADcDC5d48fed0CD52807fb2bAB22676C8f\",\n \"80094\": \"0x5083737EC75a728c265BE578C9d0d5333a2c5951\",\n name: \"bex.balancerHelpers\",\n },\n {\n \"80069\": \"0x0dC9964F6CA33d9EF38DEB4925234766127C6B36\",\n \"80094\": \"0x55dccE8165C88aAd4403a15A9cE3A8E244657dD2\",\n name: \"bex.poolCreationHelper\",\n },\n {\n \"80069\": \"0x8c2D77f0CfcD4Af9cF41494EfE500FE324012c06\",\n \"80094\": \"0x1635F0E1B3e8A6713d03aE155ba79458Ba3240C7\",\n name: \"bex.protocolFeesWithdrawer\",\n },\n {\n \"80069\": \"0xB60DbBaCEaeC23486a64d12089F467ef949f1bb1\",\n \"80094\": \"0xDfA30BDa0375d4763711AB0CC8D91B20bfCC87E1\",\n name: \"bex.stablePoolFactory\",\n },\n {\n \"80069\": \"0xfD772657FC8c4Ed3884AfF151b680883814052FA\",\n \"80094\": \"0xCB4AE3030bA06F7EEE54A7B96AfcA7457f9525cf\",\n name: \"bex.batchRelayerLibrary\",\n },\n {\n \"80069\": \"0x263a1C5B2c5851beA2177eb8D6caefdfF2A25601\",\n \"80094\": \"0x4151083172b2CEFB83A33fD7FC9F6cBabb3Fd08d\",\n name: \"bex.batchRelayerQueryLibrary\",\n },\n {\n \"80069\": \"0x343215E156Ff586711a5B8C49Fe3099BAF22624C\",\n \"80094\": \"0x6044f181aB5E9C05A4ed9Ce295f3B178d2492EE7\",\n name: \"bex.balancerRelayer\",\n },\n {\n \"80069\": \"0xf1d23276C7b271B2aC595C78977b2312E9954D57\",\n \"80094\": \"0xa966fA8F2d5B087FFFA499C0C1240589371Af409\",\n name: \"bex.weightedPoolFactory\",\n },\n {\n \"80069\": \"0x8119E412E00fe3c857739E95dB147817Bf615dB8\",\n \"80094\": \"0x33C88ffdEe710ed3908C791137Bd1D4421AabBBf\",\n name: \"bex.protocolFeePercentagesProvider\",\n },\n {\n \"80069\": \"0xE3723383a0EA73D5c0dE424BAA97F97f86f6cF92\",\n \"80094\": \"0x3C612e132624f4Bd500eE1495F54565F0bcc9b59\",\n name: \"bex.balancerQueries\",\n },\n {\n \"80069\": \"0x1453b808C88AAa5e5965f8d86123921E96F045Aa\",\n \"80094\": \"0x71047aE39A7aA4f7d923542F459e50B974644Ef2\",\n name: \"bex.authorizer\",\n },\n {\n \"80069\": \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n \"80094\": \"0x41675C099F32341bf84BFc5382aF534df5C7461a\",\n name: \"safe.safe\",\n },\n {\n \"80069\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n \"80094\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n name: \"safe.safeProxyFactory\",\n },\n {\n \"80069\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n \"80094\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n name: \"safe.multiSend\",\n },\n {\n \"80069\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n \"80094\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n name: \"safe.multiSendCallOnly\",\n },\n {\n \"80069\": \"0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99\",\n \"80094\": \"0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99\",\n name: \"safe.compatibilityFallbackHandler\",\n },\n {\n \"80069\": \"0xd53cd0aB83D845Ac265BE939c57F53AD838012c9\",\n \"80094\": \"0xd53cd0aB83D845Ac265BE939c57F53AD838012c9\",\n name: \"safe.signMessageLib\",\n },\n {\n \"80069\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n \"80094\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n name: \"safe.simulateTxAccessor\",\n },\n {\n \"80069\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n \"80094\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n name: \"safe.createCall\",\n },\n {\n \"80069\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n \"80094\": \"0x4e59b44847b379578588920cA78FbF26c0B4956C\",\n name: \"other.create2\",\n },\n {\n \"80069\": \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n \"80094\": \"0xcA11bde05977b3631167028862bE2a173976CA11\",\n name: \"other.multicall3\",\n },\n {\n \"80069\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n \"80094\": \"0x000000000022D473030F116dDEE9F6B43aC78BA3\",\n name: \"other.permit2\",\n },\n {\n \"80069\": \"0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2\",\n \"80094\": \"0xEe233a69A36Db7fC10E03e921D90DEC52Cdce6e2\",\n name: \"pol.rewardVaultHelper\",\n },\n {\n \"80069\": \"0x7f09Cf6958631513aF0400488F65c7B5c0313F52\",\n \"80094\": \"0xc8FD9a3fB3Dad4C22c9F8Cfa7cecC318A667A791\",\n name: \"pol.rewardAllocationFactory\",\n },\n {\n \"80069\": \"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b\",\n \"80094\": \"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b\",\n name: \"bex.balancerDelegatedOwnership\",\n },\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x1BDB1cf792419d2eaB5aBa8076B8f4257744fA58\",\n name: \"bex.aggregatorsRouter\",\n },\n {\n \"80069\": \"0x0000000000000000000000000000000000000000\",\n \"80094\": \"0x4AD3c5A427Af60F8Dd982023aE012233A66CA1f8\",\n name: \"bex.aggregatorsRouterExecutor\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x24aC999FF132B32c5b3956973b6213B0d07eB2C7\",\n name: \"bex.haikuRouter\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x69495273D6Dc572A830A4D6e00400a1e9d5B8f71\",\n name: \"bex.haikuAgentAddress\",\n },\n {\n \"80069\": \"0x0eFeC4379805fAFA7269Ec599a6921f388C8841a\",\n \"80094\": \"0xB5787B8f7b07a00229b617c4B7a616185857C147\",\n name: \"bex.recoverFundsContract\",\n },\n {\n \"80069\": \"0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943\",\n \"80094\": \"0x5CA67e134c52B1d11E038A5a4eD8Ddcdb1238943\",\n name: \"honey.pythOracle\",\n },\n {\n \"80069\": \"0xE5Ad9BA751714ec8cdd554b5a9f12BFcA13980cB\",\n \"80094\": \"0xF5686e448BE103beA465105bEb9d284a34ae7e95\",\n name: \"honey.pythWrapper\",\n },\n {\n \"80069\": \"0x2880aB155794e7179c9eE2e38200202908C17B43\",\n \"80094\": \"0x2880aB155794e7179c9eE2e38200202908C17B43\",\n name: \"external.pyth\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xC5FabF3a7E98a2ed89f5d5057Ab010634Ca7e71f\",\n name: \"bend.staging.morpho\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x1d5376e532CcF25b740270624111D665830E5dB9\",\n name: \"bend.staging.adaptiveCurveIrm\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x524061B659380a5e4576d76F0951303B20B5932f\",\n name: \"bend.staging.metaMorphoFactory\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xFD6e68bC20be2a01Ec1Df687c83f927087D52811\",\n name: \"bend.staging.publicAllocator\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x56811e1BFfF951B98c7940d3aCe0e549Ec4fDee8\",\n name: \"bend.staging.bundler3\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x257a41E20BBfe90D750646C2e00bA700D55958C5\",\n name: \"bend.staging.generalAdapter1\",\n },\n {\n \"80094\": \"0x19DcFf4e8Ff0B554D8a1f22d289A449fd4FbddBa\",\n name: \"bend.staging.supportedVaults.0\",\n },\n {\n \"80094\": \"0xC0808A144CE2ea85bF84EBD1dDF5D59429f59dDE\",\n name: \"bend.staging.supportedVaults.1\",\n },\n {\n \"80069\": null,\n \"80094\": \"0xc914a663837eb21c5a650716e015659686597e55\",\n name: \"enso.walletV2Factory\",\n },\n {\n \"80069\": null,\n \"80094\": \"0x5dE09823D9143886896507107590d9859F3E390b\",\n name: \"enso.walletFlashloanAdapter\",\n },\n] as const;\n","import type { IHoneySwapState } from \"../hooks/honey/useHoneySwapState\";\nimport { formatNumber } from \"./formatNumber\";\n\n/**\n * Get the message shown in the transaction confirmation modal for honey swaps\n * @returns {string} The message\n */\nexport function getHoneySwapMessage({\n collaterals,\n actionType,\n toAmount,\n fromAmount,\n isBasketModeEnabled,\n}: Pick<\n IHoneySwapState,\n | \"collaterals\"\n | \"actionType\"\n | \"toAmount\"\n | \"fromAmount\"\n | \"isBasketModeEnabled\"\n>): string {\n if (collaterals.length > 0) {\n if (actionType === \"mint\") {\n const msg = [\"Minting\"];\n msg.push(formatNumber(Number(toAmount[0]), 5));\n msg.push(\"Honey from\");\n if (isBasketModeEnabled) {\n for (const idx in collaterals) {\n msg.push(formatNumber(Number(fromAmount[idx]), 5));\n msg.push(`${collaterals[idx].symbol}`);\n if (+idx < collaterals.length - 2) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\",\");\n } else if (+idx === collaterals.length - 1) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\".\");\n } else {\n msg.push(\"and\");\n }\n }\n } else {\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(`${collaterals[0].symbol}`);\n }\n return msg.join(\" \");\n }\n const msg = [\"Redeeming\"];\n if (isBasketModeEnabled) {\n for (const idx in collaterals) {\n msg.push(formatNumber(Number(toAmount[idx]), 5));\n msg.push(`${collaterals[idx].symbol}`);\n if (+idx < collaterals.length - 2) {\n msg[msg.length - 1] = msg[msg.length - 1].concat(\",\");\n } else if (+idx === collaterals.length - 1) {\n msg.push(\"for\");\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(\"Honey.\");\n } else {\n msg.push(\"and\");\n }\n }\n } else {\n msg.push(formatNumber(Number(toAmount[0]), 5));\n msg.push(`${collaterals[0].symbol}`);\n msg.push(\"for\");\n msg.push(formatNumber(Number(fromAmount[0]), 5));\n msg.push(\"Honey.\");\n }\n return msg.join(\" \");\n }\n return \"\";\n}\n","import { createPublicClient, fallback, http, type PublicClient } from \"viem\";\nimport { berachain, berachainBepolia } from \"viem/chains\";\n\nimport {\n ChainId,\n defaultChainId,\n getRpcUrls,\n} from \"@berachain/config/internal\";\n\n/**\n * This is a singleton to avoid creating a new client for each request.\n *\n * A single client manages batch requests when parallel requests are made on different instances.\n */\nconst _clients: Map<ChainId, PublicClient> = new Map();\n\nexport const getServerSidePublicClient = (\n args: { chainId?: ChainId } = {},\n): PublicClient => {\n const chainId: ChainId = args.chainId ?? defaultChainId;\n\n if (_clients.has(chainId)) {\n return _clients.get(chainId)!;\n }\n\n const rpcs = getRpcUrls(chainId);\n const fallbackTransports = [\n rpcs.privateRcpUrl,\n rpcs.jsonRpcUrl,\n rpcs.alchemyJsonRpcUrl,\n rpcs.publicJsonRpcUrl,\n ]\n .filter((i) => i)\n .map((url) => http(url));\n\n if (fallbackTransports.length === 0) {\n fallbackTransports.push(http());\n }\n const chain = chainId === ChainId.MAINNET ? berachain : berachainBepolia;\n const client = createPublicClient({\n chain,\n transport: fallback(fallbackTransports),\n });\n\n _clients.set(chainId, client);\n\n return client;\n};\n","import BigNumber from \"@berachain/utils/pkg/bignumber.js\";\n\nexport const isDifferenceExceedingThreshold = (\n initialAmount: string,\n newAmount: string,\n threshold: number,\n) => {\n const upperBound = new BigNumber(1 + threshold).times(initialAmount);\n const lowerBound = new BigNumber(1 - threshold).times(initialAmount);\n return (\n upperBound.isLessThan(newAmount) || lowerBound.isGreaterThan(newAmount)\n );\n};\n","export function isSubgraphStale({\n lastBlockTimestamp,\n blockTime,\n}: {\n lastBlockTimestamp: number | null | undefined;\n blockTime: number;\n}) {\n if (!lastBlockTimestamp) return true;\n return lastBlockTimestamp < Date.now() / 1000 - blockTime * 10;\n}\n","import { BeraError } from \"../errors/BeraError\";\nimport { InvalidArgumentError } from \"../errors/InvalidArgumentError\";\nimport { RequestError } from \"../errors/RequestError\";\nimport { beraFetchJson } from \"./beraFetch\";\n\nconst LAYERZERO_SCAN_MAINNET_URL = \"https://api-mainnet.layerzero-scan.com\";\n\nexport enum LayerZeroMessageStatus {\n INFLIGHT = \"INFLIGHT\",\n DELIVERED = \"DELIVERED\",\n FAILED = \"FAILED\",\n}\n\nexport type LayerZeroMessage = {\n srcUaAddress: string;\n dstUaAddress: string;\n srcChainId: number;\n dstChainId: number;\n dstTxHash?: string;\n dstTxError?: string;\n srcTxHash?: string;\n srcBlockHash?: string;\n srcBlockNumber?: string;\n srcUaNonce: number;\n status: LayerZeroMessageStatus;\n};\n\nexport type LayerZeroDeliveredMessage = LayerZeroMessage & {\n dstTxHash: string;\n};\n\ntype GetMessagesBySrcTxHashResponse = {\n messages: LayerZeroMessage[];\n};\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nasync function getMessagesBySrcTxHash(\n srcTxHash: string,\n): Promise<GetMessagesBySrcTxHashResponse> {\n return beraFetchJson<GetMessagesBySrcTxHashResponse>({\n url: `${LAYERZERO_SCAN_MAINNET_URL}/tx/${srcTxHash}`,\n type: \"rest\",\n name: \"LayerZero Scan\",\n });\n}\n\nexport type WaitForMessageReceivedOptions = {\n pollInterval?: number;\n timeout?: number;\n};\n\n/**\n * Polls LayerZero scan API until the cross-chain message is delivered or fails.\n * HTTP errors are silently retried until timeout.\n *\n * @param srcTxHash - The source transaction hash to track\n * @param options - Configuration options\n * @param options.pollInterval - Polling interval in ms (default: 3000)\n * @param options.timeout - Timeout in ms (default: 600000 / 10 minutes)\n * @returns The delivered message with destination tx hash\n * @throws InvalidArgumentError if srcTxHash is missing\n * @throws BeraError if message fails, times out, or multiple messages found\n */\nexport async function waitForLayerZeroMessageReceived(\n srcTxHash: string,\n options: WaitForMessageReceivedOptions = {},\n): Promise<LayerZeroDeliveredMessage> {\n const { pollInterval = 3000, timeout = 600_000 } = options;\n\n if (!srcTxHash) {\n throw new InvalidArgumentError({\n property: \"srcTxHash\",\n value: srcTxHash,\n expected: \"string\",\n });\n }\n\n const startTime = Date.now();\n\n while (true) {\n // check timeout\n if (Date.now() - startTime > timeout) {\n throw new BeraError({\n message: `LayerZero message tracking timed out after ${timeout}ms`,\n reason: \"LAYERZERO_TIMEOUT\",\n level: \"warning\",\n });\n }\n\n try {\n const { messages } = await getMessagesBySrcTxHash(srcTxHash);\n const message = messages[0];\n\n if (messages.length > 1) {\n throw new BeraError({\n message: \"More than one LayerZero message found for transaction\",\n reason: \"LAYERZERO_MULTIPLE_MESSAGES\",\n });\n }\n\n if (message?.status === LayerZeroMessageStatus.FAILED) {\n throw new BeraError({\n message: `LayerZero message failed: ${message.dstTxError}`,\n reason: \"LAYERZERO_MESSAGE_FAILED\",\n });\n }\n\n if (message?.status === LayerZeroMessageStatus.DELIVERED) {\n return message as LayerZeroDeliveredMessage;\n }\n } catch (error) {\n // re-throw non-retryable errors (validation, timeout, failed message)\n // but allow RequestError to retry (network issues, temporary API errors)\n if (error instanceof BeraError && !(error instanceof RequestError)) {\n throw error;\n }\n }\n\n await sleep(pollInterval);\n }\n}\n","import type { TokenInfoFragmentFragment } from \"@berachain/graphql/bend/whisk\";\n\nimport type { TokenWithMetadata } from \"../types/dex\";\n\n/**\n * Parse a token from the Whisk API into a TokenWithMetadata object.\n *\n * @returns\n */\nexport function parseWhiskToken(token: TokenInfoFragmentFragment) {\n return {\n ...token,\n chainId: token.chain.id,\n } as const satisfies TokenWithMetadata;\n}\n","/**\n * Truncate a transaction or address hash and optionally format with uppercase letters and a lowercase 'x'.\n */\nexport const truncateHash = (\n address: `0x${string}` | string,\n startLength = 4,\n endLength = 4,\n formatUppercase = false,\n) => {\n if (!address) return \"\";\n\n const formattedAddress = formatUppercase\n ? address.toUpperCase().replace(/^0X/, \"0x\")\n : address;\n\n return `${formattedAddress.substring(\n 0,\n startLength,\n )}...${formattedAddress.substring(formattedAddress.length - endLength)}`;\n};\n","import { GqlValidatorBlockUptimeStatus } from \"@berachain/graphql/pol/api\";\n\n/**\n * Determines if a validator was the proposer for a specific block.\n * The proposer is responsible for creating and proposing new blocks to the network.\n *\n * @param status - The validator's block uptime status from the GraphQL API\n * @returns boolean\n */\nexport function isValidatorProposer(\n status: GqlValidatorBlockUptimeStatus | undefined,\n): boolean | undefined {\n if (!status) return undefined;\n return status === GqlValidatorBlockUptimeStatus.Proposed;\n}\n\n/**\n * Determines if a validator signed a specific block.\n * Block signers participate in consensus by validating and signing blocks.\n *\n * @param status - The validator's block uptime status from the GraphQL API\n * @returns boolean\n *\n */\nexport function isValidatorSigner(\n status: GqlValidatorBlockUptimeStatus | undefined,\n): boolean | undefined {\n if (!status) return undefined;\n return status === GqlValidatorBlockUptimeStatus.Signed;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,wBAAwB,CAAC,eAAuB;AAC3D,MAAI,eAAe,IAAK,QAAO;AAE/B,MAAI,gBAAgB,WAAW,QAAQ,OAAO,EAAE,EAAE,WAAW,YAAY,EAAE;AAG3E,MAAI,cAAc,WAAW,GAAG,GAAG;AACjC,oBAAgB,IAAI,aAAa;AAAA,EACnC;AAEA,SAAO;AACT;;;ACRO,SAAS,UACd,OACA,cACQ;AACR,QAAM,mBAAmB,eACrB,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,IACrD,CAAC;AACL,QAAM,YAAY,IAAI,KAAK,aAAa,SAAS;AAAA,IAC/C,OAAO;AAAA,IACP,UAAU;AAAA,IACV,GAAG;AAAA,EACL,CAAC;AACD,MAAI;AACF,UAAM,WAAW,CAAC,UAChB,OAAO,UAAU;AACnB,UAAM,WAAW,CAAC,UAChB,OAAO,UAAU;AAEnB,QAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,KAAK,GAAG;AACxC,aAAO,UAAU,OAAO,CAAC;AAAA,IAC3B;AAEA,QAAI;AAEJ,QAAI,SAAS,KAAK,GAAG;AACnB,YAAM,OAAO,WAAW,KAAK;AAE7B,UAAI,OAAO,MAAM,GAAG,GAAG;AACrB,cAAM;AAAA,MACR;AAAA,IACF,OAAO;AACL,YAAM;AAEN,UAAI,OAAO,MAAM,GAAG,GAAG;AACrB,cAAM;AAAA,MACR;AAAA,IACF;AACA,WAAO,UAAU,OAAO,GAAG;AAAA,EAC7B,SAAS,GAAG;AACV,YAAQ,IAAI,CAAC;AACb,WAAO,UAAU,OAAO,CAAC;AAAA,EAC3B;AACF;;;AC3CA,SAAuB,sBAAsB;;;ACEtC,IAAM,YAAY;AAAA,EACvB;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AAAA,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","names":["contract","msg","defaultChainId","LayerZeroMessageStatus"]}