@berachain/berajs 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/dist/{BeraError-D1HS_rbb.d.cts → BeraError-_mQdkanr.d.cts} +35 -10
  2. package/dist/{BeraError-D1HS_rbb.d.ts → BeraError-_mQdkanr.d.ts} +35 -10
  3. package/dist/HoneyConfigProvider-CK6mOKFH.d.ts +390 -0
  4. package/dist/HoneyConfigProvider-Ca3ouozs.d.cts +390 -0
  5. package/dist/{RequestError-D8AE6xnI.d.cts → RequestError-A8XJ6QR9.d.cts} +1 -1
  6. package/dist/{RequestError-m4jxyM7D.d.ts → RequestError-Dk97z8rm.d.ts} +1 -1
  7. package/dist/abi/exports.cjs +2 -0
  8. package/dist/abi/exports.cjs.map +1 -0
  9. package/dist/abi/{index.d.cts → exports.d.cts} +12369 -9122
  10. package/dist/abi/{index.d.ts → exports.d.ts} +12369 -9122
  11. package/dist/abi/exports.mjs +2 -0
  12. package/dist/abi/exports.mjs.map +1 -0
  13. package/dist/actions/exports.cjs +2 -0
  14. package/dist/actions/exports.cjs.map +1 -0
  15. package/dist/actions/{index.d.cts → exports.d.cts} +80 -107
  16. package/dist/actions/{index.d.ts → exports.d.ts} +80 -107
  17. package/dist/actions/exports.mjs +2 -0
  18. package/dist/actions/exports.mjs.map +1 -0
  19. package/dist/chunk-575OK77P.mjs +2 -0
  20. package/dist/chunk-575OK77P.mjs.map +1 -0
  21. package/dist/chunk-7GWTHOLO.mjs +2 -0
  22. package/dist/chunk-7GWTHOLO.mjs.map +1 -0
  23. package/dist/chunk-7SC4VD3U.cjs +2 -0
  24. package/dist/chunk-7SC4VD3U.cjs.map +1 -0
  25. package/dist/chunk-BHNQX4XC.mjs +2 -0
  26. package/dist/chunk-BHNQX4XC.mjs.map +1 -0
  27. package/dist/chunk-BOYZVULX.cjs +2 -0
  28. package/dist/chunk-BOYZVULX.cjs.map +1 -0
  29. package/dist/chunk-C3FHGFLK.mjs +2 -0
  30. package/dist/chunk-C3FHGFLK.mjs.map +1 -0
  31. package/dist/chunk-C3G5KXCH.mjs +2 -0
  32. package/dist/chunk-C3G5KXCH.mjs.map +1 -0
  33. package/dist/chunk-CYKCYPFR.cjs +2 -0
  34. package/dist/chunk-CYKCYPFR.cjs.map +1 -0
  35. package/dist/chunk-F4BKSBEM.mjs +2 -0
  36. package/dist/chunk-F4BKSBEM.mjs.map +1 -0
  37. package/dist/chunk-FL2N3XHK.cjs +2 -0
  38. package/dist/chunk-FL2N3XHK.cjs.map +1 -0
  39. package/dist/chunk-G6NA6NSM.mjs +4 -0
  40. package/dist/chunk-G6NA6NSM.mjs.map +1 -0
  41. package/dist/chunk-H2QSRMVS.mjs +2 -0
  42. package/dist/chunk-H2QSRMVS.mjs.map +1 -0
  43. package/dist/chunk-IJM76AWK.cjs +4 -0
  44. package/dist/chunk-IJM76AWK.cjs.map +1 -0
  45. package/dist/chunk-MTS5SZLA.mjs +2 -0
  46. package/dist/chunk-MTS5SZLA.mjs.map +1 -0
  47. package/dist/chunk-MUNAP5TM.cjs +2 -0
  48. package/dist/chunk-MUNAP5TM.cjs.map +1 -0
  49. package/dist/chunk-NAXAZJJY.mjs +2 -0
  50. package/dist/chunk-NAXAZJJY.mjs.map +1 -0
  51. package/dist/chunk-OGJMSGB2.mjs +2 -0
  52. package/dist/chunk-OGJMSGB2.mjs.map +1 -0
  53. package/dist/chunk-OIYXOKTT.cjs +2 -0
  54. package/dist/chunk-OIYXOKTT.cjs.map +1 -0
  55. package/dist/chunk-OS5AJMYJ.cjs +2 -0
  56. package/dist/chunk-OS5AJMYJ.cjs.map +1 -0
  57. package/dist/chunk-Q3SCM6WL.mjs +2 -0
  58. package/dist/chunk-Q3SCM6WL.mjs.map +1 -0
  59. package/dist/chunk-SWMJQOH6.cjs +2 -0
  60. package/dist/chunk-SWMJQOH6.cjs.map +1 -0
  61. package/dist/chunk-TEBJWAVU.mjs +2 -0
  62. package/dist/chunk-TEBJWAVU.mjs.map +1 -0
  63. package/dist/chunk-TJWKS54T.mjs +2 -0
  64. package/dist/chunk-TJWKS54T.mjs.map +1 -0
  65. package/dist/chunk-UQUWMHVF.cjs +2 -0
  66. package/dist/chunk-UQUWMHVF.cjs.map +1 -0
  67. package/dist/chunk-UXUWSRVV.cjs +2 -0
  68. package/dist/chunk-UXUWSRVV.cjs.map +1 -0
  69. package/dist/chunk-VP7XUOSI.cjs +2 -0
  70. package/dist/chunk-VP7XUOSI.cjs.map +1 -0
  71. package/dist/chunk-VXL2ZZ4X.cjs +2 -0
  72. package/dist/chunk-VXL2ZZ4X.cjs.map +1 -0
  73. package/dist/chunk-WRFDB3QJ.cjs +2 -0
  74. package/dist/chunk-WRFDB3QJ.cjs.map +1 -0
  75. package/dist/chunk-WTCBORPB.cjs +2 -0
  76. package/dist/chunk-WTCBORPB.cjs.map +1 -0
  77. package/dist/chunk-XNJLSA6P.cjs +2 -0
  78. package/dist/chunk-XNJLSA6P.cjs.map +1 -0
  79. package/dist/chunk-YQGZMWDT.mjs +2 -0
  80. package/dist/chunk-YQGZMWDT.mjs.map +1 -0
  81. package/dist/chunk-YXLFOEZN.mjs +2 -0
  82. package/dist/chunk-YXLFOEZN.mjs.map +1 -0
  83. package/dist/chunk-ZAKA4TGK.cjs +2 -0
  84. package/dist/chunk-ZAKA4TGK.cjs.map +1 -0
  85. package/dist/chunk-ZQRACIGR.mjs +2 -0
  86. package/dist/chunk-ZQRACIGR.mjs.map +1 -0
  87. package/dist/contexts/exports.cjs +2 -0
  88. package/dist/contexts/exports.cjs.map +1 -0
  89. package/dist/contexts/{index.d.ts → exports.d.cts} +19 -28
  90. package/dist/contexts/{index.d.cts → exports.d.ts} +19 -28
  91. package/dist/contexts/exports.mjs +2 -0
  92. package/dist/contexts/exports.mjs.map +1 -0
  93. package/dist/contracts-CQIPk0Jc.d.cts +74 -0
  94. package/dist/contracts-CQIPk0Jc.d.ts +74 -0
  95. package/dist/{defaultFlags-V-tJs2K8.d.cts → defaultFlags-d0kPbT0i.d.cts} +1 -1
  96. package/dist/{defaultFlags-V-tJs2K8.d.ts → defaultFlags-d0kPbT0i.d.ts} +1 -1
  97. package/dist/dex-C_BB0b0O.d.cts +37 -0
  98. package/dist/dex-C_BB0b0O.d.ts +37 -0
  99. package/dist/enum/exports.cjs +2 -0
  100. package/dist/enum/exports.cjs.map +1 -0
  101. package/dist/enum/exports.d.cts +24 -0
  102. package/dist/enum/exports.d.ts +24 -0
  103. package/dist/enum/exports.mjs +2 -0
  104. package/dist/enum/exports.mjs.map +1 -0
  105. package/dist/errors/exports.cjs +2 -0
  106. package/dist/errors/exports.cjs.map +1 -0
  107. package/dist/errors/exports.d.cts +385 -0
  108. package/dist/errors/exports.d.ts +385 -0
  109. package/dist/errors/exports.mjs +2 -0
  110. package/dist/{getValidatorQueuedOperatorAddress-9xY2RUGe.d.cts → getValidatorQueuedOperatorAddress-BX35p2Lv.d.ts} +125 -15
  111. package/dist/{getValidatorQueuedOperatorAddress-Ne2zoiiV.d.ts → getValidatorQueuedOperatorAddress-It0GsdvQ.d.cts} +125 -15
  112. package/dist/global.d-Ba-NIojH.d.cts +474 -0
  113. package/dist/global.d-By70bEv2.d.ts +474 -0
  114. package/dist/honey-CYm0RWf4.d.cts +14 -0
  115. package/dist/honey-CYm0RWf4.d.ts +14 -0
  116. package/dist/hooks/exports.cjs +4 -0
  117. package/dist/hooks/exports.cjs.map +1 -0
  118. package/dist/hooks/{index.d.cts → exports.d.cts} +223 -173
  119. package/dist/hooks/{index.d.ts → exports.d.ts} +223 -173
  120. package/dist/hooks/exports.mjs +4 -0
  121. package/dist/hooks/exports.mjs.map +1 -0
  122. package/dist/{BexStatusProvider-nS3NcdxI.d.cts → transactionStore-BvStaXf3.d.ts} +41 -1
  123. package/dist/{BexStatusProvider-nS3NcdxI.d.ts → transactionStore-CQrGYSY2.d.cts} +41 -1
  124. package/dist/{txnEnum-BQKDfaeH.d.cts → txnEnum-BYNbCxla.d.cts} +1 -0
  125. package/dist/{txnEnum-BQKDfaeH.d.ts → txnEnum-BYNbCxla.d.ts} +1 -0
  126. package/dist/types/exports.cjs +1 -0
  127. package/dist/types/exports.cjs.map +1 -0
  128. package/dist/types/exports.d.cts +58 -0
  129. package/dist/types/exports.d.ts +58 -0
  130. package/dist/types/exports.mjs +1 -0
  131. package/dist/{useHoneySwapState-C-9BV4VB.d.cts → useHoneySwapState-B-vmIP1b.d.cts} +1 -1
  132. package/dist/{useHoneySwapState-CUY5Sm1b.d.ts → useHoneySwapState-D1DKG_Of.d.ts} +1 -1
  133. package/dist/utils/exports.cjs +2 -0
  134. package/dist/utils/exports.cjs.map +1 -0
  135. package/dist/utils/{index.d.cts → exports.d.cts} +83 -20
  136. package/dist/utils/{index.d.ts → exports.d.ts} +83 -20
  137. package/dist/utils/exports.mjs +2 -0
  138. package/dist/utils/exports.mjs.map +1 -0
  139. package/package.json +16 -17
  140. package/src/abi/{index.ts → exports.ts} +3 -0
  141. package/src/abi/pol/LSTStakerVault.ts +2032 -0
  142. package/src/abi/utils/openChainErrors.ts +71 -30
  143. package/src/abi/utils/thirdwebMinimalAccount.ts +616 -0
  144. package/src/actions/clients/BeraApolloClient.ts +8 -6
  145. package/src/actions/dex/__tests__/aggregators.unit.test.ts +2 -5
  146. package/src/actions/dex/aggregators/base.ts +74 -16
  147. package/src/actions/dex/aggregators/bex.ts +54 -74
  148. package/src/actions/dex/aggregators/bgt.ts +31 -8
  149. package/src/actions/dex/aggregators/{enso.ts → enso/enso.ts} +18 -14
  150. package/src/actions/dex/aggregators/enso/ensoErc4626.debug.test.ts +37 -0
  151. package/src/actions/dex/aggregators/enso/ensoErc4626.ts +176 -0
  152. package/src/actions/dex/aggregators/erc4626.ts +122 -0
  153. package/src/actions/dex/aggregators/fly.ts +59 -53
  154. package/src/actions/dex/aggregators/haiku.ts +52 -54
  155. package/src/actions/dex/aggregators/honey.ts +54 -45
  156. package/src/actions/dex/aggregators/kyberswap.ts +41 -39
  157. package/src/actions/dex/aggregators/oogabooga.ts +47 -46
  158. package/src/actions/dex/aggregators/openOcean.ts +51 -46
  159. package/src/actions/dex/aggregators/wbera.ts +54 -42
  160. package/src/actions/dex/b-sdk.ts +5 -2
  161. package/src/actions/dex/getIsTokenExploited.ts +2 -2
  162. package/src/actions/enso/{zap.ts → getEnsoSwapBundle.ts} +4 -5
  163. package/src/actions/enso/getEnsoUserTokensWithBalances.debug.test.ts +73 -0
  164. package/src/actions/enso/{getEnsoUserToken.ts → getEnsoUserTokensWithBalances.ts} +42 -30
  165. package/src/actions/enso/util.ts +1 -1
  166. package/src/actions/{index.ts → exports.ts} +5 -0
  167. package/src/actions/governance/__tests__/checkProposalField.unit.test.ts +1 -1
  168. package/src/actions/governance/__tests__/getQuorum.integration.test.ts +1 -1
  169. package/src/actions/governance/checkProposalField.ts +1 -1
  170. package/src/actions/governance/computeActualStatus.ts +1 -1
  171. package/src/actions/governance/getBodyErrors.ts +1 -1
  172. package/src/actions/governance/getDecodedFunctionData.ts +1 -4
  173. package/src/actions/governance/getProposalDetails.ts +2 -2
  174. package/src/actions/governance/getProposalFromTx.ts +1 -2
  175. package/src/actions/governance/getProposalParams.ts +7 -8
  176. package/src/actions/governance/getQuorum.ts +1 -2
  177. package/src/actions/honey/getCollateralWeights.ts +1 -1
  178. package/src/actions/honey/getHoneyCollaterals.ts +1 -0
  179. package/src/actions/honey/getHoneyVaultsBalance.ts +51 -55
  180. package/src/actions/honey/getSwapPayload.ts +37 -35
  181. package/src/actions/honey/tests/pyth.integration.test.ts +0 -1
  182. package/src/actions/pol/__tests__/getAllValidators.integration.test.ts +1 -1
  183. package/src/actions/pol/getEarnedStakedBeraVault.ts +31 -0
  184. package/src/actions/pol/getGlobalData.ts +14 -13
  185. package/src/actions/pol/getLSTStakeConfig.ts +67 -0
  186. package/src/actions/pol/getMarkets.ts +1 -1
  187. package/src/actions/pol/getRewardProofsByValidator.ts +1 -1
  188. package/src/actions/pol/getRewardVaultIncentives.ts +3 -5
  189. package/src/actions/pol/getRewardVaults.ts +2 -3
  190. package/src/actions/pol/getSWBeraVaultMetadata.ts +7 -5
  191. package/src/actions/pol/getSWBeraWithdrawal.ts +41 -27
  192. package/src/actions/pol/getStakeWithdrawalCooldown.ts +5 -7
  193. package/src/actions/pol/getStakingDailyAssets.ts +21 -0
  194. package/src/actions/pol/getStakingTokenInformation.ts +3 -4
  195. package/src/actions/pol/getTotalStakedAmount.ts +47 -0
  196. package/src/actions/pol/getUserClaimableIncentives.ts +1 -1
  197. package/src/actions/pol/getUserVaults.ts +8 -6
  198. package/src/actions/pol/getUserVaultsBalance.ts +4 -16
  199. package/src/actions/prices/getTokenCurrentPrices.ts +8 -3
  200. package/src/actions/tokens/getAllowances.ts +68 -41
  201. package/src/actions/tokens/getTokenInformation.ts +4 -1
  202. package/src/actions/tokens/getTokens.ts +1 -1
  203. package/src/actions/tokens/getUnderlyingToken.ts +53 -0
  204. package/src/actions/tokens/getWalletBalances.integration.test.ts +53 -14
  205. package/src/actions/tokens/getWalletBalances.ts +69 -43
  206. package/src/actions/transactions/beraWriteContract.integration.test.ts +18 -6
  207. package/src/actions/transactions/beraWriteContract.ts +3 -3
  208. package/src/actions/validators/getUserActiveValidators.ts +2 -3
  209. package/src/actions/validators/getUserBoostsOnValidator.ts +2 -3
  210. package/src/contexts/BeraFlags/defaultFlags.ts +4 -0
  211. package/src/contexts/SwrFallback.tsx +13 -3
  212. package/src/contexts/TokensProvider.tsx +35 -8
  213. package/src/{hooks/transactions → contexts}/TransactionStoreContext.tsx +32 -4
  214. package/src/contexts/block-time-provider.tsx +1 -1
  215. package/src/contexts/{index.ts → exports.ts} +1 -1
  216. package/src/data/contracts.ts +16 -1
  217. package/src/enum/contracts.ts +13 -0
  218. package/src/enum/dex.ts +29 -0
  219. package/src/enum/{index.ts → exports.ts} +3 -0
  220. package/src/enum/governance.ts +61 -0
  221. package/src/enum/honey.ts +12 -0
  222. package/src/enum/txnEnum.ts +1 -0
  223. package/src/errors/BeraError.ts +50 -11
  224. package/src/errors/BeraMonitoring.ts +66 -0
  225. package/src/errors/BeraTracing.ts +79 -0
  226. package/src/errors/BeraTracing.unit.test.ts +198 -0
  227. package/src/errors/RequestError.ts +2 -2
  228. package/src/errors/assert.ts +4 -2
  229. package/src/errors/assert.unit.test.ts +6 -2
  230. package/src/errors/errorMap.ts +16 -6
  231. package/src/errors/{index.ts → exports.ts} +7 -0
  232. package/src/errors/getErrorMessage.ts +22 -3
  233. package/src/errors/getRevertReason.integration.test.ts +17 -5
  234. package/src/errors/getRevertReason.ts +41 -2
  235. package/src/errors/initBeraError.ts +52 -7
  236. package/src/errors/parseViemError.ts +114 -27
  237. package/src/errors/severity.ts +12 -0
  238. package/src/hooks/bend/useGetConvertToAssets.ts +3 -2
  239. package/src/hooks/dex/useAggregatorsQuotes.ts +126 -365
  240. package/src/hooks/dex/useAllUserPools.ts +1 -1
  241. package/src/hooks/dex/useApiPool.ts +1 -1
  242. package/src/hooks/dex/useCreatePool.ts +6 -5
  243. package/src/hooks/dex/useExploitedTokens.ts +1 -1
  244. package/src/hooks/dex/useLiquidityMismatch.ts +2 -5
  245. package/src/hooks/dex/useLpPosition.ts +21 -20
  246. package/src/hooks/dex/useMultipleTokenApprovalsWithSlippage.ts +40 -29
  247. package/src/hooks/dex/usePollPoolCreationRelayerApproval.ts +1 -1
  248. package/src/hooks/dex/usePoolEvents.ts +1 -1
  249. package/src/hooks/dex/usePools.ts +1 -1
  250. package/src/hooks/dex/usePriceImpact.ts +40 -0
  251. package/src/hooks/dex/useSingleAggregatorQuote.ts +350 -0
  252. package/src/hooks/enso/useBendZapSupply.ts +216 -0
  253. package/src/hooks/enso/useEnsoSwapBundle.ts +107 -0
  254. package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +43 -0
  255. package/src/hooks/enso/useZapStakeBera.ts +113 -0
  256. package/src/hooks/{index.ts → exports.ts} +18 -7
  257. package/src/hooks/governance/useCreateProposal.ts +8 -8
  258. package/src/hooks/governance/usePollAllProposals.ts +1 -1
  259. package/src/hooks/governance/usePollProposal.ts +1 -1
  260. package/src/hooks/governance/usePollProposalThreshold.ts +1 -1
  261. package/src/hooks/governance/usePollUserDelegates.ts +1 -1
  262. package/src/hooks/governance/useProposalState.ts +2 -2
  263. package/src/hooks/honey/useCappedGlobally.ts +2 -1
  264. package/src/hooks/honey/useCappedRelatively.ts +1 -1
  265. package/src/hooks/honey/useCollateralWeights.ts +2 -1
  266. package/src/hooks/honey/useHoneyAlerts.ts +11 -11
  267. package/src/hooks/honey/useHoneyBalances.ts +7 -3
  268. package/src/hooks/honey/useHoneyGlobalData.ts +2 -1
  269. package/src/hooks/honey/useHoneySwapState.ts +2 -1
  270. package/src/hooks/honey/useHoneyVaultsBalance.ts +1 -1
  271. package/src/hooks/honey/useIsBadCollateralAsset.ts +2 -1
  272. package/src/hooks/honey/useIsBasketModeEnabled.ts +1 -1
  273. package/src/hooks/honey/usePythLatestPrices.ts +1 -1
  274. package/src/hooks/pol/useOnChainRewardVault.ts +3 -2
  275. package/src/hooks/pol/usePollGlobalData.ts +1 -1
  276. package/src/hooks/pol/usePollMarkets.ts +1 -1
  277. package/src/hooks/pol/useQueuedBeraUnlock.ts +17 -15
  278. package/src/hooks/pol/useRewardTokenToBeraRate.ts +6 -3
  279. package/src/hooks/pol/useRewardVault.ts +1 -1
  280. package/src/hooks/pol/useRewardVaults.ts +1 -1
  281. package/src/hooks/pol/useSWBeraVaultMetadata.ts +35 -0
  282. package/src/hooks/pol/useStakedAPR.ts +38 -0
  283. package/src/hooks/pol/useStakedData.ts +117 -0
  284. package/src/hooks/pol/useStakedSnapshots.ts +52 -0
  285. package/src/hooks/pol/useTotalStakedAmount.ts +30 -0
  286. package/src/hooks/pol/useUserVaultInfo.ts +1 -1
  287. package/src/hooks/pol/useVaultValidators.ts +1 -1
  288. package/src/hooks/tokens/useMultipleTokenInformation.ts +15 -6
  289. package/src/hooks/tokens/usePollAllowances.ts +15 -19
  290. package/src/hooks/tokens/usePollBalance.ts +8 -4
  291. package/src/hooks/tokens/usePollWalletBalances.ts +14 -11
  292. package/src/hooks/tokens/useStakingTokenInformation.ts +2 -1
  293. package/src/hooks/tokens/useTokenCurrentPrice.ts +4 -2
  294. package/src/hooks/tokens/useTokenCurrentPrices.ts +92 -13
  295. package/src/hooks/tokens/useTokenInformation.ts +11 -6
  296. package/src/hooks/tokens/useTokenPrice.ts +21 -0
  297. package/src/hooks/tokens/useTokenPrices.ts +133 -0
  298. package/src/hooks/tokens/useTokens.ts +1 -0
  299. package/src/hooks/tokens/useUnderlyingAsset.ts +23 -0
  300. package/src/hooks/transactions/transactionStore.ts +86 -65
  301. package/src/hooks/transactions/transactionStore.unit.test.ts +54 -1
  302. package/src/hooks/transactions/useAddRecentTransaction.ts +1 -1
  303. package/src/hooks/transactions/useRecentTransactions.ts +1 -1
  304. package/src/hooks/transactions/useSetTransactionStatus.ts +31 -0
  305. package/src/hooks/useContractWrite/useBeraContractWrite.ts +2 -1
  306. package/src/hooks/validators/useAllValidators.ts +1 -1
  307. package/src/hooks/validators/useApiValidator.ts +1 -1
  308. package/src/hooks/validators/useDailyValidatorBlockStats.ts +1 -1
  309. package/src/hooks/validators/useManagedValidatorByAccount.ts +1 -1
  310. package/src/hooks/validators/useManagedValidatorRole.ts +1 -1
  311. package/src/hooks/validators/useOnChainValidator.ts +1 -1
  312. package/src/hooks/validators/useStakingPoolBatch.ts +1 -1
  313. package/src/hooks/validators/useUserActiveValidators.ts +1 -1
  314. package/src/hooks/validators/useUserBoostsOnValidator.ts +1 -1
  315. package/src/hooks/validators/useUserClaimableIncentives.ts +8 -8
  316. package/src/hooks/validators/useValidator.ts +1 -1
  317. package/src/hooks/validators/useValidatorAnalytics.ts +1 -1
  318. package/src/hooks/validators/useValidatorCommission.ts +1 -1
  319. package/src/hooks/validators/useValidatorQueuedCommission.ts +1 -1
  320. package/src/hooks/validators/useValidatorQueuedOperatorAddress.ts +1 -1
  321. package/src/hooks/validators/useValidatorQueuedRewardAllocation.ts +1 -1
  322. package/src/hooks/validators/useValidatorRewardAllocation.ts +1 -1
  323. package/src/types/{dex.ts → dex.d.ts} +96 -67
  324. package/src/types/{enso.ts → enso.d.ts} +1 -1
  325. package/src/types/exports.ts +8 -0
  326. package/src/types/{global.ts → global.d.ts} +1 -30
  327. package/src/types/{governance.ts → governance.d.ts} +2 -64
  328. package/src/types/{honeySwap.ts → honeySwap.d.ts} +1 -13
  329. package/src/types/{pol.ts → pol.d.ts} +12 -1
  330. package/src/types/staking.d.ts +22 -0
  331. package/src/utils/createEmitter.ts +122 -0
  332. package/src/utils/createEmitter.unit.test.ts +149 -0
  333. package/src/utils/{index.ts → exports.ts} +3 -2
  334. package/src/utils/filter.ts +34 -0
  335. package/src/utils/formatNumber.ts +1 -1
  336. package/src/utils/formatNumber.unit.test.ts +2 -1
  337. package/src/utils/formatTokenList.ts +4 -10
  338. package/src/utils/getHoneySwapMessage.test.ts +1 -2
  339. package/src/utils/getServerSideClient.ts +4 -5
  340. package/src/utils/isDifferenceExceedingThreshold.ts +1 -1
  341. package/src/utils/layerZeroScan.ts +122 -0
  342. package/src/utils/math.ts +1 -1
  343. package/src/utils/parseWhiskToken.ts +15 -0
  344. package/src/utils/poolNamings.ts +1 -1
  345. package/src/utils/tokens.ts +23 -7
  346. package/dist/HoneyConfigProvider-6PXZJMSU.d.cts +0 -562
  347. package/dist/HoneyConfigProvider-CwDFrt02.d.ts +0 -562
  348. package/dist/abi/index.cjs +0 -2
  349. package/dist/abi/index.cjs.map +0 -1
  350. package/dist/abi/index.mjs +0 -2
  351. package/dist/actions/index.cjs +0 -2
  352. package/dist/actions/index.cjs.map +0 -1
  353. package/dist/actions/index.mjs +0 -2
  354. package/dist/aggregatorsRouter-Cny4B_MB.d.cts +0 -593
  355. package/dist/aggregatorsRouter-Cny4B_MB.d.ts +0 -593
  356. package/dist/chunk-22MQVFHP.cjs +0 -2
  357. package/dist/chunk-22MQVFHP.cjs.map +0 -1
  358. package/dist/chunk-3TKSVFZ3.mjs +0 -2
  359. package/dist/chunk-3TKSVFZ3.mjs.map +0 -1
  360. package/dist/chunk-6VF3RF53.cjs +0 -3
  361. package/dist/chunk-6VF3RF53.cjs.map +0 -1
  362. package/dist/chunk-6W22TFYA.mjs +0 -2
  363. package/dist/chunk-6W22TFYA.mjs.map +0 -1
  364. package/dist/chunk-AMRJ4B36.mjs +0 -2
  365. package/dist/chunk-AMRJ4B36.mjs.map +0 -1
  366. package/dist/chunk-DS2ZDVKU.mjs +0 -2
  367. package/dist/chunk-DS2ZDVKU.mjs.map +0 -1
  368. package/dist/chunk-ED43NYSE.cjs +0 -2
  369. package/dist/chunk-ED43NYSE.cjs.map +0 -1
  370. package/dist/chunk-EU4WFADK.cjs +0 -2
  371. package/dist/chunk-EU4WFADK.cjs.map +0 -1
  372. package/dist/chunk-HCTFDGXL.mjs +0 -2
  373. package/dist/chunk-HCTFDGXL.mjs.map +0 -1
  374. package/dist/chunk-IOSYBHKU.mjs +0 -2
  375. package/dist/chunk-IOSYBHKU.mjs.map +0 -1
  376. package/dist/chunk-JMKLDDKY.cjs +0 -2
  377. package/dist/chunk-JMKLDDKY.cjs.map +0 -1
  378. package/dist/chunk-KMKUXP2S.mjs +0 -3
  379. package/dist/chunk-KMKUXP2S.mjs.map +0 -1
  380. package/dist/chunk-OJXJ6CZ4.mjs +0 -4
  381. package/dist/chunk-OJXJ6CZ4.mjs.map +0 -1
  382. package/dist/chunk-PHIOKO3A.mjs +0 -2
  383. package/dist/chunk-PHIOKO3A.mjs.map +0 -1
  384. package/dist/chunk-QCK474XD.cjs +0 -2
  385. package/dist/chunk-QCK474XD.cjs.map +0 -1
  386. package/dist/chunk-REDXXUK7.cjs +0 -2
  387. package/dist/chunk-REDXXUK7.cjs.map +0 -1
  388. package/dist/chunk-S74ZMG2G.cjs +0 -2
  389. package/dist/chunk-S74ZMG2G.cjs.map +0 -1
  390. package/dist/chunk-TOAXF4YW.cjs +0 -2
  391. package/dist/chunk-TOAXF4YW.cjs.map +0 -1
  392. package/dist/chunk-UZ5CB33M.cjs +0 -2
  393. package/dist/chunk-UZ5CB33M.cjs.map +0 -1
  394. package/dist/chunk-VYWYJR63.mjs +0 -2
  395. package/dist/chunk-VYWYJR63.mjs.map +0 -1
  396. package/dist/chunk-XFPTQMAK.cjs +0 -4
  397. package/dist/chunk-XFPTQMAK.cjs.map +0 -1
  398. package/dist/chunk-YK4NINF5.mjs +0 -2
  399. package/dist/chunk-YK4NINF5.mjs.map +0 -1
  400. package/dist/contexts/index.cjs +0 -2
  401. package/dist/contexts/index.cjs.map +0 -1
  402. package/dist/contexts/index.mjs +0 -2
  403. package/dist/contexts/index.mjs.map +0 -1
  404. package/dist/enum/index.cjs +0 -2
  405. package/dist/enum/index.cjs.map +0 -1
  406. package/dist/enum/index.d.cts +0 -31
  407. package/dist/enum/index.d.ts +0 -31
  408. package/dist/enum/index.mjs +0 -2
  409. package/dist/enum/index.mjs.map +0 -1
  410. package/dist/errors/index.cjs +0 -2
  411. package/dist/errors/index.cjs.map +0 -1
  412. package/dist/errors/index.d.cts +0 -204
  413. package/dist/errors/index.d.ts +0 -204
  414. package/dist/errors/index.mjs +0 -2
  415. package/dist/errors/index.mjs.map +0 -1
  416. package/dist/hooks/index.cjs +0 -4
  417. package/dist/hooks/index.cjs.map +0 -1
  418. package/dist/hooks/index.mjs +0 -4
  419. package/dist/hooks/index.mjs.map +0 -1
  420. package/dist/staking-F9Nx9TKD.d.ts +0 -246
  421. package/dist/staking-f4BpYH7l.d.cts +0 -246
  422. package/dist/types/index.cjs +0 -2
  423. package/dist/types/index.cjs.map +0 -1
  424. package/dist/types/index.d.cts +0 -56
  425. package/dist/types/index.d.ts +0 -56
  426. package/dist/types/index.mjs +0 -2
  427. package/dist/types/index.mjs.map +0 -1
  428. package/dist/utils/index.cjs +0 -2
  429. package/dist/utils/index.cjs.map +0 -1
  430. package/dist/utils/index.mjs +0 -2
  431. package/dist/utils/index.mjs.map +0 -1
  432. package/src/actions/dex/getTransactionCount.ts +0 -29
  433. package/src/actions/enso/bend.ts +0 -143
  434. package/src/actions/enso/getEnsoUserToken.debug.test.ts +0 -57
  435. package/src/contexts/berajsProvider/context.tsx +0 -49
  436. package/src/contexts/berajsProvider/index.ts +0 -2
  437. package/src/contexts/berajsProvider/useBeraJs.ts +0 -18
  438. package/src/hooks/dex/usePollVaultIsPaused.ts +0 -30
  439. package/src/hooks/enso/useBendTransactionRequests.ts +0 -247
  440. package/src/hooks/enso/useEnsoZap.ts +0 -166
  441. package/src/hooks/enso/useZapTransactionRequests.ts +0 -81
  442. package/src/hooks/pol/useEarnedStakedBeraVault.ts +0 -59
  443. package/src/hooks/pol/useStakedBeraSnapshots.ts +0 -27
  444. package/src/hooks/validators/validatorRoleManager.ts +0 -0
  445. package/src/types/index.ts +0 -8
  446. package/src/types/staking.ts +0 -7
  447. package/src/utils/formatAggregatorsQuotes.ts +0 -57
  448. package/src/utils/formatAggregatorsQuotes.unit.test.ts +0 -191
  449. package/src/utils/sentryBeforeSend.ts +0 -52
  450. /package/dist/{abi/index.mjs.map → errors/exports.mjs.map} +0 -0
  451. /package/dist/{actions/index.mjs.map → types/exports.mjs.map} +0 -0
  452. /package/src/actions/dex/{__tests__ → aggregators}/haiku.integration.test.ts +0 -0
  453. /package/src/types/{bribe-boost.ts → bribe-boost.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ import{c as T,e as a}from"./chunk-YQGZMWDT.mjs";function m(e){return{...e,...a(e,"BERA")&&T}}function d(e){return e.map(r=>m(r))}import s from"@berachain/utils/pkg/bignumber.js";var g=(e,r,i,o)=>{if(!e||!r||!i||!o)return 0;let t=new s(e).times(i),n=new s(r).times(o);if(t.lt(.01)||n.lt(.01)||t.isZero()||n.isZero())return 0;let u=n.div(t);return Number(new s(1).minus(u).toFixed())};export{m as a,d as b,g as c};
2
+ //# sourceMappingURL=chunk-H2QSRMVS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/tokenWrapping.ts","../src/utils/math.ts"],"sourcesContent":["import { isToken, wBeraToken } from \"./tokens\";\n\ntype BaseToken = {\n address: string;\n};\n\nexport function wrapNativeToken<T extends BaseToken>(token: T): T {\n return {\n ...token,\n ...(isToken(token, \"BERA\") && wBeraToken),\n };\n}\n\nexport function wrapNativeTokens<T extends BaseToken>(tokens: T[]): T[] {\n return tokens.map((token) => wrapNativeToken(token));\n}\n","import BigNumber from \"@berachain/utils/pkg/bignumber.js\";\n\n/**\n * Compute the price impact of a swap\n * @param {string} tokenInPrice - The price of the input token\n * @param {string} tokenOutPrice - The price of the output token\n * @param {string} inAmount - The amount of the input token\n * @param {string} outAmount - The amount of the output token\n * @returns {number} The price impact of the swap\n */\nexport const computePriceImpact = (\n tokenInPrice: string,\n tokenOutPrice: string,\n inAmount: string,\n outAmount: string,\n): number => {\n if (!tokenInPrice || !tokenOutPrice || !inAmount || !outAmount) return 0;\n\n const usdIn = new BigNumber(tokenInPrice).times(inAmount);\n const usdOut = new BigNumber(tokenOutPrice).times(outAmount);\n\n // is the amount is close to 0, return 0\n if (usdIn.lt(0.01) || usdOut.lt(0.01)) return 0;\n if (usdIn.isZero() || usdOut.isZero()) return 0;\n\n const ratio = usdOut.div(usdIn);\n return Number(new BigNumber(1).minus(ratio).toFixed());\n};\n"],"mappings":"gDAMO,SAASA,EAAqCC,EAAa,CAChE,MAAO,CACL,GAAGA,EACH,GAAIC,EAAQD,EAAO,MAAM,GAAKE,CAChC,CACF,CAEO,SAASC,EAAsCC,EAAkB,CACtE,OAAOA,EAAO,IAAKJ,GAAUD,EAAgBC,CAAK,CAAC,CACrD,CCfA,OAAOK,MAAe,oCAUf,IAAMC,EAAqB,CAChCC,EACAC,EACAC,EACAC,IACW,CACX,GAAI,CAACH,GAAgB,CAACC,GAAiB,CAACC,GAAY,CAACC,EAAW,MAAO,GAEvE,IAAMC,EAAQ,IAAIN,EAAUE,CAAY,EAAE,MAAME,CAAQ,EAClDG,EAAS,IAAIP,EAAUG,CAAa,EAAE,MAAME,CAAS,EAI3D,GADIC,EAAM,GAAG,GAAI,GAAKC,EAAO,GAAG,GAAI,GAChCD,EAAM,OAAO,GAAKC,EAAO,OAAO,EAAG,MAAO,GAE9C,IAAMC,EAAQD,EAAO,IAAID,CAAK,EAC9B,OAAO,OAAO,IAAIN,EAAU,CAAC,EAAE,MAAMQ,CAAK,EAAE,QAAQ,CAAC,CACvD","names":["wrapNativeToken","token","isToken","wBeraToken","wrapNativeTokens","tokens","BigNumber","computePriceImpact","tokenInPrice","tokenOutPrice","inAmount","outAmount","usdIn","usdOut","ratio"]}
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var _chunkVP7XUOSIcjs = require('./chunk-VP7XUOSI.cjs');var _chunkBOYZVULXcjs = require('./chunk-BOYZVULX.cjs');var _chunkUQUWMHVFcjs = require('./chunk-UQUWMHVF.cjs');var _chunkMUNAP5TMcjs = require('./chunk-MUNAP5TM.cjs');var _chunkOS5AJMYJcjs = require('./chunk-OS5AJMYJ.cjs');var _chunk7SC4VD3Ucjs = require('./chunk-7SC4VD3U.cjs');var _viem = require('viem');async function Oa({sharesAmount:e,vaultAddress:t,publicClient:r}){let a=await r.readContract({address:t,abi:_chunkVP7XUOSIcjs.a,functionName:"convertToAssets",args:[e]});return{raw:a,formatted:_viem.formatEther.call(void 0, a)}}var _client = require('@apollo/client');var _internal = require('@berachain/config/internal');var Ae=class extends _client.ApolloClient{constructor(t){super(t),this.url=t.url}async query(t){let r=Lt(t.query),a={url:this.url,type:"graphql"},o={"operation.type":"query","operation.source.url":a.url,"operation.source.type":a.type,"operation.source.queryName":r};try{let i=()=>super.query(t),l=await _chunkBOYZVULXcjs.a.startSpan({name:`GraphQL ${r}`,op:"BeraApolloClient.query",attributes:o},i);if(l.error||l.data===void 0)throw new (0, _chunk7SC4VD3Ucjs.e)({level:"fatal",tags:o,message:"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none"});return{data:l.data}}catch(i){throw!_internal.appConfig.env.isProduction&&console.error("BeraApolloClient error",i),_client.ServerError.is(i)?new (0, _chunk7SC4VD3Ucjs.f)({response:i.response,cause:i,statusCode:i.statusCode,endpoint:a,tags:o}):i instanceof TypeError?new (0, _chunk7SC4VD3Ucjs.f)({level:"fatal",reason:"TypeError",response:i,cause:i,endpoint:a,tags:o}):new (0, _chunk7SC4VD3Ucjs.f)({response:i,tags:o,cause:i,endpoint:a})}}};function Lt(e){return _optionalChain([e, 'access', _2 => _2.definitions, 'access', _3 => _3.find, 'call', _4 => _4(r=>r.kind==="OperationDefinition"), 'optionalAccess', _5 => _5.name, 'optionalAccess', _6 => _6.value])}var _http = require('@apollo/client/link/http');var _config = require('@berachain/config');var _api = require('@berachain/graphql/dex/api'); var _api2 = _interopRequireDefault(_api);function _t(e){if(!_internal.currentDapp)return e;let t=typeof e=="string"?void 0:e.headers;return{uri:_config.getUriFromLink.call(void 0, e),headers:{...t,"x-graphql-client-name":`berachain.${_internal.currentDapp}.${process.env.NEXT_RUNTIME||"browser"}`,"x-graphql-client-version":`${process.env.VERCEL_TARGET_ENV}.${process.env.VERCEL_GIT_COMMIT_SHA}`}}}function Y(e,{ssrMode:t,inMemoryCacheOptions:r}={}){let a=_config.getUriFromLink.call(void 0, e),o=typeof e=="string"?void 0:e.headers;return new Ae({url:a,link:new (0, _http.HttpLink)({uri:a,headers:o}),defaultOptions:{query:{errorPolicy:"none",fetchPolicy:"no-cache"}},cache:new (0, _client.InMemoryCache)(r),ssrMode:t})}function g(e,{...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t);switch(e){case"api":return Y(_t(r.api),{inMemoryCacheOptions:{possibleTypes:_api2.default.possibleTypes}});case"bend.whisk":if(!r.bend.whiskApi)throw new (0, _chunk7SC4VD3Ucjs.e)({message:"Bend whisk API is not configured on this chain",level:"error"});return Y(r.bend.whiskApi);case"honey.subgraph":return Y(r.honey.subgraph);case"pol.subgraph":return Y(r.pol.subgraph);case"governance.subgraph":return Y(r.governance.subgraph);case"blocks.subgraph":return Y(r.blocksSubgraph);case"bex.subgraph":return Y(r.bex.subgraph)}}var _bignumberjs = require('@berachain/utils/pkg/bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);var rt= (_class =class e{static __initStatic() {this.PATH_NOT_FOUND_REASON="NO_SWAP_PATHS"}__init() {this.needsAccountForQuote=!1}__init2() {this.notFoundMessages=[]}constructor(t={}){;_class.prototype.__init.call(this);_class.prototype.__init2.call(this);_class.prototype.__init3.call(this);let{config:r,chainId:a}=_chunkOS5AJMYJcjs.a.call(void 0, t);this.config=r,this.chainId=a}__init3() {this.url=""}parseAddresses(t,r){if(!_viem.isAddress.call(void 0, t)||!_viem.isAddress.call(void 0, r))throw new (0, _chunk7SC4VD3Ucjs.e)({message:`Invalid address: ${t} or ${r}`,level:"error"});return{tokenInAddress:_chunkOS5AJMYJcjs.e.call(void 0, t,"BERA")?this.config.tokens.wbera:t,tokenOutAddress:_chunkOS5AJMYJcjs.e.call(void 0, r,"BERA")?this.config.tokens.wbera:r,isTokenInNative:_chunkOS5AJMYJcjs.e.call(void 0, t,"BERA"),isTokenOutNative:_chunkOS5AJMYJcjs.e.call(void 0, r,"BERA")}}getAmountAfterFees(t,r){if(r===void 0)throw new (0, _chunk7SC4VD3Ucjs.e)({message:"aggregatorsFeeBps is required",level:"error"});let a=new (0, _bignumberjs2.default)(t).times(r).dividedBy(1e4).toFixed(0,_bignumberjs2.default.ROUND_DOWN);return new (0, _bignumberjs2.default)(t).minus(a).toFixed(0,_bignumberjs2.default.ROUND_DOWN)}getInputData({tokenIn:t,amountIn:r,isNative:a,isPermit2Approval:o=!1,permit2SpenderAddress:i}){return{tokenIn:t,amountIn:BigInt(r),isNative:a,isPermit2Approval:o,permit2SpenderAddress:_nullishCoalesce(i, () => (_viem.zeroAddress))}}getMinAmountOut(t,r){if(r===void 0)throw new (0, _chunk7SC4VD3Ucjs.e)({message:"slippage is required",level:"error"});let a=new (0, _bignumberjs2.default)(t).times(1-r/100);return a.isNaN()||a.isZero()?0n:BigInt(a.toFixed(0))}parseAllowanceRequirements({tokenIn:t,rawAmount:r,spender:a}){return _chunkOS5AJMYJcjs.e.call(void 0, t,"BERA")?[]:[{token:t,amount:{raw:r,formatted:_viem.formatUnits.call(void 0, BigInt(r),t.decimals)},spender:a}]}checkChainSupport({tokenIn:t,tokenOut:r}){return this.supportedChains===null?!0:this.supportedChains.includes(t.chainId)&&this.supportedChains.includes(r.chainId)}assertChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}){if(!this.checkChainSupport({tokenIn:t,tokenOut:r,underlyingToken:a}))throw new (0, _chunk7SC4VD3Ucjs.e)({message:`${this.name} does not support tokens chain ID: ${t.chainId} and ${r.chainId}`,level:"error"})}async fetch(t,r){try{return await _chunkMUNAP5TMcjs.b.call(void 0, {url:t,name:this.name,type:this.type},{method:"GET",headers:{"Content-Type":"application/json"},...r})}catch(a){let o=_chunkUQUWMHVFcjs.a.call(void 0, {cause:a});throw this.notFoundMessages.some(i=>o.message.includes(i))&&(o.reason=e.PATH_NOT_FOUND_REASON),o}}}, _class.__initStatic(), _class);var _berancersdk = require('@berachain-foundation/berancer-sdk');var _chains = require('viem/chains');for(let e of Object.keys(_internal.chainConfigs)){let{config:t,chainId:r}=_chunkOS5AJMYJcjs.a.call(void 0, {chainId:Number(e)});_berancersdk.API_CHAIN_NAMES[r]=t.bex.chainName,_berancersdk.CHAINS[r]=r===_chains.berachain.id?_chains.berachain:_chains.berachainBepolia,_berancersdk.BALANCER_RELAYER[r]=t.bex.relayer,_berancersdk.VAULT[r]=t.bex.vault,_berancersdk.BALANCER_QUERIES[r]=t.bex.queries,_berancersdk.WEIGHTED_POOL_FACTORY_BALANCER_V2[r]=_viem.zeroAddress,_berancersdk.COMPOSABLE_STABLE_POOL_FACTORY[r]=_viem.zeroAddress;let a=new (0, _berancersdk.Token)(r,_viem.zeroAddress,_chunkOS5AJMYJcjs.b.decimals,_chunkOS5AJMYJcjs.b.name,_chunkOS5AJMYJcjs.b.symbol,t.tokens.wbera);_berancersdk.NATIVE_ASSETS[r]=a}var _api3 = require('@berachain/graphql/pol/api');async function ko({textSearch:e,chain:t,first:r,orderBy:a,orderDirection:o,skip:i,fetchPolicy:l,userAddress:n,blacklistedPoolIds:s,...d}={}){let{config:u}=_chunkOS5AJMYJcjs.a.call(void 0, d),f=await g("api",d).query({query:_api.GetPools,variables:{textSearch:e,chain:_nullishCoalesce(t, () => (u.bex.chainName)),first:r,orderBy:_nullishCoalesce(a, () => (_api3.GqlPoolOrderBy.TotalLiquidity)),orderDirection:_nullishCoalesce(o, () => (_api3.GqlPoolOrderDirection.Desc)),skip:i,userAddress:n,blacklistedPoolIds:s},fetchPolicy:l});return{pools:_nullishCoalesce(f.data.poolGetPools, () => ([])),count:_nullishCoalesce(f.data.count, () => (0))}}async function Eo({poolId:e,account:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),l=(await g("api",r).query({query:_api.GetPool,variables:{id:e,userAddress:t,chain:a.bex.chainName},fetchPolicy:"no-cache"})).data.poolGetPool;if(!l)throw new Error(`Pool not found for id: ${e} and user ${t}`);return l}async function Qo(e={}){let{config:t}=_chunkOS5AJMYJcjs.a.call(void 0, e);return(await g("api",e).query({query:_api.GetGlobalLiquidityAndSwapVolume,variables:{chain:t.bex.chainName}})).data}async function ot({publicClient:e,poolAddress:t}){let r=_berancersdk.weightedPoolV4Abi_V2,a=await e.multicall({contracts:[{address:t,abi:r,functionName:"inRecoveryMode"},{address:t,abi:r,functionName:"getPausedState"}],allowFailure:!1});return{isPoolInRecoveryMode:a[0],isPoolPaused:a[1][0]}}async function Ko({poolId:e,publicClient:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=e.slice(0,42);if(!_viem.isAddress.call(void 0, o)||!_viem.isHex.call(void 0, e))throw new (0, _chunk7SC4VD3Ucjs.g)({property:"poolId",value:e,expected:"Hex"});try{let[i,l,n,s,d,u,m,f,b]=await Promise.all([t.readContract({address:o,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:a.bex.vault,abi:_berancersdk.vaultV2Abi,functionName:"getPoolTokens",args:[e]}),t.readContract({address:o,abi:_viem.erc20Abi,functionName:"totalSupply"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getSwapFeePercentage"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"version"}),t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"decimals"}),t.readContract({address:a.bex.factories.composableStable,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),t.readContract({address:a.bex.factories.weighted,abi:_berancersdk.weightedPoolFactoryAbi_V3,functionName:"isPoolFromFactory",args:[o]}),ot({publicClient:t,poolAddress:o})]),p=Number(u),A=JSON.parse(d),C,V,y;if(m?[C,y]=await Promise.all([t.readContract({address:o,abi:[{type:"function",name:"getActualSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]}],functionName:"getActualSupply"}),t.readContract({address:o,abi:_berancersdk.stablePoolAbi_V3,functionName:"getAmplificationParameter"})]):A.name==="WeightedPool"&&(V=await t.readContract({address:o,abi:_berancersdk.weightedPoolV4Abi_V2,functionName:"getNormalizedWeights"})),!m&&!f)throw new Error(`Pool ${o} is not a valid BEX pool`);return{name:i,address:o,id:e,poolTokens:[l[0],l[1].map(String),Number(l[2])],totalSupply:_viem.formatUnits.call(void 0, _nullishCoalesce(C, () => (n)),p),swapFee:_viem.formatEther.call(void 0, s),decimals:p,weights:_optionalChain([V, 'optionalAccess', _7 => _7.map, 'call', _8 => _8(I=>_viem.formatEther.call(void 0, I))]),version:A,factory:m?a.bex.factories.composableStable:a.bex.factories.weighted,type:m?_api3.GqlPoolType.Stable:_api3.GqlPoolType.Weighted,amplificationParameter:y?[Number(y[0]),y[1],Number(y[2])]:void 0,pausedState:b}}catch(i){throw _chunkUQUWMHVFcjs.a.call(void 0, {cause:i})}}async function en({poolId:e,typeInArray:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);return(await g("api",r).query({query:_api.GetPoolEvents,variables:{poolId:e,typeIn:t,chain:a.bex.chainName}})).data}async function sn({poolId:e,chain:t,...r}){if(!e||!_viem.isHex.call(void 0, e))throw new (0, _chunk7SC4VD3Ucjs.g)({property:"poolId",value:e,expected:"hex string"});let a=g("api",r),{data:o}=await a.query({query:_api.GetPoolHistoricalData,variables:{poolId:e,chain:t}});return o.poolGetSnapshots}var _subgraph = require('@berachain/graphql/dex/subgraph');async function mn({poolId:e,...t}){if(!_viem.isHex.call(void 0, e))throw new Error("poolId is not a valid hex string");return(await g("bex.subgraph",t).query({query:_subgraph.GetSubgraphPool,variables:{id:e}})).data.pool}var ae=({fieldOrType:e,value:t,required:r=!0,baseUrl:a,components:o})=>{if(!["bool","string"].includes(e)&&r&&(t==null||t===""))return"Required";if(e.startsWith("uint")||e.startsWith("int")){if(typeof t!="string")return"Invalid amount";try{let l=BigInt(t);if(e.startsWith("uint")&&l<0n)return"Negative amount"}catch (e2){return"Invalid amount"}return null}switch(e){case"string":return t!==void 0&&typeof t!="string"?"Invalid amount":null;case"bool":return typeof t!="boolean"?"Invalid amount":null;case"title":return t.length===0?"Required":null;case"description":return t.length===0?"Required":null;case"forumLink":if(t.length===0)return"Required";if(!URL.canParse(t))return"Invalid address";let l=new URL(a);return t.startsWith(l.toString())?null:"Must be a berachain forum link";case"address":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"hex":return _viem.isHex.call(void 0, t,{strict:!0})?null:"Invalid address";case"abi":try{JSON.parse(t)}catch (e3){return"Invalid ABI"}return null;case"action":return _viem.isAddress.call(void 0, t,{strict:!0})?null:"Invalid address";case"tuple":if(typeof t=="object"&&Array.isArray(o)){let n={};for(let s of o)n[s.name]=ae({fieldOrType:s.type,value:t[s.name],components:s.components});return Object.values(n).every(s=>s===null)?null:n}return null;case"tuple[]":if(Array.isArray(t)){let n=t.map(s=>ae({fieldOrType:"tuple",value:s,components:o}));return n.every(s=>s===null)?null:n}return null;case"logoURI":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS or IPFS";case"url":return t===void 0||t===""||URL.canParse(t)&&new URL(t).protocol==="https:"?null:"Must be HTTPS";default:return console.error(`Invalid field or type: ${e}`),null}};var _governance = require('@berachain/graphql/governance');var Pr=!1,yn= exports.p =[_governance.ProposalStatus.Active,_governance.ProposalStatus.PendingQueue,_governance.ProposalStatus.PendingExecution,_governance.ProposalStatus.Defeated,_governance.ProposalStatus.QuorumNotReached];function we(e,t){let r=Date.now()/1e3;if(t!==void 0){if(e.status===_governance.ProposalStatus.CanceledByGuardian)return _governance.ProposalStatus.CanceledByGuardian;if(t===2)return Number(e.voteStartAt)<r?_governance.ProposalStatus.CanceledByUser:_governance.ProposalStatus.CanceledByGuardian;if(t===3)return e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Defeated:_governance.ProposalStatus.QuorumNotReached;if(t===4)return _governance.ProposalStatus.PendingQueue;if(t===5)return Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:_governance.ProposalStatus.InQueue;if(t===6)return console.warn("Unexpected expired state on proposal id: ",e.id),_governance.ProposalStatus.Defeated}return e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:Pr&&t===1&&e.quorum&&BigInt(e.quorum)<BigInt(e.pollResult.totalTowardsQuorum)&&Number(e.pollResult.forPercentage)>Number(e.pollResult.againstPercentage)?_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.Pending?Number(e.voteStartAt)<r&&Number(e.voteEndAt)>r?_governance.ProposalStatus.Active:Number(e.voteEndAt)<r?e.pollResult?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:_optionalChain([e, 'access', _9 => _9.pollResult, 'optionalAccess', _10 => _10.against])>_optionalChain([e, 'access', _11 => _11.pollResult, 'optionalAccess', _12 => _12.for])?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:_governance.ProposalStatus.QuorumNotReached:_governance.ProposalStatus.Pending:e.status===_governance.ProposalStatus.Active&&Number(e.voteEndAt)<r?!e.quorum||BigInt(e.quorum)>BigInt(e.pollResult.totalTowardsQuorum)?_governance.ProposalStatus.QuorumNotReached:BigInt(_nullishCoalesce(_optionalChain([e, 'access', _13 => _13.pollResult, 'optionalAccess', _14 => _14.against]), () => (0n)))>BigInt(_nullishCoalesce(_optionalChain([e, 'access', _15 => _15.pollResult, 'optionalAccess', _16 => _16.for]), () => (0n)))?_governance.ProposalStatus.Defeated:_governance.ProposalStatus.PendingQueue:e.status===_governance.ProposalStatus.InQueue&&Number(e.queueEnd)<Date.now()/1e3?_governance.ProposalStatus.PendingExecution:e.status}async function Pn({where:e,orderBy:t,orderDirection:r,offset:a=0,perPage:o=20,text:i,...l}){try{if(o>1e3)throw new Error("perPage must be less than 1000");let n=g("governance.subgraph",l),[s]=await Promise.all([i?n.query({query:_governance.SearchProposals,variables:{offset:a,limit:o,where:e,text:i}}):n.query({query:_governance.GetProposals,variables:{offset:a,limit:o,where:e,orderBy:t,orderDirection:r}})]);return s.data.proposals.map(d=>({...d,status:we(d)}))}catch(n){throw console.error("getAllProposals:",n),n}}var Vn=(e,t)=>{let r={};return r.title=ae({fieldOrType:"title",value:e.title}),r.description=ae({fieldOrType:"description",value:e.description}),r.forumLink=ae({fieldOrType:"forumLink",value:e.forumLink,baseUrl:t.forumLink}),r};async function Gn({proposalId:e,...t}){let a=await g("governance.subgraph",t).query({query:_governance.GetProposal,variables:{id:e}});if(a.data.proposal)return{...a.data.proposal,status:we(a.data.proposal)}}var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var Rr=e=>{let t=/#(?:([\w-]+)# )?(.+)\n([\s\S]*)/,r=e.match(t);if(r){let a=r[1]||null,o=r[2],i=r[3].replace(`
2
+ `,"<br />");return{type:a,title:o,content:i}}throw new Error("Invalid proposal body")},dt= exports.u =e=>{if(!e)return{isFrontMatter:!1,data:{title:"Loading..."},content:"",matter:"",language:"",orig:"",stringify:()=>""};let t=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _17 => _17.description]), () => (""));if(_graymatter2.default.test(t))return{..._graymatter2.default.call(void 0, t),isFrontMatter:!0};try{let r=Rr(t);return{isFrontMatter:!1,data:{title:r.title},content:r.content,matter:"",language:"",orig:t,stringify:()=>t}}catch (e4){return{isFrontMatter:!1,data:{title:_optionalChain([e, 'optionalAccess', _18 => _18.description, 'optionalAccess', _19 => _19.split, 'call', _20 => _20(`
3
+ `), 'access', _21 => _21[0], 'access', _22 => _22.slice, 'call', _23 => _23(0,100)])},content:t,matter:"",language:"",orig:t,stringify:()=>t}}};async function Un(e){_chunkUQUWMHVFcjs.c.call(void 0, e.publicClient);let t;"tx"in e?t=e.tx:t=await e.publicClient.getTransactionReceipt({hash:e.txHash});let r=_optionalChain([t, 'optionalAccess', _24 => _24.logs])?_optionalChain([_viem.parseEventLogs.call(void 0, {abi:_chunkVP7XUOSIcjs.c,logs:t.logs,eventName:"ProposalCreated"}), 'optionalAccess', _25 => _25.at, 'call', _26 => _26(0)]):void 0;if(!t||!r)return null;let a=await e.publicClient.getBlock({blockNumber:t.blockNumber}),o=dt({description:_optionalChain([r, 'optionalAccess', _27 => _27.args, 'access', _28 => _28.description])});return{id:String(r.args.proposalId),proposalId:String(_optionalChain([r, 'optionalAccess', _29 => _29.args, 'access', _30 => _30.proposalId])),createdAt:a.timestamp.toString(),title:o.data.title,createdAtBlock:a.timestamp.toString(),voteStartAt:String(_optionalChain([r, 'optionalAccess', _31 => _31.args, 'access', _32 => _32.voteStart])),voteEndAt:String(_optionalChain([r, 'optionalAccess', _33 => _33.args, 'access', _34 => _34.voteEnd])),proposer:_optionalChain([r, 'optionalAccess', _35 => _35.args, 'access', _36 => _36.proposer]),description:o.content,unverifiedForumLink:o.data.forumLink,pollResult:{for:"0",forVotersCount:0,forPercentage:"0",against:"0",againstVotersCount:0,againstPercentage:"0",abstain:"0",abstainVotersCount:0,abstainPercentage:"0",total:"0",totalVotersCount:0,totalTowardsQuorum:"0"},status:_governance.ProposalStatus.Pending,quorum:null,topics:o.data.topics,votes:[],executableCalls:_optionalChain([r, 'optionalAccess', _37 => _37.args, 'access', _38 => _38.targets, 'access', _39 => _39.map, 'call', _40 => _40((i,l)=>({__typename:"ExecutableCall",id:`${t.transactionHash}-${l}`,target:i,value:String(_optionalChain([r, 'optionalAccess', _41 => _41.args, 'access', _42 => _42.values, 'access', _43 => _43[l]])),calldata:_optionalChain([r, 'optionalAccess', _44 => _44.args, 'access', _45 => _45.calldatas, 'access', _46 => _46[l]])}))]),timelock:void 0}}async function Mn({variables:e,...t}){return g("governance.subgraph",t).query({query:_governance.GetProposalVotes,variables:e})}var _honey = require('@berachain/graphql/honey');async function $n({days:e,...t}){return(await g("honey.subgraph",t).query({query:_honey.GetChartData,variables:{interval:_honey.Aggregation_Interval.Day,first:e}})).data}async function zn({client:e,collateralList:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"getWeights"});return t.reduce((l,n,s)=>Object.assign(l,{[n.address]:o[s]}),{})}catch(o){throw console.log(o),o}}async function mt({address:e,publicClient:t,chainId:r}){try{if(!t)throw new Error("Public client not found");let[a,o,i]=await Promise.all([t.readContract({address:e,abi:_viem.erc20Abi,functionName:"decimals"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"name"}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"symbol"})]),l={address:e,decimals:a,name:o,symbol:i,chainId:r};if(typeof l.decimals!="number"||typeof l.name!="string"||typeof l.symbol!="string")throw new Error(`Invalid ERC20 token. Address: ${e}`);return l}catch(a){throw console.error(a),_chunkUQUWMHVFcjs.a.call(void 0, {cause:a})}}async function Ge({client:e,tokenData:t,preferredCollateralOrder:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a),[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"numRegisteredAssets"}),e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"referenceCollateral"})]),n=[];for(let f=0;f<i;f++)n.push(e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"registeredAssets",args:[BigInt(f)]}));let s=await Promise.all(n),u=(await Promise.all(s.map(f=>{let b=_optionalChain([t, 'optionalAccess', _47 => _47.find, 'call', _48 => _48(p=>_chunkOS5AJMYJcjs.e.call(void 0, p,f))]);return b||mt({address:f,chainId:o.chainId,publicClient:e})}))).filter(f=>!!f).sort((f,b)=>s.indexOf(f.address)-s.indexOf(b.address)).map((f,b)=>({...f,order:b}));if(_optionalChain([r, 'optionalAccess', _49 => _49.length])){let f=[];for(let b of r){let p=u.find(A=>_chunkOS5AJMYJcjs.e.call(void 0, A.address,b.address));p&&(f.push(p),u.splice(u.indexOf(p),1))}u.unshift(...f)}let m=u.find(f=>_chunkOS5AJMYJcjs.e.call(void 0, f,l));if(!u)throw new Error("Collateral tokens not found");if(!m)throw new Error("Reference collateral address not found");return{collaterals:u,referenceCollateral:m}}async function pt({client:e,collateral:t,latestPrices:r,isPythWrapperEnabled:a,...o}){let{config:i}=_chunkOS5AJMYJcjs.a.call(void 0, o);try{let l=e.readContract({address:i.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isBadCollateralAsset",args:[t.address]}),n=e.readContract({address:i.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isPegged",args:[t.address]});if(a&&r){let u=r.prices.map(m=>_viem.parseUnits.call(void 0, m,18));n=e.readContract({address:i.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:"isPeggedWithPrice",args:[t.address,u[0]]})}let[s,d]=await Promise.all([l,n]);return{isBlacklisted:s,isDepegged:!d}}catch(l){throw console.log(l),l}}async function ue({client:e,asset:t,amount:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a);try{let[i,l]=await Promise.all([e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"vaults",args:[t]}),e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"collectedFees",args:[o.honey.factory,t]})]);return await e.readContract({address:i,abi:_chunkVP7XUOSIcjs.d,functionName:"balanceOf",args:[o.honey.factory]})+_viem.parseEther.call(void 0, _nullishCoalesce(r, () => ("0")))-l}catch(i){throw console.log(i),i}}var Fr=_viem.parseEther.call(void 0, "1");async function Vi({client:e,asset:t,amount:r,isMint:a,isPythWrapperEnabled:o,latestPrices:i,...l}){let{config:n}=_chunkOS5AJMYJcjs.a.call(void 0, l);try{let s=await e.readContract({address:n.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"globalCap"});if(s>=Fr)return!1;let[{collaterals:d},u]=await Promise.all([Ge({client:e}),Ir({client:e,asset:t,amount:r,latestPrices:i,isPythWrapperEnabled:o})]);if(!u)return;for(let m in u)if((a&&_chunkOS5AJMYJcjs.e.call(void 0, d[m],t)||!a&&_chunkOS5AJMYJcjs.e.call(void 0, d[m],t))&&u[m]>s-_chunkMUNAP5TMcjs.d)return!0;return!1}catch(s){throw console.log(s),s}}async function Ir({client:e,asset:t,amount:r,latestPrices:a,isPythWrapperEnabled:o}){let{collaterals:i}=await Ge({client:e}),l=0n,n=[];for(let s of i){let d=await pt({client:e,collateral:t,latestPrices:a,isPythWrapperEnabled:o});if(_optionalChain([d, 'optionalAccess', _50 => _50.isBlacklisted])||_optionalChain([d, 'optionalAccess', _51 => _51.isDepegged]))continue;let u=await ue({client:e,asset:s.address,amount:_chunkOS5AJMYJcjs.e.call(void 0, s,t)?r:"0"});u&&(l+=u,n.push(u))}if(l===0n)return n;for(let s in i)n[s]=_viem.parseEther.call(void 0, n[s].toString())/l;return n}async function Ni({...e}={}){return(await g("honey.subgraph",e).query({query:_honey.GetGlobalData})).data}var Dr=(s=>(s.Mint="previewMintHoney",s.MintWithPrice="previewMintHoneyWithPrices",s.RequiredCollateral="previewMintCollaterals",s.RequiredCollateralWithPrice="previewMintCollateralsWithPrices",s.Redeem="previewRedeemCollaterals",s.RedeemWithPrice="previewRedeemCollateralsWithPrices",s.HoneyToRedeem="previewRedeemHoney",s.HoneyToRedeemWithPrice="previewRedeemHoneyWithPrices",s))(Dr||{});async function Fi({client:e,collateral:t,collateralList:r,amount:a,method:o,latestPrices:i,isPythWrapperEnabled:l,...n}){let{config:s}=_chunkOS5AJMYJcjs.a.call(void 0, n);try{let d=o==="previewMintHoney"||o==="previewRedeemHoney"||o==="previewMintHoneyWithPrices"||o==="previewRedeemHoneyWithPrices",u=_viem.parseUnits.call(void 0, a,d?t.decimals:18),m,f=[t.address,u];if(l&&i){let p=i.prices.map(A=>_viem.parseUnits.call(void 0, A,18));f=[t.address,u,p]}if(d){let p=await e.readContract({address:s.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:o,args:f});m={collaterals:p[0],honey:p[1]}}else m={collaterals:await e.readContract({address:s.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:o,args:f}),honey:u};let b=r.reduce((p,A)=>{let C=A.order;return A.address===t.address&&m.collaterals[C]===BigInt(0)?Object.assign(p,{[A.address]:m.collaterals[0]}):Object.assign(p,{[A.address]:m.collaterals[C]})},{});return b[t.address]===BigInt(0)&&(b[t.address]=m.collaterals[0]),{collaterals:b,honey:m.honey}}catch(d){throw console.log("error",d),d}}async function Wi({client:e,collateralList:t,honeyFactoryAddress:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.honey.factory));return await Promise.all(t.map(async n=>{let s=await e.readContract({address:o.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"vaults",args:[n.address]}),[d,u,[m,f]]=await Promise.all([e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"balanceOf",args:[i]}),e.readContract({address:i,abi:_chunkVP7XUOSIcjs.e,functionName:"collectedAssetFees",args:[n.address]}),e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"custodyInfo"})]),b=await e.readContract({address:s,abi:_chunkVP7XUOSIcjs.d,functionName:"convertToAssets",args:[d-u]});return{...n,balance:{raw:b.toString(),formatted:_viem.formatUnits.call(void 0, b,n.decimals)},vault:m?f:s}}))}var _hermesclient = require('@pythnetwork/hermes-client');var Lr="https://hermes.pyth.network";async function bt({priceFeedId:e}){let r=await new (0, _hermesclient.HermesClient)(Lr,{}).getLatestPriceUpdates(e,{encoding:"hex",parsed:!0});return{calldata:r.binary.data.map(a=>`0x${a}`),prices:_nullishCoalesce(_optionalChain([r, 'access', _52 => _52.parsed, 'optionalAccess', _53 => _53.flatMap, 'call', _54 => _54(a=>_viem.formatUnits.call(void 0, BigInt(a.price.price),a.price.expo*-1))]), () => ([]))}}async function Yi({client:e,asset:t,amount:r,isMint:a,referenceCollateral:o,...i}){let{config:l}=_chunkOS5AJMYJcjs.a.call(void 0, i);if(t===o.address)return!1;try{let[n]=await Promise.all([e.readContract({address:l.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"relativeCap",args:[t]})]),[s,d]=await Promise.all([ue({client:e,asset:t,amount:a?r:void 0}),ue({client:e,asset:o.address,amount:a?void 0:r})]);return d===0n?s!==0n:_viem.parseEther.call(void 0, (_nullishCoalesce(s, () => (0n))).toString())/(_nullishCoalesce(d, () => (0n)))>=n-_chunkMUNAP5TMcjs.d}catch(n){throw console.log(n),n}}async function yt({client:e,priceFeedId:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{return await e.readContract({address:a.external.pyth,abi:_chunkVP7XUOSIcjs.n,functionName:"getUpdateFee",args:[t]})}catch(o){throw console.error("getPythUpdateFee",o),o}}var us=async({state:e,publicClient:t,priceFeedMap:r,collateralList:a,isPythWrapperEnabled:o,...i})=>{let{config:l}=_chunkOS5AJMYJcjs.a.call(void 0, i),n=_chunkOS5AJMYJcjs.d.call(void 0, i),{actionType:s,fromAmount:d,collaterals:u,isBasketModeEnabled:m}=e,f=o?l.honey.pythWrapper:l.honey.factory,b=a.map(p=>p.address);if(d[0]&&b.length){let p=s==="mint";if(o&&t&&r){let C=(await bt({priceFeedId:Object.values(r)})).calldata,V=0n;try{V=await yt({client:t,priceFeedId:C})}catch (e5){V=_chunkMUNAP5TMcjs.j.call(void 0, u.length)}return({account:y})=>{let I=[C,_optionalChain([u, 'access', _55 => _55[0], 'optionalAccess', _56 => _56.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _57 => _57[0], 'optionalAccess', _58 => _58.decimals]):_optionalChain([n, 'optionalAccess', _59 => _59.decimals])), () => (18))),y,!!m];return{address:f,abi:_chunkVP7XUOSIcjs.g,functionName:p?"mint":"redeem",params:I,value:V}}}return({account:A})=>{let C=[_optionalChain([u, 'access', _60 => _60[0], 'optionalAccess', _61 => _61.address]),_viem.parseUnits.call(void 0, d[0],_nullishCoalesce((p?_optionalChain([u, 'access', _62 => _62[0], 'optionalAccess', _63 => _63.decimals]):_optionalChain([n, 'optionalAccess', _64 => _64.decimals])), () => (18))),A,!!m];return{value:0n,address:f,abi:_chunkVP7XUOSIcjs.e,functionName:p?"mint":"redeem",params:C}}}throw new Error("Something went wrong while creating the Honey swap payload")};async function gs({client:e,isMint:t,collateralList:r,latestPrices:a,isPythWrapperEnabled:o,...i}){let{config:l}=_chunkOS5AJMYJcjs.a.call(void 0, i);if(o&&a){if(r.length===0)return;let s=a.prices.map(u=>_viem.parseUnits.call(void 0, u,18));return await e.readContract({address:l.honey.reader,abi:_chunkVP7XUOSIcjs.f,functionName:"isBasketModeEnabledWithPrices",args:[t,s]})}return await e.readContract({address:l.honey.factory,abi:_chunkVP7XUOSIcjs.e,functionName:"isBasketModeEnabled",args:[t]})}async function hs({block:e,currentBlock:t,blockTime:r,publicClient:a}){if(_chunkUQUWMHVFcjs.b.call(void 0, e,"block"),_chunkUQUWMHVFcjs.c.call(void 0, a),t>e){let i=await a.getBlock({blockNumber:BigInt(e),includeTransactions:!1});return{timestamp:Number(i.timestamp)}}return{timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now())+r*(Number(e)-Number(t))}}var Hr=(a=>(a.Duration="duration",a.TargetRate="targetRate",a.TargetApr="targetApr",a))(Hr||{});async function vs(e,t){let[r,a,o,i,l,n]=await Promise.all([t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardsDuration"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardVaultManager"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"rewardRate"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"periodFinish"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"targetRewardsPerSecond"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"minRewardDurationForTargetRate"})]),s=o*(i-BigInt(_chunkMUNAP5TMcjs.k.call(void 0, Date.now())))/10n**18n;return{rewardsDuration:Number(r),mode:l===0n?"duration":"targetRate",manager:a,rewardRate:_viem.formatUnits.call(void 0, o,36),periodFinish:Number(i),availableRewards:_viem.formatUnits.call(void 0, s,18),minRewardDurationForTargetRate:Number(n),targetRewardsPerSecond:_viem.formatUnits.call(void 0, l,36)}}function Ce(e,t,r){return e?r*t*_chunkMUNAP5TMcjs.x.call(void 0, 1)/e:null}function _r(e,t,r){return r?e*r/(t*_chunkMUNAP5TMcjs.x.call(void 0, 1)):0}function Ss({availableRewards:e,periodFinish:t,tvl:r,bgtPrice:a,MIN_REWARD_DURATION:o,MAX_REWARD_DURATION:i,...l}){let n=_chunkMUNAP5TMcjs.k.call(void 0, Date.now());if(n>t)return{apr:0,duration:0,rewardRate:0,targetRate:null,periodFinish:0,mode:null};if(l.mode==="targetRate"||l.mode==="targetApr"){let m,{minRewardDurationForTargetRate:f,currentDuration:b}=l;if(l.mode==="targetRate"?m=l.rewardRate:m=_r(l.apr,a,r),m===0){let C=Math.min(b,i),V=e?e/C:0;return{apr:Ce(r,a,V),duration:C,rewardRate:V,targetRate:null,periodFinish:C+n,mode:"duration"}}let p=f||o,A=e?e/m:0;if(A<p){let C=e?e/p:0;return{apr:Ce(r,a,C),duration:p,rewardRate:C,targetRate:C.toString(),periodFinish:p+n,mode:null}}return{apr:Ce(r,a,m),duration:A,rewardRate:m,targetRate:m.toString(),periodFinish:A+n,mode:null}}let{duration:s}=l,d=e/s;return{apr:Ce(r,a,d),mode:null,targetRate:null,duration:s,rewardRate:d,periodFinish:s+n}}async function xs({address:e,account:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=`${a.bonder}/vaults/${e}/earnings/${t}`;return _chunkMUNAP5TMcjs.c.call(void 0, o)}async function Pe({filter:e,publicClient:t,...r}={}){let o=await g("api",r).query({query:_api3.GetVaults,variables:e}),i=await Promise.allSettled(o.data.polGetRewardVaults.vaults.map(async n=>{if(t)return Promise.allSettled(n.activeIncentives.map(s=>t.readContract({abi:_chunkVP7XUOSIcjs.k,address:n.address,functionName:"incentives",args:[s.tokenAddress]})))})),l=o.data.polGetRewardVaults.vaults.map((n,s)=>{let d=0,u=n.activeIncentives.map((m,f)=>{let b=Number(m.remainingAmountUsd)&&Number(m.remainingAmount)?Number(m.remainingAmountUsd)/Number(m.remainingAmount):0,p=_optionalChain([i, 'access', _65 => _65[s], 'optionalAccess', _66 => _66.status])==="fulfilled"&&_optionalChain([i, 'access', _67 => _67[s], 'optionalAccess', _68 => _68.value, 'optionalAccess', _69 => _69[f], 'optionalAccess', _70 => _70.status])==="fulfilled"?_viem.formatUnits.call(void 0, BigInt(i[s].value[f].value[2]),m.token.decimals):m.remainingAmount;return d+=Number(p)*Number(b),{...m,remainingAmount:p}});return{...n,dynamicData:{...n.dynamicData,allTimeReceivedBGTAmount:_nullishCoalesce(_optionalChain([n, 'access', _71 => _71.dynamicData, 'optionalAccess', _72 => _72.allTimeReceivedBGTAmount]), () => ("0")),bgtCapturePercentage:_nullishCoalesce(_optionalChain([n, 'access', _73 => _73.dynamicData, 'optionalAccess', _74 => _74.bgtCapturePercentage]), () => ("0")),activeIncentivesValueUsd:d.toString(),activeIncentivesRateUsd:_nullishCoalesce(_optionalChain([n, 'access', _75 => _75.dynamicData, 'optionalAccess', _76 => _76.activeIncentivesRateUsd]), () => ("0")),bgtCapturePerBlock:_nullishCoalesce(_optionalChain([n, 'access', _77 => _77.dynamicData, 'optionalAccess', _78 => _78.bgtCapturePerBlock]), () => ("0"))},activeIncentives:u}});return{pagination:o.data.polGetRewardVaults.pagination,gaugeList:l}}async function ht(e={}){let{config:t}=_chunkOS5AJMYJcjs.a.call(void 0, e),a=await g("api",e).query({query:_api3.GlobalData,variables:{chain:t.bex.chainName}});return{...a.data.polGetGlobalInfo,top3EmittingValidators:a.data.top3EmittingValidators.validators,allValidatorsCount:a.data.allValidatorsCount.pagination.totalCount}}async function wt({publicClient:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t);_chunkUQUWMHVFcjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"totalBoosts",args:[]});return _viem.formatEther.call(void 0, a)}catch(a){throw console.log(a),a}}async function Ct({publicClient:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t);_chunkUQUWMHVFcjs.c.call(void 0, e);try{let a=await e.readContract({address:r.tokens.bgt,abi:_viem.erc20Abi,functionName:"totalSupply",args:[]});return _viem.formatEther.call(void 0, _nullishCoalesce(a, () => (0n)))}catch(a){throw console.log(a),a}}async function Pt(e){let{gaugeList:t}=await Pe({filter:{orderBy:_api3.GqlRewardVaultOrderBy.Apr,orderDirection:_api3.GqlRewardVaultOrderDirection.Desc,pageSize:e,where:{includeNonWhitelisted:!1}}});return t}async function il(e){let[t,r,a,o]=await Promise.allSettled([ht(),Pt(300),Ct({publicClient:e}),wt({publicClient:e})]);return t.status==="rejected"&&_chunkUQUWMHVFcjs.f.captureException(_chunkUQUWMHVFcjs.a.call(void 0, {cause:t.reason,level:"warning"})),r.status==="rejected"&&_chunkUQUWMHVFcjs.f.captureException(_chunkUQUWMHVFcjs.a.call(void 0, {cause:r.reason,level:"warning"})),a.status==="rejected"&&_chunkUQUWMHVFcjs.f.captureException(_chunkUQUWMHVFcjs.a.call(void 0, {cause:a.reason,level:"warning"})),o.status==="rejected"&&_chunkUQUWMHVFcjs.f.captureException(_chunkUQUWMHVFcjs.a.call(void 0, {cause:o.reason,level:"warning"})),{bgtTotalSupply:a.status==="fulfilled"?a.value:void 0,globalCuttingBoard:r.status==="fulfilled"?r.value:[],bgtTotalBoosts:o.status==="fulfilled"?o.value:void 0,...t.status==="fulfilled"?t.value:{}}}var _subgraph3 = require('@berachain/graphql/pol/subgraph');async function Bt({...e}){let t=g("pol.subgraph",e),{data:r}=await t.query({query:_subgraph3.GetIncentiveFeeClaimStats});if(r.incentiveFeeClaims.length>0){let a=_optionalChain([r, 'optionalAccess', _79 => _79.incentiveFeeClaims, 'access', _80 => _80.reduce, 'call', _81 => _81((l,n)=>l+Number(n.payoutAmount),3e4)]),i=(_optionalChain([r, 'optionalAccess', _82 => _82.incentiveFeeClaims, 'access', _83 => _83.filter, 'call', _84 => _84(l=>Number(l.timestamp)/1e3>Date.now()-_chunkMUNAP5TMcjs.q.call(void 0, 1))])).reduce((l,n)=>l+Number(n.payoutAmount),0);return{sumAllClaims:a,sumClaimsInLast24Hours:i}}return{sumAllClaims:0,sumClaimsInLast24Hours:0}}async function pl(e={}){let{config:t}=_chunkOS5AJMYJcjs.a.call(void 0, e);try{let a=await(await fetch(t.lists.rewardVaultList)).json();if(!a.protocols)throw new Error("Missing protocols in market list");return{marketList:a.protocols,marketDictionary:a.protocols.reduce((o,i)=>(o[i.name]=i,o),{})}}catch(r){throw console.error("Error fetching validator information",r),r}}async function Al({account:e,validator:t,page:r=1,perPage:a=1e3,...o}){let{config:i}=_chunkOS5AJMYJcjs.a.call(void 0, o),l=await fetch(`${i.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/proofs/validator/${t.toLowerCase()}?page=${r}&per_page=${a}`,{cache:"no-store"});if(!l.ok){let s=await _chunkMUNAP5TMcjs.a.call(void 0, l);throw new (0, _chunk7SC4VD3Ucjs.e)({message:"Failed to fetch proofs on server",cause:{error:s,result:l,account:e,validator:t},reason:_optionalChain([s, 'optionalAccess', _85 => _85.reason])})}return await l.json()}async function Bl({address:e,publicClient:t}){return _chunkUQUWMHVFcjs.c.call(void 0, t),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[_viem.parseUnits.call(void 0, "1",18)]}).then(r=>Number(_viem.formatUnits.call(void 0, r,18))).catch(()=>0)}async function Nl({address:e,chainName:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=_nullishCoalesce(t, () => (a.bex.chainName)),i=g("api",r),{data:l}=await i.query({query:_api3.GetRewardVault,variables:{vaultId:e,chain:o}});if(!_optionalChain([l, 'optionalAccess', _86 => _86.rewardVault]))throw new (0, _chunkBOYZVULXcjs.b)({resource:"Reward vault",id:e,chainId:a.chainId});return l.rewardVault}async function ql({address:e,stakingToken:t,publicClient:r}){let a=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"getWhitelistedTokens"}),i=a.findIndex(n=>_berancersdk.isSameAddress.call(void 0, t,n))!==-1?await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"totalSupply"}):0n,l=await Promise.allSettled(a.map(async n=>{let[s,d,u,m]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"incentives",args:[n]}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"decimals"}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"symbol"}),r.readContract({address:n,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]})]),[f,b,p,A]=s;return{token:n,manager:A,minIncentiveRate:_viem.formatUnits.call(void 0, f,d),incentiveRate:_viem.formatUnits.call(void 0, b,d),remainingAmount:_viem.formatUnits.call(void 0, p,d),symbol:u,decimals:d,pendingAmount:_berancersdk.isSameAddress.call(void 0, t,n)?_viem.formatUnits.call(void 0, m-i-p,d):_viem.formatUnits.call(void 0, m-p,d)}}));return l.forEach((n,s)=>{n.status==="rejected"&&_chunkUQUWMHVFcjs.f.captureException(new (0, _chunk7SC4VD3Ucjs.e)({reason:n.reason,message:"Incorrect incentives token received.",level:"error",extra:{token:a[s],address:e,error:n.reason}}))}),l.map(n=>n.status==="fulfilled"?n.value:null).filter(n=>n!==null)}async function Ul({address:e,publicClient:t}){return await t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"stakeToken"})}function na(e){return e==="DAY"?_api3.GqlSWberaVaultMetadataResolution.OneDay:_api3.GqlSWberaVaultMetadataResolution.SevenDays}async function Hl({window:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t),a=g("api",t);try{let o=await a.query({query:_api3.GetSWberaVaultMetadata,variables:{chain:r.bex.chainName,resolution:na(_nullishCoalesce(e, () => ("DAY")))}}),{apr:i}=o.data.polGetSWberaVaultMetadata;return Number(i)}catch(o){throw console.error("Failed to get SW Bera APR",o),o}}async function Kl({chain:e,range:t=_api3.GqlVaultSnapshotDataRange.ThirtyDays,...r}={}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=g("api",r);try{return(await o.query({query:_api3.GetSWberaVaultSnapshots,variables:{chain:_nullishCoalesce(e, () => (a.bex.chainName)),range:t}})).data.polGetSWberaVaultSnapshots}catch(i){throw console.error("Failed to get SW Bera Snapshots",i),i}}async function de({publicClient:e,address:t}){let r=await e.readContract({address:t,abi:_chunkVP7XUOSIcjs.m,functionName:"WITHDRAWAL_COOLDOWN"});return Number(r)}async function iu({address:e,publicClient:t,blockTime:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a);_chunkUQUWMHVFcjs.c.call(void 0, t);let i=26;try{let[l]=await Promise.all([t.getBlock({blockTag:"latest"})]),n=Math.floor(i*60*60/r),s=l.number-BigInt(n),[d,u,m,f,b,p,A,C,V,y,I]=await Promise.all([t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalSupply"}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[10n**18n],blockNumber:l.number}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e]}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets",blockNumber:s}),t.readContract({address:e,abi:_viem.erc20Abi,functionName:"totalSupply",blockNumber:s}),t.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"previewRedeem",args:[10n**18n],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"balanceOf",args:[e],blockNumber:s}),t.readContract({address:o.tokens.wbera,abi:_viem.erc20Abi,functionName:"totalSupply"}),de({publicClient:t,address:e}),Bt({})]),x=new (0, _bignumberjs2.default)(A.toString());return{current:{exchangeRate:new (0, _bignumberjs2.default)(m.toString()).toString(),totalSupply:new (0, _bignumberjs2.default)(u.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(d.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(f.toString()).dividedBy(1e18).toString()},previous:{exchangeRate:x.toString(),totalSupply:new (0, _bignumberjs2.default)(p.toString()).dividedBy(1e18).toString(),totalAssets:new (0, _bignumberjs2.default)(b.toString()).dividedBy(1e18).toString(),tvl:new (0, _bignumberjs2.default)(C.toString()).dividedBy(1e18).toString()},totalWBeraIssued:new (0, _bignumberjs2.default)(V.toString()).dividedBy(1e18).toString(),lockPeriod:y,totalBuyBacks:I.sumAllClaims,totalBuyBacksInLast24Hours:I.sumClaimsInLast24Hours}}catch(l){throw console.error("Failed to get SW Bera Vault Metadata",l),l}}function Rt(e){let t=Date.now(),r=e*1e3-t;if(r<=0)return;let a=_chunkMUNAP5TMcjs.k.call(void 0, r);return _chunkMUNAP5TMcjs.A.call(void 0, a,!0,!0)}async function pu({contractAddress:e,accountAddress:t,publicClient:r,version:a}){let o=[];function i(l,n){let[s,d,u]=l,m=s,f=Number(u)+Number(n),b=_chunkMUNAP5TMcjs.k.call(void 0, Date.now()),p=f-b;if(m>0){let A=Rt(p<=0?0:f);o.push({receiptTokenAddress:e,withdrawalAmount:m,timeRemaining:A})}}switch(a){case"V1":{let[l,n]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"withdrawalRequests",args:[t]}),de({publicClient:r,address:e})]);return i(l,n),o}case"V2":{let[l,n]=await Promise.all([r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"getERC721WithdrawalRequestIds",args:[t]}),de({publicClient:r,address:e})]);if(_chunkOS5AJMYJcjs.e.call(void 0, e,"SWBERA")){let u=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"withdrawalRequests",args:[t]});i(u,n)}let d=(await Promise.all(l.map(async u=>{let m=await r.readContract({address:e,abi:_chunkVP7XUOSIcjs.m,functionName:"getERC721WithdrawalRequest",args:[u]}),{assets:f,requestTime:b}=m;if(!f||!b)throw new Error("Invalid withdrawal request");let p=f,A=Number(b)+Number(n),C=_chunkMUNAP5TMcjs.k.call(void 0, Date.now()),V=A-C;if(p>0){let y=Rt(V<=0?0:A);return{withdrawalAmount:p,timeRemaining:y,withdrawalRequestId:u,receiptTokenAddress:e}}return null}))).filter(u=>u!==null);return o.push(...d),o}}}async function yu({vaultAddresses:e,publicClient:t}){_chunkUQUWMHVFcjs.c.call(void 0, t);try{let r=await Promise.all(e.map(async o=>await t.readContract({address:o,abi:_chunkVP7XUOSIcjs.m,functionName:"totalAssets"})));return e.reduce((o,i,l)=>(o[i]=r[l],o),{})}catch(r){throw console.error("Failed to get total staked amount",r),r}}async function Pu({account:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t),a=await fetch(`${r.pol.bribeBoostApi}/api/v1/wallets/${e.toLowerCase()}/rewards/aggregation`,{cache:"no-store"});if(!a.ok){let o=await _chunkMUNAP5TMcjs.a.call(void 0, a);throw new (0, _chunk7SC4VD3Ucjs.e)({message:"Failed to fetch incentives on server",cause:{error:o,result:a,account:e},reason:_optionalChain([o, 'optionalAccess', _87 => _87.error])})}return await a.json()}async function St({account:e,vaultAddress:t,publicClient:r}){if(!r)throw new Error("Missing public client");if(!e)throw new Error("Missing user account");if(!t)throw new Error("Missing vault address");return await r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"earned",args:[e]})}async function kt({account:e,vaultAddress:t,publicClient:r}){_chunkUQUWMHVFcjs.c.call(void 0, r),_chunkUQUWMHVFcjs.d.call(void 0, e,"account"),_chunkUQUWMHVFcjs.d.call(void 0, t,"vaultAddress");try{let[a,o]=await Promise.all([r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"balanceOf",args:[e]}),r.readContract({address:t,abi:_chunkVP7XUOSIcjs.k,functionName:"getTotalDelegateStaked",args:[e]})]);return{balance:a,delegated:o}}catch(a){throw console.log(a),a}}async function Nt({vaultAddress:e,publicClient:t}){if(!t)throw new Error("Missing public client");if(!e)throw new Error("Missing vault address");try{return await t.readContract({address:e,abi:_chunkVP7XUOSIcjs.k,functionName:"totalSupply",args:[]})}catch(r){throw console.log(r),r}}async function Iu({account:e,vaultAddress:t,publicClient:r}){let[a,o,i]=await Promise.all([kt({account:e,vaultAddress:t,publicClient:r}),St({account:e,vaultAddress:t,publicClient:r}),Nt({vaultAddress:t,publicClient:r})]),l=a.balance-a.delegated,n=i>0n?Number(Number.parseFloat(_viem.formatEther.call(void 0, a.balance))/Number.parseFloat(_viem.formatEther.call(void 0, i))).toString():"0";return{balance:a.balance,delegatedBalance:a.delegated,withdrawableBalance:l,rewards:_viem.formatEther.call(void 0, o),percentage:n}}async function Hu({account:e,publicClient:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),l=await _asyncOptionalChain([(await g("api",r).query({query:_api3.GetUserVaults,variables:{userId:e,chain:a.bex.chainName}})), 'access', async _88 => _88.data, 'optionalAccess', async _89 => _89.userVaultDeposits, 'optionalAccess', async _90 => _90.deposits]);if(!l)return{totalBgtRewards:"0",vaults:[],totalStakedValue:0};let[n,s]=await Promise.all([t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:_chunkVP7XUOSIcjs.k,functionName:"earned",args:[e]}))}),t.multicall({allowFailure:!1,contracts:l.map(b=>({address:b.vaultAddress,abi:_chunkVP7XUOSIcjs.k,functionName:"balanceOf",args:[e]}))})]),{userVaults:d,total:u}=l.reduce((b,p,A)=>{let C=n[A],V=s[A];if(b.total+=C,!p.vault)return _chunkUQUWMHVFcjs.f.captureException(new (0, _chunk7SC4VD3Ucjs.e)({message:"Deposit data from API is missing vault",level:"error",extra:{deposit:p}})),console.error("Deposit data from API is missing vault",p),b;if(C>0n||V>0n){let y=_optionalChain([p, 'access', _91 => _91.vault, 'access', _92 => _92.dynamicData, 'optionalAccess', _93 => _93.tvl])&&Number(p.vault.stakingTokenAmount)!==0?Number(_nullishCoalesce(_optionalChain([p, 'access', _94 => _94.vault, 'access', _95 => _95.dynamicData, 'optionalAccess', _96 => _96.tvl]), () => (0)))/Number(p.vault.stakingTokenAmount):null;b.userVaults.push({...p,vault:p.vault,unclaimedBgt:_viem.formatUnits.call(void 0, C,18),formattedBalance:_viem.formatUnits.call(void 0, V,p.vault.stakingToken.decimals),stakingTokenPrice:y})}return b},{userVaults:[],total:0n}),m=[...d].sort((b,p)=>{if(b.vault.isVaultWhitelisted&&!p.vault.isVaultWhitelisted)return-1;if(!b.vault.isVaultWhitelisted&&p.vault.isVaultWhitelisted)return 1;let A=Number.parseFloat(b.unclaimedBgt);return Number.parseFloat(p.unclaimedBgt)-A});return{totalStakedValue:m.reduce((b,p)=>{let A=Number(_nullishCoalesce(_optionalChain([p, 'access', _97 => _97.vault, 'access', _98 => _98.dynamicData, 'optionalAccess', _99 => _99.tvl]), () => (0)));if(A===0)return b;let C=Number.parseFloat(p.vault.stakingTokenAmount),V=A/C;return b+V*Number(p.formattedBalance)},0),totalBgtRewards:_viem.formatUnits.call(void 0, u,18),vaults:m}}async function Ku({vault:e,chain:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);return(await g("api",r).query({query:_api3.GetVaultHistory,variables:{...r,vaultId:e,chain:_nullishCoalesce(t, () => (a.bex.chainName))}})).data.polGetRewardVaultSnapshots}async function Zu({address:e,onlyActiveValidators:t,...r}){returnawait _asyncNullishCoalesce((await g("api",r).query({query:_api3.GetVaultValidators,variables:{vaultId:e,isActive:t}})).data.validators.validators, async () => ([]))}async function sc({addressIn:e,...t}){let{config:r,chainId:a}=_chunkOS5AJMYJcjs.a.call(void 0, t),o=e.map(n=>n.toLowerCase()).filter((n,s,d)=>n&&d.indexOf(n)===s),i=g("api",t),{data:l}=await i.query({query:_api.GetTokenCurrentPrices,variables:{chains:[r.bex.chainName],addressIn:o}});return l.tokenGetCurrentPrices.reduce((n,s)=>{if(!s.price||!s.address)return n;let d=s.address;return n[_viem.getAddress.call(void 0, d)]={price:_chunkMUNAP5TMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[d.toLowerCase()]={price:_chunkMUNAP5TMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},_chunkOS5AJMYJcjs.e.call(void 0, d,"WBERA")&&(n[_viem.zeroAddress]={price:_chunkMUNAP5TMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt.toLowerCase()]={price:_chunkMUNAP5TMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a},n[r.tokens.bgt]={price:_chunkMUNAP5TMcjs.C.call(void 0, s.price.toString()),updatedAt:s.updatedAt,chainId:a}),n},{})}var _core = require('@wagmi/core');async function mc({items:e,account:t,config:r}){_chunkUQUWMHVFcjs.b.call(void 0, e,"items"),_chunkUQUWMHVFcjs.b.call(void 0, r,"config"),_chunkUQUWMHVFcjs.b.call(void 0, t,"account");let a=Object.groupBy(e,i=>i.token.chainId);return(await Promise.allSettled(Object.entries(a).map(async([i,l])=>{if(!l)return[];let n=_core.getPublicClient.call(void 0, r,{chainId:Number(i)});return _chunkUQUWMHVFcjs.c.call(void 0, n,`publicClient ${i}`),(await n.multicall({contracts:l.map(u=>({address:u.token.address,abi:_viem.erc20Abi,functionName:"allowance",args:[t,u.spender]}))})).map((u,m)=>{let f=l[m];return u.error?void 0:{token:f.token,spender:f.spender,amount:f.amount,allowance:{raw:u.result.toString(),formatted:_viem.formatUnits.call(void 0, u.result,f.token.decimals)},needsApproval:u.result<BigInt(f.amount.raw)}}).filter(u=>!!u)}))).flatMap(i=>i.status==="fulfilled"?i.value:void 0).filter(i=>!!i)}async function Gt({publicClient:e,abi:t,...r}){let a=[..._chunk7SC4VD3Ucjs.b,..._nullishCoalesce(t, () => ([]))],o,i,l,n,s,d,u;if("txHash"in r){let m=await e.getTransaction({hash:r.txHash});if(!m.to)throw new (0, _chunk7SC4VD3Ucjs.g)({property:"tx",value:m,expected:"Transaction",message:"Trying to get revert reason for a contract creation"});s=m.input,i=m.to,l=m.from,n=m.value,o=m.blockNumber}else if(o=r.blockNumber,i=r.to,l=r.account,n=r.value,"data"in r)s=r.data;else if("functionName"in r&&"args"in r)d=r.functionName,u=r.args;else if(!n)throw new (0, _chunk7SC4VD3Ucjs.g)({property:"dataOrFunctionNameAndArgs",value:r,expected:"Hex or FunctionName and Args"});try{if(!a)if(s)await e.call({data:s,to:i,account:l,blockNumber:o,value:n});else throw new Error("Data is required if abi is not provided");if("functionName"in r&&"args"in r&&r.functionName)d=r.functionName,u=r.args;else if(s){if(!a){let m=await e.call({data:s,to:i,account:l,blockNumber:o,value:n});throw new Error(`Getting revert reason for successful simulation. Data: ${s}`,{cause:m})}try{let m=_viem.decodeFunctionData.call(void 0, {abi:a,data:s});d=m.functionName,u=m.args}catch(m){throw m instanceof _viem.AbiFunctionSignatureNotFoundError&&await e.call({data:s,to:i,account:l,blockNumber:o,value:n}),new Error("Data is required if abi is not provided")}}else throw new Error("No data or function name and args provided");throw a&&d?(await e.simulateContract({functionName:d,args:u,abi:a,address:i,account:l,blockNumber:o}),new (0, _chunkBOYZVULXcjs.c)({message:"Getting revert reason for successful simulation",functionName:d,to:i,txHash:"txHash"in r?r.txHash:void 0,input:r})):new Error("No data or function name and args provided")}catch(m){if(m instanceof Error)return _chunk7SC4VD3Ucjs.d.call(void 0, {error:m,abi:a,revertIfUnknown:!0});throw m}}var ka=_chunkMUNAP5TMcjs.l.call(void 0, 1),xt=(e,t)=>e*(100n+BigInt(t))/100n;function Ie({nonceResult:e,onWarning:t}){if(e.status==="fulfilled"){if(e.value&&e.value>Number.MAX_SAFE_INTEGER){_optionalChain([t, 'optionalCall', _100 => _100(new (0, _chunk7SC4VD3Ucjs.e)({message:"Nonce is too large. No nonce will be provided to avoid IntegerOutOfRangeError.",cause:e.value,level:"debug"}))]);return}return e.value}}function Na(e=_internal.defaultChainId){return e===_internal.ChainId.BEPOLIA?process.env.NEXT_PUBLIC_80069_ANVIL_IMPERSONATE_ACCOUNT==="true":process.env.NEXT_PUBLIC_80094_ANVIL_IMPERSONATE_ACCOUNT==="true"}async function Fc(e){if(process.env.NODE_ENV==="development"&&!e.contractName&&e.address&&!("calls"in e||e.calls))throw console.warn("beraWriteContract: Contract name is required. Either update the contract mapping in devrel or provide a contract name in ContractName enum","This is a development error and will be thrown in development mode only."),new (0, _chunk7SC4VD3Ucjs.g)({property:"contractName",value:e.contractName,expected:"ContractName",displayMessage:`[DEV] Contract name is required as it's not mapped in the devrel's contract mapping ${e.address}`,level:"error"});let{address:t,calls:r,value:a,gasLimit:o,onLoading:i,onSuccess:l,onWarning:n,onError:s,onSubmission:d,wagmiConfig:u,walletClient:m,account:f,txConfirmationTimeout:b=12e4,chainId:p=_internal.defaultChainId,impersonateAccount:A=Na(p),errorsAbi:C=[],pollingInterval:V=ka,...y}=e;_optionalChain([i, 'optionalCall', _101 => _101(e)]);let I="data"in y?y.data:void 0,x=[..._chunk7SC4VD3Ucjs.b,...C,..."abi"in y&&y.abi&&Array.isArray(y.abi)?y.abi:[]],T=m;if(!u){_optionalChain([s, 'optionalCall', _102 => _102(new (0, _chunk7SC4VD3Ucjs.g)({property:"wagmiConfig",value:u,expected:"Config"}),e)]);return}if(!(_optionalChain([T, 'optionalAccess', _103 => _103.account, 'optionalAccess', _104 => _104.type])==="local"))try{await _core.switchChain.call(void 0, u,{chainId:p})}catch(S){let E=S;_optionalChain([s, 'optionalCall', _105 => _105(new (0, _chunk7SC4VD3Ucjs.e)({cause:E,displayMessage:"There was an error switching to the chain."}),e)]);return}if(!T)try{T=await _core.getWalletClient.call(void 0, u,{chainId:p})}catch(S){_optionalChain([s, 'optionalCall', _106 => _106(new (0, _chunk7SC4VD3Ucjs.e)({cause:S,displayMessage:"There was an error connecting to the wallet."}),e)]);return}if(!T){_optionalChain([s, 'optionalCall', _107 => _107(new (0, _chunk7SC4VD3Ucjs.g)({displayMessage:"There was an error connecting to the wallet.",property:"walletClient",value:T,expected:"WalletClient"}),e)]);return}let Q=f||T.account;if(!Q){_optionalChain([s, 'optionalCall', _108 => _108(new (0, _chunk7SC4VD3Ucjs.g)({property:"account",value:Q,expected:"Account"}),e)]);return}let me=typeof Q=="string"?Q:Q.address,M=_core.getPublicClient.call(void 0, u,{chainId:p});try{_chunkUQUWMHVFcjs.c.call(void 0, M)}catch(S){_optionalChain([s, 'optionalCall', _109 => _109(S,e)]);return}if(A){let S=_chunkMUNAP5TMcjs.E.call(void 0, p);await S.impersonateAccount({address:me}),T=_viem.createWalletClient.call(void 0, {transport:_viem.http.call(void 0, S.transport.url),account:Q,chain:T.chain})}let q,ne={calls:"calls"in y?y.calls:void 0,params:"params"in y?y.params:void 0,value:a,data:"data"in y?y.data:void 0};try{let S=M.getTransactionCount({address:me,blockTag:"latest"}).catch(()=>{}),E={account:me,to:t,address:t,chainId:p,value:a};if(r){let D=r.map(h=>{if("abi"in h&&Array.isArray(x)&&x.push(...h.abi),"data"in h)return{to:h.address,data:h.data,value:_nullishCoalesce(h.value, () => (0n))};if("abi"in h&&"functionName"in h){let H="params"in h?h.params:void 0;return{to:h.address,abi:h.abi,functionName:h.functionName,args:H,value:_nullishCoalesce(h.value, () => (0n))}}return{to:h.address,value:_nullishCoalesce(h.value, () => (0n))}});if(e.enableSimulateCalls){let h=await M.simulateCalls({calls:D,account:Q}),H=h.results.findIndex(_=>_.status==="failure");if(H!==-1){if(h.block.number===null)throw new (0, _chunk7SC4VD3Ucjs.g)({property:"blockNumber",value:h.block.number,expected:"bigint",message:"Block number is null"});let _=h.results[H],{reason:ve}=_.data&&_.data!=="0x"?{reason:_chunk7SC4VD3Ucjs.c.call(void 0, _viem.decodeErrorResult.call(void 0, {data:_.data,abi:x}))}:_chunk7SC4VD3Ucjs.d.call(void 0, {error:_.error,revertIfUnknown:!1,abi:x});_optionalChain([s, 'optionalCall', _110 => _110(new (0, _chunkBOYZVULXcjs.c)({cause:_.error,txHash:q,chainId:p,reason:ve,abi:x,input:ne,blockNumber:h.block.number}),e)]);return}}if(process.env.NODE_ENV==="test")throw new (0, _chunk7SC4VD3Ucjs.g)({displayMessage:"Batch calls are not supported in test environment",expected:"not test",property:"NODE_ENV",value:process.env.NODE_ENV,level:"fatal"});let L=await T.sendCalls({calls:D,account:Q,forceAtomic:!0});_optionalChain([d, 'optionalCall', _111 => _111({id:L.id},e)]);let O=await T.waitForCallsStatus({id:L.id,pollingInterval:V,timeout:b});if(O.status==="success"){let h=_optionalChain([O, 'access', _112 => _112.receipts, 'optionalAccess', _113 => _113[0]]);if(!h)throw new (0, _chunk7SC4VD3Ucjs.e)({message:"Call status is success but no receipt was found",cause:O,level:"error",reason:"CALL_STATUS_SUCCESS_BUT_NO_RECEIPT"});return _optionalChain([l, 'optionalCall', _114 => _114(h,e)]),h}throw console.error("wallet_sendCalls: Call failed",O),new (0, _chunkBOYZVULXcjs.c)({cause:O,level:"error",input:ne,txHash:q,abi:x,chainId:p})}if(I){let[D,L,O]=await Promise.allSettled([M.call({...E,data:I}),_nullishCoalesce(o, () => (M.estimateGas({...E,data:I}))),S]);if(D.status==="rejected")throw D.reason;let h=L.status==="fulfilled"?xt(L.value,10):_chunkMUNAP5TMcjs.i;q=await T.sendTransaction({data:I,to:t,account:Q,gas:h,chainId:p,nonce:Ie({nonceResult:O,onWarning(H){_optionalChain([n, 'optionalCall', _115 => _115(H,e)])}}),value:a}),_optionalChain([d, 'optionalCall', _116 => _116({txHash:q},e)])}else if("abi"in y&&"functionName"in y){let{abi:D,functionName:L}=y,O="params"in y?y.params:void 0,[h,H,_]=await Promise.allSettled([M.simulateContract({...E,abi:x,functionName:L,args:O,account:Q}),_nullishCoalesce(o, () => (M.estimateContractGas({...E,abi:x,functionName:L,args:O}))),S]);if(h.status==="rejected")throw h.reason;let ve=_nullishCoalesce(o, () => ((H.status==="fulfilled"?xt(H.value,10):_chunkMUNAP5TMcjs.i)));q=await T.writeContract({...h.value.request,chainId:p,gas:ve,nonce:Ie({nonceResult:_,onWarning(qt){_optionalChain([n, 'optionalCall', _117 => _117(qt,e)])}})}),_optionalChain([d, 'optionalCall', _118 => _118({txHash:q},e)])}else{let[D]=await Promise.allSettled([S]);q=await T.sendTransaction({chainId:p,to:t,value:a,account:Q,nonce:Ie({nonceResult:D,onWarning(L){_optionalChain([n, 'optionalCall', _119 => _119(L,e)])}})}),_optionalChain([d, 'optionalCall', _120 => _120({txHash:q},e)])}process.env.NODE_ENV==="test"&&await _chunkMUNAP5TMcjs.E.call(void 0, p).mine({blocks:1});let z=await M.waitForTransactionReceipt({hash:q,pollingInterval:V,timeout:b,confirmations:1});if(z.status==="success")_optionalChain([l, 'optionalCall', _121 => _121(z,e)]);else{let D=await Gt({publicClient:M,blockNumber:z.blockNumber,to:t,account:me,abi:x,args:"params"in y?y.params:void 0,functionName:"functionName"in y?y.functionName:void 0,value:a,data:I});process.env.NODE_ENV==="test"&&console.error("beraWriteContract: Revert reason",D),_optionalChain([s, 'optionalCall', _122 => _122(new (0, _chunkBOYZVULXcjs.c)({reason:D.reason,txHash:q,receipt:z,to:t,functionName:"functionName"in y?y.functionName:void 0,input:ne,chainId:p,abi:x,blockNumber:z.blockNumber}),e)])}return z}catch(S){if(S instanceof _chunk7SC4VD3Ucjs.e)_optionalChain([s, 'optionalCall', _123 => _123(S,e)]);else if(S instanceof Error){let E=_chunk7SC4VD3Ucjs.d.call(void 0, {error:S,revertIfUnknown:!1,abi:x});if(E&&E.rootCause instanceof _viem.BaseError&&"url"in E.rootCause){_optionalChain([s, 'optionalCall', _124 => _124(new (0, _chunk7SC4VD3Ucjs.f)({cause:E.rootCause,response:void 0,endpoint:{url:E.rootCause.url,type:"rpc"},statusCode:E.rootCause instanceof _viem.HttpRequestError?E.rootCause.status:void 0}),e)]);return}_optionalChain([s, 'optionalCall', _125 => _125(new (0, _chunkBOYZVULXcjs.c)({cause:S,to:t,txHash:q,chainId:p,abi:x,functionName:"functionName"in y?y.functionName:void 0,input:ne}),e)])}else _optionalChain([s, 'optionalCall', _126 => _126(new (0, _chunkBOYZVULXcjs.c)({cause:S,txHash:q,to:t,chainId:p,functionName:"functionName"in y?y.functionName:void 0,input:ne,abi:x}),e)])}}async function Et({variables:e={},...t}={}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t);return(await g("api",t).query({query:_api3.GetValidators,variables:{chain:r.bex.chainName,...e}})).data}async function Oc({allocation:e}){let t=await Pe({filter:{where:{vaultAddressIn:e.weights.map(a=>a.receiver)}}}),r=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _127 => _127.start, 'access', _128 => _128.blockNumber]), () => (0));return _optionalChain([e, 'optionalAccess', _129 => _129.weights, 'access', _130 => _130.map, 'call', _131 => _131(a=>({percentage:a.percentage,receiver:a.receiver,startBlock:r,receivingVault:_optionalChain([t, 'optionalAccess', _132 => _132.gaugeList, 'access', _133 => _133.find, 'call', _134 => _134(o=>_viem.isAddressEqual.call(void 0, o.address,a.receiver))])}))])}async function $c({id:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t);return(await g("api",t).query({query:_api3.GetValidator,variables:{id:e,chain:r.bex.chainName}})).data}async function zc({pubKey:e,first:t=1,...r}){let a=g("pol.subgraph",r);try{return(await a.query({query:_subgraph3.GetValidatorBlockStats,variables:{pubKey:e,first:t}})).data}catch(o){throw console.error("GetValidatorBlockStats:",o),o}}function oe(e,t){return{start:{blockNumber:Number(e.startBlock),timestamp:e.startBlock!==0n?t:0},weights:e.weights.map(r=>({receiver:r.receiver,percentage:Number(r.percentageNumerator)/1e4}))}}function Fa(e,t){return e.start.blockNumber===t.start.blockNumber&&e.weights.every((r,a)=>r.percentage===t.weights[a].percentage)}async function td({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{let[o,i]=await Promise.all([e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getActiveRewardAllocation",args:[t]}),e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getSetActiveRewardAllocation",args:[t]})]),[l,n]=await Promise.all([o.startBlock!==0n?e.getBlock({blockNumber:BigInt(o.startBlock)}):{timestamp:0},i.startBlock!==0n?e.getBlock({blockNumber:BigInt(i.startBlock)}):{timestamp:0}]),s=oe(o,Number(l.timestamp)),d=oe(i,Number(n.timestamp)),u=!1;return d.start.blockNumber===0?u=!0:u=!Fa(d,s),{activeRewardAllocation:s,setRewardAllocation:d,isBaseline:u,isNeverSet:_optionalChain([d, 'optionalAccess', _135 => _135.start, 'access', _136 => _136.blockNumber])===0}}catch(o){throw console.log("getValidatorRewardAllocation:",o),o}}function id(e){return e.start.blockNumber===0}async function sd({client:e,...t}){let{config:r}=_chunkOS5AJMYJcjs.a.call(void 0, t),a=await e.readContract({address:r.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getDefaultRewardAllocation",args:[]});return oe({...a,startBlock:0n},0)}async function dd({account:e,...t}){try{return(await g("pol.subgraph",t).query({query:_subgraph3.GetValidatorByAccount,variables:{account:e}})).data}catch(r){throw console.error("getManagedValidatorByAccount:",r),r}}async function pd({client:e,valPubKey:t}){return 5614}async function Ft({account:e,pubkey:t,publicClient:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a);if(!e)throw new Error("account is required");if(!r)throw new Error("publicClient is required");let[i,l,n]=await Promise.all([r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"boosted",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"boostedQueue",args:[e,t]}),r.readContract({address:o.tokens.bgt,abi:_chunkVP7XUOSIcjs.j,functionName:"dropBoostQueue",args:[e,t]})]);return{pubkey:t,activeBoostAmount:_viem.formatEther.call(void 0, i),queuedBoostAmount:_viem.formatEther.call(void 0, l[1]),queuedDropBoostAmount:_viem.formatEther.call(void 0, n[1]),queuedBoostStartBlock:l[0],queuedDropBoostStartBlock:n[0],hasPendingBoosts:Number(l[1])>0||Number(n[1])>0,hasActiveBoosts:Number(i)>0}}async function It({account:e,block:t,...r}){return await g("pol.subgraph",r).query({query:_subgraph3.GetUserValidatorInformation,variables:{address:e.toLowerCase(),block:t}})}async function Sd({account:e,publicClient:t,chain:r,...a}){let{config:o}=_chunkOS5AJMYJcjs.a.call(void 0, a),i=_nullishCoalesce(r, () => (o.bex.chainName)),l=await It({account:e}),[n,s]=await Promise.all([Et({variables:{chain:i,where:{idIn:l.data.userValidatorInformations.map(d=>d.validator.id)}}}),t&&_chunkMUNAP5TMcjs.F.call(void 0, {lastBlockTimestamp:_optionalChain([l, 'access', _137 => _137.data, 'access', _138 => _138._meta, 'optionalAccess', _139 => _139.block, 'access', _140 => _140.timestamp]),blockTime:o.averageBlockTime})?Promise.all(l.data.userValidatorInformations.map(d=>Ft({account:e,pubkey:d.validator.publicKey,publicClient:t}))):void 0]);return _optionalChain([n, 'optionalAccess', _141 => _141.validators, 'access', _142 => _142.validators, 'access', _143 => _143.map, 'call', _144 => _144(d=>{let u=s?s.find(m=>m.pubkey.toLowerCase()===d.pubkey.toLowerCase()):l.data.userValidatorInformations.find(m=>m.validator.id.toLowerCase()===d.id.toLowerCase());if(!u)throw new Error("User deposited not found");return{...d,userBoosts:{pubkey:"pubkey"in u?u.pubkey:u.validator.publicKey,activeBoostAmount:_optionalChain([u, 'optionalAccess', _145 => _145.activeBoostAmount]),queuedBoostAmount:_optionalChain([u, 'optionalAccess', _146 => _146.queuedBoostAmount]),queuedBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _147 => _147.queuedBoostStartBlock])),queuedDropBoostAmount:_optionalChain([u, 'optionalAccess', _148 => _148.queuedDropBoostAmount]),queuedDropBoostStartBlock:Number(_optionalChain([u, 'optionalAccess', _149 => _149.queuedDropBoostStartBlock])),hasPendingBoosts:Number(_optionalChain([u, 'optionalAccess', _150 => _150.queuedBoostAmount]))>0||Number(_optionalChain([u, 'optionalAccess', _151 => _151.queuedDropBoostAmount]))>0,hasActiveBoosts:Number(_optionalChain([u, 'optionalAccess', _152 => _152.activeBoostAmount]))>0}}})])}var Da=[{validatorAddress:"0x8f51e63d9921a461be29e73dca1c2385e1adc5943fbb36ded4ba96025ee8a783184d1118da08171f6ea831153c878a6d",earning:.045,staked:{amount:16114000000000000000n,formattedAmount:"161.14"},rewards:{amount:15214000000000000000n,formattedAmount:"152.14"}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0x97b21253b17f4e814fe7505c15c18e68c85ab2477274ad370a762df50e3eb4cb1a48451e089bc22e158d7448549a8ab9",earning:.045,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:16159000000000000000n,formattedAmount:"161.59"}],unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},validatorAddress:"0xa2705d6b27891f3f5651f26547d1bb79e256f95f249d1ad717cef087d77d38b037e5d6dbaa2538930fd0731ec9b02f3a",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:16159000000000000000n,formattedAmount:"161.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-72e6)}]}},{staked:{amount:241514000000000000000n,formattedAmount:"2415.14"},validatorAddress:"0xa4e4b63514f54d61da5197359f11ff1fc2930788ba2ffdd30c2fc059cbe0221020197bf9446b16ac347f36c7517a8686",earning:.145,rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{unstake:[{amount:1159000000000000000n,formattedAmount:"11.59",timestamp:_chunkMUNAP5TMcjs.k.call(void 0, Date.now()-36e6)}]}},{validatorAddress:"0xb0511ec039591e98bd4e183ba70b85572214a7ad8ca1a43e96ad3495d3821054927bc542e5482ec9733e35b7ef0b1f03",earning:.045,staked:{amount:141514000000000000000n,formattedAmount:"1415.14"},rewards:{amount:15414000000000000000n,formattedAmount:"154.14"},queueData:{stake:[{amount:1159000000000000000n,formattedAmount:"11.59"}]}}];async function Gd(e){return await new Promise(t=>setTimeout(t,2e3)),e==="0x4C368fFE3650379d6318C8d4630bc51f8Ad12bB6"?Da:[]}async function Id({pubkey:e,dayRange:t,...r}){return(await g("pol.subgraph",r).query({query:_subgraph3.GetValidatorAnalytics,variables:{pubKey:e,timestamp:_chunkMUNAP5TMcjs.y.call(void 0, t).toString()}})).data}async function Ud({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getValCommissionOnIncentiveTokens",args:[t]});return Number(_nullishCoalesce(o, () => (0n)))/1e4}var Od=(e,t,r)=>{if(!t||!e)return 0;let a=_chunkMUNAP5TMcjs.x.call(void 0, 1)/r;return(t?a*(Number(_optionalChain([e, 'access', _153 => _153.dynamicData, 'optionalAccess', _154 => _154.stakedBeraAmount]))/t):0)*Number.parseFloat(_nullishCoalesce(_optionalChain([e, 'access', _155 => _155.dynamicData, 'optionalAccess', _156 => _156.rewardRate]), () => ("0")))};async function Jd({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunkVP7XUOSIcjs.h,functionName:"getOperator",args:[t]})}catch(o){throw console.log("getValidatorOperatorAddress:",o),o}}async function Yd({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r),o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getValQueuedCommissionOnIncentiveTokens",args:[t]});return{blockNumberLast:o.blockNumberLast,commissionRate:Number(o.commissionRate)/1e4}}async function em({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{return await e.readContract({address:a.depositContract,abi:_chunkVP7XUOSIcjs.h,functionName:"queuedOperator",args:[t]})}catch(o){throw console.log("getValidatorQueuedOperatorAddress:",o),o}}async function nm({client:e,pubKey:t,...r}){let{config:a}=_chunkOS5AJMYJcjs.a.call(void 0, r);try{let o=await e.readContract({address:a.pol.beraChef,abi:_chunkVP7XUOSIcjs.i,functionName:"getQueuedRewardAllocation",args:[t]});return oe(o,0)}catch(o){throw console.log("getValidatorQueuedRewardAllocation:",o),o}}exports.a = Oa; exports.b = Ae; exports.c = g; exports.d = _client.gql; exports.e = rt; exports.f = _berancersdk.BalancerApi; exports.g = ko; exports.h = Eo; exports.i = Qo; exports.j = ot; exports.k = Ko; exports.l = en; exports.m = sn; exports.n = mn; exports.o = ae; exports.p = yn; exports.q = we; exports.r = Pn; exports.s = Vn; exports.t = Gn; exports.u = dt; exports.v = Un; exports.w = Mn; exports.x = $n; exports.y = zn; exports.z = mt; exports.A = Ge; exports.B = pt; exports.C = Vi; exports.D = Ni; exports.E = Dr; exports.F = Fi; exports.G = Wi; exports.H = bt; exports.I = Yi; exports.J = yt; exports.K = us; exports.L = gs; exports.M = hs; exports.N = Hr; exports.O = vs; exports.P = Ss; exports.Q = xs; exports.R = Pe; exports.S = il; exports.T = Bt; exports.U = pl; exports.V = Al; exports.W = Bl; exports.X = Nl; exports.Y = ql; exports.Z = Ul; exports._ = Hl; exports.$ = Kl; exports.aa = de; exports.ba = iu; exports.ca = pu; exports.da = yu; exports.ea = Pu; exports.fa = St; exports.ga = Iu; exports.ha = Hu; exports.ia = Ku; exports.ja = Zu; exports.ka = sc; exports.la = mc; exports.ma = Na; exports.na = Fc; exports.oa = Et; exports.pa = Oc; exports.qa = $c; exports.ra = zc; exports.sa = oe; exports.ta = Fa; exports.ua = td; exports.va = id; exports.wa = sd; exports.xa = dd; exports.ya = pd; exports.za = Ft; exports.Aa = Sd; exports.Ba = Gd; exports.Ca = Id; exports.Da = Ud; exports.Ea = Od; exports.Fa = Jd; exports.Ga = Yd; exports.Ha = em; exports.Ia = nm;
4
+ //# sourceMappingURL=chunk-IJM76AWK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/pong/coding/monobera/packages/berajs/dist/chunk-IJM76AWK.cjs","../src/actions/bend/getConvertToAssets.ts","../src/actions/clients/BeraApolloClient.ts","../src/actions/governance/parseProposalBody.ts","../src/actions/governance/getProposalFromTx.ts"],"names":["getConvertToAssets","sharesAmount","vaultAddress","publicClient","convertToAssets","metaMorphoAbi","formatEther","BeraApolloClient","ApolloClient","options","queryName","getQueryName","endpoint","tags","executeQuery","res","BeraTracing"],"mappings":"AAAA,q+CAA0H,wDAAyD,wDAAuE,wDAAyJ,wDAAgE,wDAAgF,4BCAte,MAU7D,SAAsBA,EAAAA,CAAmB,CACvC,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CACF,CAAA,CAAyE,CACvE,IAAMC,CAAAA,CAAkB,MAAMD,CAAAA,CAAa,YAAA,CAAa,CACtD,OAAA,CAASD,CAAAA,CACT,GAAA,CAAKG,mBAAAA,CACL,YAAA,CAAc,iBAAA,CACd,IAAA,CAAM,CAACJ,CAAY,CACrB,CAAC,CAAA,CACD,MAAO,CAAE,GAAA,CAAKG,CAAAA,CAAiB,SAAA,CAAWE,+BAAAA,CAA2B,CAAE,CACzE,CCtBA,wCAMO,sDAEmB,IAYbC,EAAAA,CAAN,MAAA,QAA+BC,oBAAa,CAIvC,WAEV,CACEC,CAAAA,CAMA,CACA,KAAA,CAAMA,CAAO,CAAA,CACb,IAAA,CAAK,GAAA,CAAMA,CAAAA,CAAQ,GACrB,CAEA,MAAM,KAAA,CAKJA,CAAAA,CAIC,CACD,IAAMC,CAAAA,CAAYC,EAAAA,CAAaF,CAAAA,CAAQ,KAAK,CAAA,CACtCG,CAAAA,CAAW,CACf,GAAA,CAAK,IAAA,CAAK,GAAA,CACV,IAAA,CAAM,SACR,CAAA,CAEMC,CAAAA,CAAO,CACX,gBAAA,CAAkB,OAAA,CAClB,sBAAA,CAAwBD,CAAAA,CAAS,GAAA,CACjC,uBAAA,CAAyBA,CAAAA,CAAS,IAAA,CAClC,4BAAA,CAA8BF,CAChC,CAAA,CAEA,GAAI,CACF,IAAMI,CAAAA,CAAe,CAAA,CAAA,EACnB,KAAA,CAAM,KAAA,CACJL,CACF,CAAA,CAEIM,CAAAA,CAAM,MAAMC,mBAAAA,CAAY,SAAA,CAC5B,CACE,IAAA,CAAM,CAAA,QAAA,EAAWN,CAAS,CAAA,CAAA;ACNQ;AC4BT","file":"/Users/pong/coding/monobera/packages/berajs/dist/chunk-IJM76AWK.cjs","sourcesContent":[null,"import { type Address, formatEther, type PublicClient } from \"viem\";\n\nimport { metaMorphoAbi } from \"~/abi/bend/metaMorpho\";\n\nexport interface GetConvertToAssetsProps {\n sharesAmount: bigint;\n vaultAddress: Address;\n publicClient: PublicClient;\n}\n\nexport async function getConvertToAssets({\n sharesAmount,\n vaultAddress,\n publicClient,\n}: GetConvertToAssetsProps): Promise<{ raw: bigint; formatted: string }> {\n const convertToAssets = await publicClient.readContract({\n address: vaultAddress,\n abi: metaMorphoAbi,\n functionName: \"convertToAssets\",\n args: [sharesAmount],\n });\n return { raw: convertToAssets, formatted: formatEther(convertToAssets) };\n}\n","import {\n ApolloClient,\n type DocumentNode,\n type ErrorLike,\n type OperationVariables,\n ServerError,\n} from \"@apollo/client\";\n\nimport { appConfig } from \"@berachain/config/internal\";\n\nimport { BeraError } from \"~/errors/BeraError\";\nimport { BeraTracing } from \"~/errors/BeraTracing\";\nimport { RequestError } from \"~/errors/RequestError\";\n\n/**\n * This is a wrapper around the ApolloClient that throws a BeraError if the query returns an error or no data.\n *\n * It's mostly a typescript helper that keeps data always defined since we use errorPolicy: \"none\" by default.\n * Such setting will throw an error if the query returns an error, rather than returning an object with undefined data and an error property.\n */\nexport class BeraApolloClient extends ApolloClient {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n protected url: string;\n\n constructor(\n options: ApolloClient.Options & {\n /**\n * The URL of the endpoint. Used for error reporting only.\n */\n url: string;\n },\n ) {\n super(options);\n this.url = options.url;\n }\n\n async query<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n // We handle errors in our custom logic so we don't need to pass errorPolicy here\n options: Omit<ApolloClient.QueryOptions<TData, TVariables>, \"errorPolicy\">,\n ): Promise<{\n // Only data is returned and we're sure it's not undefined due to errorPolicy\n data: TData;\n }> {\n const queryName = getQueryName(options.query);\n const endpoint = {\n url: this.url,\n type: \"graphql\",\n } as const;\n\n const tags = {\n \"operation.type\": \"query\",\n \"operation.source.url\": endpoint.url,\n \"operation.source.type\": endpoint.type,\n \"operation.source.queryName\": queryName,\n };\n\n try {\n const executeQuery = () =>\n super.query<TData, TVariables>(\n options as ApolloClient.QueryOptions<TData, TVariables>,\n );\n\n const res = await BeraTracing.startSpan(\n {\n name: `GraphQL ${queryName}`,\n op: \"BeraApolloClient.query\",\n attributes: tags,\n },\n executeQuery,\n );\n\n if (res.error || res.data === undefined) {\n throw new BeraError({\n level: \"fatal\",\n tags,\n message:\n \"Bera Apollo Client: No data returned from query, but error should be thrown since errorPolicy is none\",\n });\n }\n\n return { data: res.data } as const;\n } catch (error) {\n !appConfig.env.isProduction &&\n console.error(\"BeraApolloClient error\", error);\n\n if (ServerError.is(error)) {\n throw new RequestError({\n // reason: error,\n response: error.response,\n cause: error,\n statusCode: error.statusCode,\n endpoint,\n tags,\n });\n }\n if (error instanceof TypeError) {\n throw new RequestError({\n level: \"fatal\",\n reason: \"TypeError\",\n response: error,\n cause: error,\n endpoint,\n tags,\n });\n }\n throw new RequestError({\n response: error as ErrorLike,\n tags,\n cause: error,\n endpoint,\n });\n }\n }\n}\n\nfunction getQueryName(queryDefinition: DocumentNode) {\n const likelyNode = queryDefinition.definitions.find(\n (def) => def.kind === (\"OperationDefinition\" as const),\n );\n\n return likelyNode?.name?.value;\n}\n","import graymatter from \"gray-matter\";\n\nimport type { ProposalSelectionFragment } from \"@berachain/graphql/governance\";\n\nconst parseLegacyBody = (\n s: string,\n): { type: string | null; title: string; content: string } => {\n const pattern = /#(?:([\\w-]+)# )?(.+)\\n([\\s\\S]*)/;\n const match = s.match(pattern);\n\n if (match) {\n const type = match[1] || null;\n const title = match[2];\n const content = match[3].replace(\"\\n\", \"<br />\");\n return {\n type,\n title,\n content,\n };\n }\n\n throw new Error(\"Invalid proposal body\");\n};\n\nexport const parseProposalBody = (\n proposal?: Pick<ProposalSelectionFragment, \"description\">,\n): graymatter.GrayMatterFile<string> & {\n isFrontMatter: boolean;\n} => {\n if (!proposal) {\n return {\n isFrontMatter: false,\n data: { title: \"Loading...\" },\n content: \"\",\n matter: \"\",\n language: \"\",\n orig: \"\",\n stringify: () => \"\",\n };\n }\n\n const body = proposal?.description ?? \"\";\n\n if (graymatter.test(body)) {\n return { ...graymatter(body), isFrontMatter: true };\n }\n\n try {\n const legacyBody = parseLegacyBody(body);\n\n return {\n isFrontMatter: false,\n data: { title: legacyBody.title },\n content: legacyBody.content,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n } catch {\n return {\n isFrontMatter: false,\n data: {\n title: proposal?.description?.split(\"\\n\")[0].slice(0, 100),\n },\n content: body,\n matter: \"\",\n language: \"\",\n orig: body,\n stringify: () => body,\n };\n }\n};\n","import {\n type Address,\n type PublicClient,\n parseEventLogs,\n type TransactionReceipt,\n} from \"viem\";\n\nimport {\n type ExecutableCallSubsetFragment,\n ProposalStatus,\n type ProposalWithVotesFragment,\n} from \"@berachain/graphql/governance\";\n\nimport { governanceAbi } from \"~/abi/governance/governance\";\nimport { assertPublicClient } from \"~/errors/assert\";\nimport { parseProposalBody } from \"./parseProposalBody\";\n\nexport async function getProposalFromTx(\n args: {\n publicClient: PublicClient | undefined;\n } & (\n | {\n tx: TransactionReceipt;\n }\n | {\n txHash: Address;\n }\n ),\n): Promise<ProposalWithVotesFragment | null> {\n assertPublicClient(args.publicClient);\n\n let tx: TransactionReceipt;\n\n if (\"tx\" in args) {\n tx = args.tx;\n } else {\n tx = await args.publicClient.getTransactionReceipt({ hash: args.txHash });\n }\n\n const creationEvent = tx?.logs\n ? parseEventLogs({\n abi: governanceAbi,\n logs: tx.logs,\n eventName: \"ProposalCreated\",\n })?.at(0)\n : undefined;\n\n if (!tx || !creationEvent) {\n return null;\n }\n\n const block = await args.publicClient.getBlock({\n blockNumber: tx.blockNumber,\n });\n const fm = parseProposalBody({\n description: creationEvent?.args.description as string,\n });\n\n return {\n id: String(creationEvent.args.proposalId),\n proposalId: String(creationEvent?.args.proposalId),\n createdAt: block.timestamp.toString(),\n title: fm.data.title,\n createdAtBlock: block.timestamp.toString(),\n voteStartAt: String(creationEvent?.args.voteStart),\n voteEndAt: String(creationEvent?.args.voteEnd),\n proposer: creationEvent?.args.proposer,\n description: fm.content,\n unverifiedForumLink: fm.data.forumLink,\n pollResult: {\n for: \"0\",\n forVotersCount: 0,\n forPercentage: \"0\",\n against: \"0\",\n againstVotersCount: 0,\n againstPercentage: \"0\",\n abstain: \"0\",\n abstainVotersCount: 0,\n abstainPercentage: \"0\",\n total: \"0\",\n totalVotersCount: 0,\n totalTowardsQuorum: \"0\",\n },\n status: ProposalStatus.Pending,\n quorum: null,\n topics: fm.data.topics,\n votes: [],\n executableCalls: creationEvent?.args.targets.map(\n (target, index) =>\n ({\n __typename: \"ExecutableCall\",\n id: `${tx.transactionHash}-${index}`,\n target: target as Address,\n value: String(creationEvent?.args.values[index]),\n calldata: creationEvent?.args.calldatas[index],\n }) satisfies ExecutableCallSubsetFragment,\n ),\n timelock: undefined,\n } satisfies ProposalWithVotesFragment;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{d as o,e as i,f as a,g as p}from"./chunk-C3G5KXCH.mjs";import{BaseError as u}from"viem";function k({cause:e,level:t}){if(e instanceof u){let n=o({error:e,revertIfUnknown:!1});if(n.isRequestError&&n.rootCause instanceof u&&"url"in n.rootCause&&typeof n.rootCause.url=="string")return new a({cause:n.rootCause,response:void 0,endpoint:{url:n.rootCause.url,type:"rpc"},level:t})}return e instanceof i?e:new i({cause:e,level:t})}import{isAddress as m}from"viem";function c(e){return e!=null}function x({value:e,property:t,fn:r}){let n=r(e);if(!n.isValid)throw new p({property:t,value:e,expected:n.expectedType})}function s({value:e,property:t,fn:r}){x({value:e,property:t,fn:n=>{let l=c(n),{isValid:E,expectedType:v}=r(n);return{expectedType:v,isValid:l&&E}}})}function y(e,t){s({value:e,property:t,fn:r=>({expectedType:"defined",isValid:c(r)})})}function D(e,t="publicClient"){y(e,t)}function K(e,t){s({value:e,property:t,fn:r=>({expectedType:"Address",isValid:typeof r=="string"&&m(r)})})}function M(e,t){s({value:e,property:t,fn:r=>({expectedType:"number",isValid:(typeof r=="string"||typeof r=="number")&&Number(r)>0})})}function f(){let e={};return{emit(t,...r){for(let n of e[t]||[])n(...r)},events:e,on(t,r){return e[t]||(e[t]=[]),e[t].push(r),()=>{e[t]=e[t]?.filter(n=>r!==n)}}}}var d=f(),_={captureException(e){let t={exception:e,timestamp:Date.now()};d.emit("exception",t)},on(...e){return d.on(...e)}};export{k as a,y as b,D as c,K as d,M as e,_ as f};
2
+ //# sourceMappingURL=chunk-MTS5SZLA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors/initBeraError.ts","../src/errors/assert.ts","../src/utils/createEmitter.ts","../src/errors/BeraMonitoring.ts"],"sourcesContent":["import { BaseError } from \"viem\";\n\nimport { BeraError } from \"./BeraError\";\nimport { parseViemError } from \"./parseViemError\";\nimport { RequestError } from \"./RequestError\";\nimport type { SeverityLevel } from \"./severity\";\n\n/**\n * The preferred way to normalize any unknown error into a BeraError.\n *\n * This function acts as a smart factory that picks the correct BeraError subclass:\n *\n * 1. If `cause` is already a `BeraError`, returns it as-is (no double-wrapping).\n * 2. If `cause` is a viem `BaseError`, runs `parseViemError` to classify it:\n * - If the root cause is an `HttpRequestError` (RPC transport failure), wraps it\n * in a `RequestError` with the endpoint URL extracted from the error.\n * 3. Otherwise, wraps in a new `BeraError` — which triggers the automatic reason\n * detection pipeline in the BeraError constructor (parseViemError → errorMap → displayMessage).\n *\n * **Use this instead of `new BeraError({ cause })` when you don't know the error type.**\n * It ensures RequestErrors are correctly classified (important for Sentry filtering\n * and fingerprinting — RequestErrors are skipped from transaction error grouping).\n *\n * @example\n * ```ts\n * try {\n * await someOperation();\n * } catch (error) {\n * // Normalizes to the right subclass, reason auto-detected\n * throw initBeraError({ cause: error });\n * }\n * ```\n *\n * @example\n * ```ts\n * // Reporting to Sentry without rethrowing\n * catch (error) {\n * captureException(initBeraError({ cause: error }));\n * }\n * ```\n */\nexport function initBeraError({\n cause: error,\n level,\n}: {\n cause: unknown;\n /**\n * The severity level of the error, only used if the error is not a BeraError.\n */\n level?: SeverityLevel;\n}): BeraError {\n // ── Step 1: Check if it's a viem BaseError that wraps an RPC transport failure ──\n // parseViemError with revertIfUnknown=false won't throw — it returns { reason: undefined }\n // if the error chain doesn't match any known type.\n if (error instanceof BaseError) {\n const parsed = parseViemError({\n error,\n revertIfUnknown: false,\n });\n if (\n parsed.isRequestError &&\n parsed.rootCause instanceof BaseError &&\n \"url\" in parsed.rootCause &&\n typeof parsed.rootCause.url === \"string\"\n ) {\n // RPC transport failure (e.g. HTTP 502 from the RPC endpoint).\n // Wrapping in RequestError gives it proper endpoint tagging and level=\"warning\".\n return new RequestError({\n cause: parsed.rootCause,\n response: undefined,\n endpoint: {\n url: parsed.rootCause.url as string,\n type: \"rpc\",\n },\n level,\n });\n }\n }\n\n // ── Step 2: Return as-is if already a BeraError, otherwise wrap ──────────\n // The BeraError constructor will run automatic reason detection on the cause.\n const err =\n error instanceof BeraError\n ? error\n : new BeraError({\n cause: error,\n level,\n });\n\n return err;\n}\n","import type { GetPublicClientReturnType } from \"@wagmi/core\";\nimport { type Address, isAddress, type PublicClient } from \"viem\";\n\nimport { InvalidArgumentError } from \"./InvalidArgumentError\";\n\nfunction _isDefined<T>(value: T): value is NonNullable<T> {\n return value !== undefined && value !== null;\n}\n\ntype _AssertFn<T> = (value: T) => { expectedType: string; isValid: boolean };\n\n/**\n * Internal assertion function.\n * @throws An InvalidArgumentError if the value is not valid.\n */\nfunction _assert<T>({\n value,\n property,\n fn,\n}: {\n value: T;\n property: string;\n fn: _AssertFn<T>;\n}) {\n const result = fn(value);\n if (!result.isValid) {\n throw new InvalidArgumentError({\n property,\n value,\n expected: result.expectedType,\n });\n }\n}\n\nfunction _assertDefined<T>({\n value,\n property,\n fn,\n}: {\n value: T;\n property: string;\n fn: (value: T) => { expectedType: string; isValid: boolean };\n}) {\n _assert({\n value,\n property,\n fn: (value) => {\n const isDefined = _isDefined(value);\n const { isValid, expectedType } = fn(value);\n return {\n expectedType,\n isValid: isDefined && isValid,\n };\n },\n });\n}\n\n/**\n * Asserts that a value is defined.\n * @throws An InvalidArgumentError if the value is undefined or null.\n */\nexport function assertDefined<T>(\n /**\n * The value to assert.\n */\n value: T,\n /**\n * The property name.\n */\n property: string,\n): asserts value is NonNullable<T> {\n _assertDefined({\n value,\n property,\n fn: (value) => ({ expectedType: \"defined\", isValid: _isDefined(value) }),\n });\n}\n\n/**\n * Asserts that a value is a PublicClient.\n * @throws An InvalidArgumentError if the value is undefined or not a PublicClient.\n */\nexport function assertPublicClient(\n /**\n * The value to assert.\n */\n value: // it's important to have both types here because it helps with typescript build performance\n PublicClient | GetPublicClientReturnType | undefined,\n /**\n * The property name.\n */\n property: string = \"publicClient\",\n): asserts value is PublicClient {\n // there's no current way to check if a value is a PublicClient, so we just assert it's defined and `value: PublicClient` will do the rest\n assertDefined(value, property);\n}\n\n/**\n * Asserts that a value is an address (20 bytes).\n * @throws An InvalidArgumentError if the value is undefined, null, not a string, or not an address.\n */\nexport function assertAddress(\n /**\n * The value to assert.\n */\n value: string | undefined | null,\n /**\n * The property name.\n */\n property: string,\n): asserts value is Address {\n _assertDefined({\n value,\n property,\n fn: (value) => ({\n expectedType: \"Address\",\n isValid: typeof value === \"string\" && isAddress(value),\n }),\n });\n}\n\n/**\n * Asserts that a value is a number greater than 0.\n * @throws An InvalidArgumentError if the value is undefined, null, not a string or number, or not a number greater than 0.\n */\nexport function assertAmount(\n /**\n * The value to assert.\n */\n value: unknown,\n /**\n * The property name.\n */\n property: string,\n): asserts value is string | number {\n _assertDefined({\n value,\n property,\n fn: (value) => ({\n expectedType: \"number\",\n isValid:\n (typeof value === \"string\" || typeof value === \"number\") &&\n Number(value) > 0,\n }),\n });\n}\n","interface EventsMap {\n [event: string]: any;\n}\n\ninterface DefaultEvents extends EventsMap {\n [event: string]: (...args: any) => void;\n}\n\nexport type Unsubscribe = () => void;\n\nexport interface Emitter<Events extends EventsMap = DefaultEvents> {\n /**\n * Calls each of the listeners registered for a given event.\n *\n * ```js\n * ee.emit('tick', tickType, tickDuration)\n * ```\n *\n * @param event The event name.\n * @param args The arguments for listeners.\n */\n emit<K extends keyof Events>(event: K, ...args: Parameters<Events[K]>): void;\n\n /**\n * Add a listener for a given event.\n *\n * ```js\n * const unbind = ee.on('tick', (tickType, tickDuration) => {\n * count += 1\n * })\n *\n * disable () {\n * unbind()\n * }\n * ```\n *\n * @param event The event name.\n * @param cb The listener function.\n * @returns Unbind listener from event.\n */\n on<K extends keyof Events>(event: K, cb: Events[K]): Unsubscribe;\n events: Partial<{ [E in keyof Events]: Events[E][] }>;\n}\n\n/**\n * An interface for mixins that expose the `on` function (without the emitter\n * bound to `this`)\n *\n * ```js\n * import { createEmitter } from '~utils/createEmitter'\n *\n * class Ticker implements EmitterMixin<Events> {\n * constructor() {\n * this.emitter = createEmitter()\n * }\n * on(...args) {\n * return this.emitter.on(...args)\n * }\n * tick() {\n * this.emitter.emit('tick')\n * }\n * }\n * ```\n */\nexport interface EmitterMixin<Events extends EventsMap = DefaultEvents> {\n on<K extends keyof Events>(event: K, cb: Events[K]): Unsubscribe;\n}\n\n/**\n * Create event emitter.\n *\n * ```js\n * import { createEmitter } from '~/utils/createEmitter'\n *\n * class Ticker {\n * constructor() {\n * this.emitter = createEmitter()\n * }\n * on(...args) {\n * return this.emitter.on(...args)\n * }\n * tick() {\n * this.emitter.emit('tick')\n * }\n * }\n * ```\n *\n * Inspired by {@link https://github.com/ai/nanoevents}\n */\nexport function createEmitter<\n Events extends EventsMap = DefaultEvents,\n>(): Emitter<Events> {\n /**\n * Event names in keys and arrays with listeners in values.\n *\n * ```js\n * emitter1.events = emitter2.events\n * emitter2.events = { }\n * ```\n */\n const events: Partial<{ [E in keyof Events]: Events[E][] }> = {};\n\n return {\n emit(event, ...args) {\n for (const callback of events[event] || []) {\n callback(...args);\n }\n },\n events,\n on(event, cb) {\n if (!events[event]) {\n events[event] = [];\n }\n\n events[event].push(cb);\n\n return () => {\n events[event] = events[event]?.filter((i) => cb !== i);\n };\n },\n };\n}\n","import { createEmitter, type EmitterMixin } from \"~/utils/createEmitter\";\nimport type { BeraError } from \"./BeraError\";\nimport type { SeverityLevel } from \"./severity\";\n\n/**\n * Context passed alongside captured exceptions.\n * Mirrors the subset of Sentry's CaptureContext that berajs actually uses.\n */\nexport interface CaptureContext {\n level: SeverityLevel;\n extra?: Record<string, unknown>;\n tags?: Record<string, string | number | boolean | null | undefined>;\n fingerprint?: string[];\n data?: Record<string, unknown>;\n}\n\nexport interface ErrorEvent {\n exception: BeraError;\n timestamp: number;\n}\n\nconst _emitter = createEmitter<{ exception: (event: ErrorEvent) => void }>();\n\n/**\n * A generic error reporter for berajs.\n *\n * Instead of calling Sentry.captureException directly, berajs calls\n * `BeraMonitoring.captureException()`. Consumer apps subscribe via `.on()` and\n * forward events to their monitoring provider (Sentry, Datadog, etc.).\n *\n * @example\n * ```ts\n * // In berajs code:\n * import { BeraMonitoring } from \"~/errors/BeraMonitoring\";\n * BeraMonitoring.captureExceptionException(error);\n *\n * // In app instrumentation:\n * import { BeraMonitoring } from \"@berachain/berajs/errors\";\n * BeraMonitoring.on((event) => {\n * if (event.type === \"exception\") {\n * Sentry.captureException(event.exception);\n * }\n * });\n * ```\n */\nexport const BeraMonitoring: {\n captureException: (exception: BeraError) => void;\n} & EmitterMixin<{ exception: (event: ErrorEvent) => void }> = {\n /**\n * Capture an exception. Notifies all subscribers.\n */\n captureException(exception: BeraError): void {\n const event: ErrorEvent = {\n exception,\n timestamp: Date.now(),\n };\n _emitter.emit(\"exception\", event);\n },\n /**\n * Subscribe to error events.\n * @returns An unsubscribe function.\n */\n on(...args) {\n return _emitter.on(...args);\n },\n};\n"],"mappings":"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","names":["BaseError","initBeraError","error","level","BaseError","parsed","parseViemError","RequestError","BeraError","isAddress","_isDefined","value","_assert","property","fn","result","InvalidArgumentError","_assertDefined","isDefined","isValid","expectedType","assertDefined","assertPublicClient","assertAddress","isAddress","assertAmount","createEmitter","events","event","args","callback","cb","i","_emitter","createEmitter","BeraMonitoring","exception","event","args"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk7SC4VD3Ucjs = require('./chunk-7SC4VD3U.cjs');async function F(e){if(_optionalChain([e, 'access', _2 => _2.headers, 'access', _3 => _3.get, 'call', _4 => _4("content-type"), 'optionalAccess', _5 => _5.includes, 'call', _6 => _6("application/json")]))return await e.json();{let t=await e.text();try{return JSON.parse(t)}catch (e2){return{message:"Unknown error, can't decode response into JSON",cause:t}}}}async function C(e,n){try{let t=await fetch(typeof e=="string"||e instanceof URL?e:e.url,{...n});if(!t.ok){let r=await F(t);throw new (0, _chunk7SC4VD3Ucjs.f)({cause:r,response:t,endpoint:e})}return t}catch(t){throw t instanceof _chunk7SC4VD3Ucjs.f?t:new (0, _chunk7SC4VD3Ucjs.f)({cause:t,endpoint:e,response:void 0})}}async function ee(e,n){return(await C(e,{...n,headers:{Accept:"application/json",..._optionalChain([n, 'optionalAccess', _7 => _7.headers])}})).json()}var _viem = require('viem');var re=_viem.parseEther.call(void 0, "0.005"),oe= exports.e =1e5,se= exports.f =1,ue= exports.g =.1,ie= exports.h =50,ae= exports.i =7920027n;var ce=e=>2n*BigInt(e);function le(e){return Math.floor(e/1e3)}function O(e){return e*1e3}function V(e){return e*O(60)}function j(e){return e*60}function J(e){return e*V(60)}function q(e){return e*j(60)}function S(e){return e*J(24)}function w(e){return e*q(24)}function be(e){return e*S(7)}function pe(e){return e*w(7)}function de(e){return e*S(30)}function he(e){return e*w(30)}function ge(e){return e*S(365)}function Ne(e){return e*w(365)}function ye(e){let n=new Date;return n.setDate(n.getDate()-e)*1e3}var G=["January","February","March","April","May","June","July","August","September","October","November","December"],k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Me(e,n){let t=new Date(e*1e3),r=t.getDate(),u="th";return r===1||r===21||r===31?u="st":r===2||r===22?u="nd":(r===3||r===23)&&(u="rd"),n?`${k[t.getMonth()]} ${r}`:`${G[t.getMonth()]} ${r}${u}, ${t.getFullYear()}`}function Ie(...e){let n=e[0],t,r,u,l;if(typeof e[1]!="object")t=_nullishCoalesce(e[1], () => (!1)),r=_nullishCoalesce(e[2], () => (!1)),l=_nullishCoalesce(e[3], () => (!1)),u=!0;else{let s=e[1];t=_nullishCoalesce(s.condensed, () => (!1));let o=_nullishCoalesce(s.greaterUnit, () => ("hours"));o==="days"?(r=!0,u=!0):o==="hours"?(r=!1,u=!0,l=!1):(r=!1,u=!0),l=_nullishCoalesce(s.showSeconds, () => (!1))}let a=Math.floor(n/(3600*24)),i=Math.floor(n%(3600*24)/3600),c=Math.floor(n%3600/60),m=n%60;if(r||(i+=a*24,a=0),a===0&&i===0&&c===0)return t?"< 1 M":"less than a minute";let g=a>0?`${a}${t?"D":" day"}${!t&&a!==1?"s":""}`:"",N=i>0?`${i}${t?"H":" hour"}${!t&&i!==1?"s":""}`:"",M=c>0&&u||!a&&!i?`${c}${t?"M":" minute"}${!t&&c!==1?"s":""}`:"",I=m>0&&l?`${m}${t?"S":" second"}${!t&&m!==1?"s":""}`:"";return[g,N,M,I].filter(Boolean).join(t?" ":", ")}var _bignumberjs = require('@berachain/utils/pkg/bignumber.js'); var _bignumberjs2 = _interopRequireDefault(_bignumberjs);var U=["","K","M","B","T","P","E","Z","Y"];function _(e){return e instanceof _bignumberjs2.default?e:new (0, _bignumberjs2.default)(e)}function X(e,n){return _(e).shiftedBy(n*-1)}function we(e,n={}){if(typeof n=="number"){let d=n;if(e==null)return"";if(typeof e=="object")throw new Error("Value must be a number if using deprecated version");let b=Number(e).toFixed(d);return b=b.replace(/(\.\d*?[1-9])0+$|\.0*$/,"$1"),b}let{visibleDecimals:t,compact:r=!0,percent:u=!1,roundDown:l=!1,roundUp:a=!1,compactThreshold:i,maxValue:c,symbol:m,prefixText:g="",suffixText:N="",showIsSmallerThanMin:M=!0,ifNullish:I=""}=n||{};if(e==null)return I;let s=u?Number(e)*100:Number(e);if(Number.isNaN(s))return"NaN";if(s===Number.POSITIVE_INFINITY)return"Infinity";if(s===Number.NEGATIVE_INFINITY)return"-Infinity";let o=_nullishCoalesce(t, () => (0));s===0?o=0:t===void 0&&(Math.abs(s)>1||u||m==="USD"?o=2:o=7);let D=10**-o,$=s!==0&&Math.abs(s)<Math.abs(D),R=s<0,L=c?Math.abs(s)>c:!1,p=$?D:s,T=r&&(!i||Math.abs(s)>i);l&&!T?p=Math.trunc(Number(p)*10**o)/10**o:a&&!T&&(p=Math.ceil(Number(p)*10**o)/10**o);let x;if(L)x=s>c?"\u221E":"-\u221E";else if(T){let d=_(p),b=d.abs().toFixed(0).length;i&&Math.abs(s)<=i&&(b=0);let E=Math.min(Math.floor(b?(b-1)/3:0),U.length-1),B=U[E],h=X(d,3*E).toNumber();l?h=Math.trunc(Number(h)*10**o)/10**o:a&&(h=Math.ceil(Number(h)*10**o)/10**o),x=`${new Intl.NumberFormat("en-US",{maximumFractionDigits:o,minimumFractionDigits:o}).format(h)}${B}`}else{let d=new Intl.NumberFormat("en-US",{maximumFractionDigits:o,minimumFractionDigits:o}).format(Math.abs(p));x=`${R?"-":""}${d}`}let f=[];return g&&f.push(g),$&&M&&f.push(s<0?">":"<"),_optionalChain([m, 'optionalAccess', _8 => _8.toLowerCase, 'call', _9 => _9()])==="usd"&&!u&&f.push("$"),f.push(x),u&&f.push("%"),_optionalChain([m, 'optionalAccess', _10 => _10.toLowerCase, 'call', _11 => _11()])!=="usd"&&typeof m<"u"&&f.push(" ",m),N&&f.push(N),f.join("")}var De=e=>e?Number(e)>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:_nullishCoalesce(Number(e), () => (0)):0,$e= exports.D =(e,n)=>{if(!e)return"0";let[t="0",r="0"]=`${e}`.split(".");return`${t}.${r.substring(0,n)}`};var _internal = require('@berachain/config/internal');function Ue(e=_internal.defaultChainId){let n=_internal.getRpcUrls.call(void 0, e);if(!n.isAnvil)throw new Error("No anvil RPC URL found");return _viem.createTestClient.call(void 0, {mode:"anvil",transport:_viem.http.call(void 0, n.jsonRpcUrl)})}function Re({lastBlockTimestamp:e,blockTime:n}){return e?e<Date.now()/1e3-n*10:!0}exports.a = F; exports.b = C; exports.c = ee; exports.d = re; exports.e = oe; exports.f = se; exports.g = ue; exports.h = ie; exports.i = ae; exports.j = ce; exports.k = le; exports.l = O; exports.m = V; exports.n = j; exports.o = J; exports.p = q; exports.q = S; exports.r = w; exports.s = be; exports.t = pe; exports.u = de; exports.v = he; exports.w = ge; exports.x = Ne; exports.y = ye; exports.z = Me; exports.A = Ie; exports.B = we; exports.C = De; exports.D = $e; exports.E = Ue; exports.F = Re;
2
+ //# sourceMappingURL=chunk-MUNAP5TM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/pong/coding/monobera/packages/berajs/dist/chunk-MUNAP5TM.cjs","../src/utils/getErrorResponse.ts","../src/utils/beraFetch.ts","../src/utils/constants.ts","../src/utils/pythHoneyUtils.ts","../src/utils/time.ts","../src/utils/formatTimestamps.ts"],"names":["getErrorResponse","response","text","beraFetch","endpoint","options","error","RequestError","beraFetchJson","CAP_LIMIT_BUFFER","parseEther","MAX_CUSTOM_DEADLINE","MIN_CUSTOM_DEADLINE","MIN_CUSTOM_SLIPPAGE","MAX_CUSTOM_SLIPPAGE","DEFAULT_METAMASK_GAS_LIMIT","getPythDefaultUpdateFee","tokenListLength","msToSeconds","ms","seconds","minutes","minutesInSeconds","hours","hoursInSeconds","days","daysInSeconds","weeks","weeksInSeconds","months","monthsInSeconds","years","yearsInSeconds","calculateTimestampFromDays","daysRange","currentDate","monthNames","shortMonthNames","formatUnixTimestamp","unixTimestamp","isShort","date","day","daySuffix"],"mappings":"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","file":"/Users/pong/coding/monobera/packages/berajs/dist/chunk-MUNAP5TM.cjs","sourcesContent":[null,"/**\n * @deprecated use beraFetch instead\n */\nexport async function getErrorResponse(response: Response) {\n const contentType = response.headers.get(\"content-type\");\n\n if (contentType?.includes(\"application/json\")) {\n return await response.json();\n } else {\n const text = await response.text();\n try {\n return JSON.parse(text);\n } catch {\n return {\n message: \"Unknown error, can't decode response into JSON\",\n cause: text,\n };\n }\n }\n}\n","import { RequestError } from \"~/errors/RequestError\";\nimport { getErrorResponse } from \"./getErrorResponse\";\n\ntype RequestOptions = RequestInit;\n\nexport async function beraFetch(\n endpoint: ConstructorParameters<typeof RequestError>[0][\"endpoint\"],\n options?: RequestOptions,\n) {\n try {\n const response = await fetch(\n typeof endpoint === \"string\" || endpoint instanceof URL\n ? endpoint\n : endpoint.url,\n {\n ...options,\n },\n );\n if (!response.ok) {\n const error = await getErrorResponse(response);\n throw new RequestError({\n cause: error,\n // @to-do import getErrorResponse logic in this function\n // when it's removed from other places\n response: response,\n endpoint,\n });\n }\n return response;\n } catch (error) {\n if (error instanceof RequestError) {\n throw error;\n }\n\n throw new RequestError({\n cause: error,\n endpoint,\n response: undefined,\n });\n }\n}\n\nexport async function beraFetchJson<T>(\n endpoint: ConstructorParameters<typeof RequestError>[0][\"endpoint\"],\n options?: RequestOptions,\n) {\n const response = await beraFetch(endpoint, {\n ...options,\n headers: {\n Accept: \"application/json\",\n ...options?.headers,\n },\n });\n return response.json() as Promise<T>;\n}\n","import { parseEther } from \"viem\";\n\n// the buffer of the cap limit, if the user gets close to 10% of the cap limit\n// they should be warned\nexport const CAP_LIMIT_BUFFER = parseEther(\"0.005\");\n\n/**\n * Maximum allowed input for a custom deadline in seconds.\n * @type {number}\n */\nexport const MAX_CUSTOM_DEADLINE = 100000;\n\n/**\n * Minimum allowed input for a custom deadline in seconds.\n * @type {number}\n */\nexport const MIN_CUSTOM_DEADLINE = 1;\n\n/**\n * Minimum allowed input for a custom slippage tolerance percentage.\n * @type {number}\n */\nexport const MIN_CUSTOM_SLIPPAGE = 0.1;\n\n/**\n * Maximum allowed input for a custom slippage tolerance percentage.\n * @type {number}\n */\nexport const MAX_CUSTOM_SLIPPAGE = 50;\n\n/**\n * Default gas limit used by MetaMask\n * @see {@link https://github.com/MetaMask/metamask-extension/blob/06cf7459b963e26d0ae60312d4f9a342d07ab89d/ui/pages/confirmations/send/send.constants.js#L8}\n */\nexport const DEFAULT_METAMASK_GAS_LIMIT = 7920027n;\n","export const getPythDefaultUpdateFee = (tokenListLength: number) => {\n return 2n * BigInt(tokenListLength);\n};\n","/**\n * Convert milliseconds to seconds\n */\nexport function msToSeconds(ms: number): number {\n return Math.floor(ms / 1000);\n}\n\n/**\n * Time utility functions for converting between different time units.\n *\n * This utility file provides functions to convert between seconds, minutes, hours, and days.\n * Note on naming conventions: We use \"seconds\" instead of \"secondsToMs\" because JavaScript\n * is typically based in milliseconds, so the conversion to milliseconds is the more common\n * and expected operation. We use \"xxxInSeconds\" when converting to second-based units.\n */\n\n/**\n * Convert seconds to milliseconds\n */\nexport function seconds(seconds: number): number {\n return seconds * 1000;\n}\n\n/**\n * Convert minutes to milliseconds\n */\nexport function minutes(minutes: number): number {\n return minutes * seconds(60);\n}\n\n/**\n * Convert minutes to seconds\n */\nexport function minutesInSeconds(minutes: number): number {\n return minutes * 60;\n}\n\n/**\n * Convert hours to milliseconds\n */\nexport function hours(hours: number): number {\n return hours * minutes(60);\n}\n\n/**\n * Convert hours to seconds\n */\nexport function hoursInSeconds(hours: number): number {\n return hours * minutesInSeconds(60);\n}\n\n/**\n * Convert days to milliseconds\n */\nexport function days(days: number): number {\n return days * hours(24);\n}\n\n/**\n * Convert days to seconds\n */\nexport function daysInSeconds(days: number): number {\n return days * hoursInSeconds(24);\n}\n\n/**\n * Convert weeks to milliseconds\n */\nexport function weeks(weeks: number): number {\n return weeks * days(7);\n}\n\n/**\n * Convert weeks to seconds\n */\nexport function weeksInSeconds(weeks: number): number {\n return weeks * daysInSeconds(7);\n}\n\n/**\n * Convert months to milliseconds using 30 days per month\n */\nexport function months(months: number): number {\n return months * days(30);\n}\n\n/**\n * Convert months to seconds using 30 days per month\n */\nexport function monthsInSeconds(months: number): number {\n return months * daysInSeconds(30);\n}\n\n/**\n * Convert years to milliseconds using 365 days per year\n */\nexport function years(years: number): number {\n return years * days(365);\n}\n\n/**\n * Convert years to seconds using 365 days per year\n */\nexport function yearsInSeconds(years: number): number {\n return years * daysInSeconds(365);\n}\n","export function calculateTimestampFromDays(daysRange: number): number {\n const currentDate = new Date();\n return currentDate.setDate(currentDate.getDate() - daysRange) * 1000;\n}\n\nconst monthNames = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst shortMonthNames = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport function formatUnixTimestamp(unixTimestamp: number, isShort?: boolean) {\n const date = new Date(unixTimestamp * 1000);\n\n const day = date.getDate();\n let daySuffix = \"th\";\n\n if (day === 1 || day === 21 || day === 31) {\n daySuffix = \"st\";\n } else if (day === 2 || day === 22) {\n daySuffix = \"nd\";\n } else if (day === 3 || day === 23) {\n daySuffix = \"rd\";\n }\n\n if (isShort) {\n return `${shortMonthNames[date.getMonth()]} ${day}`;\n }\n\n return `${\n monthNames[date.getMonth()]\n } ${day}${daySuffix}, ${date.getFullYear()}`;\n}\n\ntype LegacyArgs = [number, boolean?, boolean?, boolean?];\ntype FormatTimeLeftArgs = [\n number,\n {\n condensed?: boolean;\n greaterUnit?: \"days\" | \"hours\" | \"minutes\";\n showSeconds?: boolean;\n },\n];\n\n/**\n * Formats the time left into a string like \"8 hours, 23 minutes\".\n *\n * @param timeLeftInSeconds - The time left in seconds.\n * @returns A formatted string representing the time left.\n */\nexport function formatTimeLeft(\n ...args: FormatTimeLeftArgs | LegacyArgs\n): string {\n const timeLeftInSeconds = args[0];\n let condensed: boolean;\n\n let showDays: boolean;\n\n let showMinutes: boolean;\n let showSeconds: boolean;\n\n if (typeof args[1] !== \"object\") {\n condensed = args[1] ?? false;\n showDays = args[2] ?? false;\n showSeconds = args[3] ?? false;\n showMinutes = true;\n } else {\n const opts = args[1];\n condensed = opts.condensed ?? false;\n const greaterUnit = opts.greaterUnit ?? \"hours\";\n\n if (greaterUnit === \"days\") {\n showDays = true;\n showMinutes = true;\n } else if (greaterUnit === \"hours\") {\n showDays = false;\n showMinutes = true;\n showSeconds = false;\n } else {\n // minutes is the default\n showDays = false;\n showMinutes = true;\n }\n showSeconds = opts.showSeconds ?? false;\n }\n\n let days = Math.floor(timeLeftInSeconds / (3600 * 24));\n let hours = Math.floor((timeLeftInSeconds % (3600 * 24)) / 3600);\n const minutes = Math.floor((timeLeftInSeconds % 3600) / 60);\n const seconds = timeLeftInSeconds % 60;\n\n // If showDays=false, roll days into hours\n if (!showDays) {\n hours += days * 24;\n days = 0;\n }\n\n if (days === 0 && hours === 0 && minutes === 0) {\n return condensed ? \"< 1 M\" : \"less than a minute\";\n }\n\n const daysDisplay =\n days > 0\n ? `${days}${condensed ? \"D\" : \" day\"}${\n !condensed && days !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n\n const hoursDisplay =\n hours > 0\n ? `${hours}${condensed ? \"H\" : \" hour\"}${\n !condensed && hours !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n\n const minutesDisplay =\n (minutes > 0 && showMinutes) || (!days && !hours)\n ? `${minutes}${condensed ? \"M\" : \" minute\"}${\n !condensed && minutes !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n const secondsDisplay =\n seconds > 0 && showSeconds\n ? `${seconds}${condensed ? \"S\" : \" second\"}${\n !condensed && seconds !== 1 ? \"s\" : \"\"\n }`\n : \"\";\n return [daysDisplay, hoursDisplay, minutesDisplay, secondsDisplay]\n .filter(Boolean)\n .join(condensed ? \" \" : \", \");\n}\n"]}
@@ -0,0 +1,2 @@
1
+ var t=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3[]",name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3Value[]",name:"calls",type:"tuple[]"}],name:"aggregate3Value",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"getBasefee",outputs:[{internalType:"uint256",name:"basefee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"chainid",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"}];export{t as a};
2
+ //# sourceMappingURL=chunk-NAXAZJJY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/abi/utils/multicall3.ts"],"sourcesContent":["/**\n * This ABI is needed because viem exports a reduced version of this ABI.\n * For instance\n */\nexport const multicall3Abi = [\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes[]\", name: \"returnData\", type: \"bytes[]\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3Value[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3Value\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"blockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBasefee\",\n outputs: [{ internalType: \"uint256\", name: \"basefee\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n name: \"getBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBlockNumber\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [{ internalType: \"uint256\", name: \"chainid\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockCoinbase\",\n outputs: [{ internalType: \"address\", name: \"coinbase\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockDifficulty\",\n outputs: [{ internalType: \"uint256\", name: \"difficulty\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockGasLimit\",\n outputs: [{ internalType: \"uint256\", name: \"gaslimit\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockTimestamp\",\n outputs: [{ internalType: \"uint256\", name: \"timestamp\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ internalType: \"uint256\", name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getLastBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryAggregate\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryBlockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n"],"mappings":"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","names":["multicall3Abi"]}
@@ -0,0 +1,2 @@
1
+ var T=(I=>(I[I.Pending=0]="Pending",I[I.Active=1]="Active",I[I.Canceled=2]="Canceled",I[I.Defeated=3]="Defeated",I[I.Succeeded=4]="Succeeded",I[I.Queued=5]="Queued",I[I.Expired=6]="Expired",I[I.Executed=7]="Executed",I))(T||{}),_=(n=>(n.AGAINST="no",n.FOR="yes",n.ABSTAIN="abstain",n))(_||{}),c=(A=>(A.REQUIRED="Required",A.INVALID_AMOUNT="Invalid amount",A.NEGATIVE_AMOUNT="Negative amount",A.INVALID_ADDRESS="Invalid address",A.INVALID_ACTION="Invalid action",A.INVALID_ABI="Invalid ABI",A.MUST_BE_HTTPS="Must be HTTPS",A.MUST_BE_HTTPS_OR_IPFS="Must be HTTPS or IPFS",A.INVALID_BASEPATH="Must be a berachain forum link",A.INVALID_CONTRACT="This is not a valid contract",A))(c||{}),e=(i=>(i.CUSTOM_PROPOSAL="custom-action",i.WHITELIST_REWARD_VAULT="whitelist-reward-vault",i.BLACKLIST_REWARD_VAULT="blacklist-reward-vault",i.ERC20_TRANSFER="erc20-transfer",i.WHITELIST_REWARD_VAULT_INCENTIVE="whitelist-reward-vault-incentive",i))(e||{}),N={yes:"#059669",1:"#059669",no:"#DC2629",2:"#DC2629",veto:"#0284C7",4:"#0284C7",abstain:"#78716c",3:"#78716c",yes_secondary:"#ECFDF5",no_secondary:"#FEF2F2",veto_secondary:"#F0F9FF",abstain_secondary:"#E7E5E4",default:"#57534e"};export{T as a,_ as b,c,e as d,N as e};
2
+ //# sourceMappingURL=chunk-OGJMSGB2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/enum/governance.ts"],"sourcesContent":["/**\n * Maps the proposal state from the governor contract to a more human-readable format.\n * Don't edit this enum manually, it's synced with the governor contract.\n *\n * @see https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/IGovernor.sol\n */\nexport enum ProposalState {\n Pending = 0,\n Active = 1,\n Canceled = 2,\n Defeated = 3,\n Succeeded = 4,\n Queued = 5,\n Expired = 6,\n Executed = 7,\n}\nexport enum VoteEnum {\n AGAINST = \"no\",\n FOR = \"yes\",\n ABSTAIN = \"abstain\",\n}\n\nexport enum ProposalErrorCodes {\n REQUIRED = \"Required\",\n INVALID_AMOUNT = \"Invalid amount\",\n NEGATIVE_AMOUNT = \"Negative amount\",\n INVALID_ADDRESS = \"Invalid address\",\n INVALID_ACTION = \"Invalid action\",\n INVALID_ABI = \"Invalid ABI\",\n MUST_BE_HTTPS = \"Must be HTTPS\",\n MUST_BE_HTTPS_OR_IPFS = \"Must be HTTPS or IPFS\",\n INVALID_BASEPATH = \"Must be a berachain forum link\",\n /**\n * Mainly used when it's not a reward vault\n */\n INVALID_CONTRACT = \"This is not a valid contract\",\n}\n\nexport enum ProposalTypeEnum {\n CUSTOM_PROPOSAL = \"custom-action\",\n WHITELIST_REWARD_VAULT = \"whitelist-reward-vault\",\n BLACKLIST_REWARD_VAULT = \"blacklist-reward-vault\",\n ERC20_TRANSFER = \"erc20-transfer\",\n WHITELIST_REWARD_VAULT_INCENTIVE = \"whitelist-reward-vault-incentive\",\n}\n\nexport const VoteColorMap = {\n yes: \"#059669\",\n 1: \"#059669\",\n no: \"#DC2629\",\n 2: \"#DC2629\",\n veto: \"#0284C7\",\n 4: \"#0284C7\",\n abstain: \"#78716c\",\n 3: \"#78716c\",\n yes_secondary: \"#ECFDF5\",\n no_secondary: \"#FEF2F2\",\n veto_secondary: \"#F0F9FF\",\n abstain_secondary: \"#E7E5E4\",\n default: \"#57534e\",\n} as const;\n"],"mappings":"AAMO,IAAKA,OACVA,IAAA,QAAU,GAAV,UACAA,IAAA,OAAS,GAAT,SACAA,IAAA,SAAW,GAAX,WACAA,IAAA,SAAW,GAAX,WACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,OAAS,GAAT,SACAA,IAAA,QAAU,GAAV,UACAA,IAAA,SAAW,GAAX,WARUA,OAAA,IAUAC,OACVA,EAAA,QAAU,KACVA,EAAA,IAAM,MACNA,EAAA,QAAU,UAHAA,OAAA,IAMAC,OACVA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,gBAAkB,kBAClBA,EAAA,gBAAkB,kBAClBA,EAAA,eAAiB,iBACjBA,EAAA,YAAc,cACdA,EAAA,cAAgB,gBAChBA,EAAA,sBAAwB,wBACxBA,EAAA,iBAAmB,iCAInBA,EAAA,iBAAmB,+BAbTA,OAAA,IAgBAC,OACVA,EAAA,gBAAkB,gBAClBA,EAAA,uBAAyB,yBACzBA,EAAA,uBAAyB,yBACzBA,EAAA,eAAiB,iBACjBA,EAAA,iCAAmC,mCALzBA,OAAA,IAQCC,EAAe,CAC1B,IAAK,UACL,EAAG,UACH,GAAI,UACJ,EAAG,UACH,KAAM,UACN,EAAG,UACH,QAAS,UACT,EAAG,UACH,cAAe,UACf,aAAc,UACd,eAAgB,UAChB,kBAAmB,UACnB,QAAS,SACX","names":["ProposalState","VoteEnum","ProposalErrorCodes","ProposalTypeEnum","VoteColorMap"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var t=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3[]",name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"allowFailure",type:"bool"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call3Value[]",name:"calls",type:"tuple[]"}],name:"aggregate3Value",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"getBasefee",outputs:[{internalType:"uint256",name:"basefee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"chainid",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall3.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall3.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"payable",type:"function"}];exports.a = t;
2
+ //# sourceMappingURL=chunk-OIYXOKTT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/abi/utils/multicall3.ts"],"names":["multicall3Abi"],"mappings":"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","file":"/Users/pong/coding/monobera/packages/berajs/dist/chunk-OIYXOKTT.cjs","sourcesContent":["/**\n * This ABI is needed because viem exports a reduced version of this ABI.\n * For instance\n */\nexport const multicall3Abi = [\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes[]\", name: \"returnData\", type: \"bytes[]\" },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bool\", name: \"allowFailure\", type: \"bool\" },\n { internalType: \"uint256\", name: \"value\", type: \"uint256\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call3Value[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"aggregate3Value\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"blockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBasefee\",\n outputs: [{ internalType: \"uint256\", name: \"basefee\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" }],\n name: \"getBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBlockNumber\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [{ internalType: \"uint256\", name: \"chainid\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockCoinbase\",\n outputs: [{ internalType: \"address\", name: \"coinbase\", type: \"address\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockDifficulty\",\n outputs: [{ internalType: \"uint256\", name: \"difficulty\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockGasLimit\",\n outputs: [{ internalType: \"uint256\", name: \"gaslimit\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCurrentBlockTimestamp\",\n outputs: [{ internalType: \"uint256\", name: \"timestamp\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [{ internalType: \"address\", name: \"addr\", type: \"address\" }],\n name: \"getEthBalance\",\n outputs: [{ internalType: \"uint256\", name: \"balance\", type: \"uint256\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getLastBlockHash\",\n outputs: [{ internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" }],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryAggregate\",\n outputs: [\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n { internalType: \"bool\", name: \"requireSuccess\", type: \"bool\" },\n {\n components: [\n { internalType: \"address\", name: \"target\", type: \"address\" },\n { internalType: \"bytes\", name: \"callData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Call[]\",\n name: \"calls\",\n type: \"tuple[]\",\n },\n ],\n name: \"tryBlockAndAggregate\",\n outputs: [\n { internalType: \"uint256\", name: \"blockNumber\", type: \"uint256\" },\n { internalType: \"bytes32\", name: \"blockHash\", type: \"bytes32\" },\n {\n components: [\n { internalType: \"bool\", name: \"success\", type: \"bool\" },\n { internalType: \"bytes\", name: \"returnData\", type: \"bytes\" },\n ],\n internalType: \"struct Multicall3.Result[]\",\n name: \"returnData\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunk7SC4VD3Ucjs = require('./chunk-7SC4VD3U.cjs');var _internal = require('@berachain/config/internal');function i(o){let n=_nullishCoalesce(o.chainId, () => (_internal.defaultChainId)),e=_nullishCoalesce(o.config, () => (_internal.chainConfigs[n]));if(o.chainId&&o.chainId!==e.chainId)throw new (0, _chunk7SC4VD3Ucjs.g)({property:"chainId",value:n,expected:`config.chainId: ${e.chainId}`});return{config:e,chainId:e.chainId}}var _viem = require('viem');var _mainnet = require('@berachain/config/mainnet');var I={address:_viem.zeroAddress,decimals:18,name:"Bera",symbol:"BERA",logoURI:"https://res.cloudinary.com/duv0g402y/image/upload/v1738720154/brand/berachain-chain-logo.png.png"},l= exports.c ={address:_mainnet.mainnet.tokens.wbera,decimals:18,name:"WBera",symbol:"WBERA"};function R(o){let{config:n,chainId:e}=i(o);return{address:n.honey.token,symbol:"HONEY",name:"Honey",decimals:18,chainId:e}}function b(...o){let[n,e,r]=o;if(n===void 0)return!1;let s=typeof n=="string"?n:n.address;if(typeof e=="string"&&!_viem.isAddress.call(void 0, e)&&!e.startsWith("0x")){if(e==="BERA")return s.toLowerCase()===_viem.zeroAddress;if(e==="WBERA")return s.toLowerCase()===_mainnet.mainnet.tokens.wbera;if(e==="ETH")return s.toLowerCase()===_viem.ethAddress;if(e==="SWBERA")return s.toLowerCase()===_mainnet.mainnet.tokens.swbera.toLowerCase();if(r===void 0)throw new (0, _chunk7SC4VD3Ucjs.g)({property:"baseArgs",value:r,expected:"BeraJS.BaseFunctionArgs",message:"baseArgs is required when compared to a known token different than BERA or WBERA. Checking against token: "+e+" and token address: "+s});let{config:a}=i(r),c={BGT:a.tokens.bgt,HONEY:a.honey.token,SWBERA:a.tokens.swbera,ETH:_viem.ethAddress};if(e in c)return s.toLowerCase()===c[e].toLowerCase()}let k=typeof e=="object"?e.address:e;return s.toLowerCase()===k.toLowerCase()}exports.a = i; exports.b = I; exports.c = l; exports.d = R; exports.e = b;
2
+ //# sourceMappingURL=chunk-OS5AJMYJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/pong/coding/monobera/packages/berajs/dist/chunk-OS5AJMYJ.cjs","../src/utils/parseBaseArgs.ts"],"names":["parseBaseArgs","args","chainId","defaultChainId","config","chainConfigs","InvalidArgumentError"],"mappings":"AAAA,qOAAwC,sDCIjC,SAISA,CAAAA,CAAcC,CAAAA,CAA+B,CAC3D,IAAMC,CAAAA,kBAAUD,CAAAA,CAAK,OAAA,SAAWE,0BAAAA,CAC1BC,CAAAA,kBAAqBH,CAAAA,CAAK,MAAA,SAAUI,sBAAAA,CAAaH,CAAO,GAAA,CAE9D,EAAA,CAAID,CAAAA,CAAK,OAAA,EAAWA,CAAAA,CAAK,OAAA,GAAYG,CAAAA,CAAO,OAAA,CAE1C,MAAM,IAAIE,wBAAAA,CAAqB,CAC7B,QAAA,CAAU,SAAA,CACV,KAAA,CAAOJ,CAAAA,CACP,QAAA,CAAU,CAAA,gBAAA,EAAmBE,CAAAA,CAAO,OAAO,CAAA,CAAA","file":"/Users/pong/coding/monobera/packages/berajs/dist/chunk-OS5AJMYJ.cjs","sourcesContent":[null,"import {\n type BeraConfig,\n chainConfigs,\n defaultChainId,\n} from \"@berachain/config/internal\";\n\nimport { InvalidArgumentError } from \"~/errors/InvalidArgumentError\";\n\nexport function parseBaseArgs(args: BeraJS.BaseFunctionArgs) {\n const chainId = args.chainId ?? defaultChainId;\n const config: BeraConfig = args.config ?? chainConfigs[chainId];\n\n if (args.chainId && args.chainId !== config.chainId) {\n // this matches unless the config is explicitly provided\n throw new InvalidArgumentError({\n property: \"chainId\",\n value: chainId,\n expected: `config.chainId: ${config.chainId}`,\n });\n }\n\n return { config, chainId: config.chainId };\n}\n"]}