@berachain/berajs 0.1.1 → 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 (638) 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-EODAKI5K.cjs.map → chunk-OS5AJMYJ.cjs.map} +1 -1
  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} +20 -29
  90. package/dist/contexts/{index.d.cts → exports.d.ts} +20 -29
  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-BhPVMCTj.d.ts → getValidatorQueuedOperatorAddress-BX35p2Lv.d.ts} +125 -15
  111. package/dist/{getValidatorQueuedOperatorAddress-Cmd7rgYK.d.cts → 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-DfmXCavx.d.cts → useHoneySwapState-B-vmIP1b.d.cts} +1 -1
  132. package/dist/{useHoneySwapState-AKDZI2MT.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} +84 -21
  136. package/dist/utils/{index.d.ts → exports.d.ts} +84 -21
  137. package/dist/utils/exports.mjs +2 -0
  138. package/dist/utils/exports.mjs.map +1 -0
  139. package/package.json +18 -18
  140. package/src/abi/bend/bundler.ts +60 -0
  141. package/src/abi/bend/generalAdapter.ts +362 -0
  142. package/src/abi/bend/metaMorpho.ts +2584 -0
  143. package/src/abi/bend/morpho.ts +444 -0
  144. package/src/abi/bend/morphoVault.ts +1456 -0
  145. package/src/abi/bend/publicAllocator.ts +355 -0
  146. package/src/abi/bex/aggregatorsRouter.ts +492 -0
  147. package/src/abi/bex/balancerComposableStablePoolFactoryV6.ts +283 -0
  148. package/src/abi/bex/balancerPoolCreationHelper.ts +267 -0
  149. package/src/abi/bex/balancerVault.ts +757 -0
  150. package/src/abi/enso/ensoRouterAbi.ts +140 -0
  151. package/src/abi/exports.ts +38 -0
  152. package/src/abi/governance/governance.ts +1016 -0
  153. package/src/abi/governance/governanceTimelock.ts +589 -0
  154. package/src/abi/honey/collateralVault.ts +1144 -0
  155. package/src/abi/honey/honey.ts +563 -0
  156. package/src/abi/honey/honeyFactory.ts +1270 -0
  157. package/src/abi/honey/honeyFactoryReader.ts +894 -0
  158. package/src/abi/honey/honeyRootOracle.ts +492 -0
  159. package/src/abi/honey/pythPriceOracle.ts +619 -0
  160. package/src/abi/honey/pythWrapper.ts +446 -0
  161. package/src/abi/pol/LSTStakerVault.ts +2032 -0
  162. package/src/abi/pol/beaconDeposit.ts +595 -0
  163. package/src/abi/pol/beraChef.ts +1019 -0
  164. package/src/abi/pol/bgt.ts +1008 -0
  165. package/src/abi/pol/bgtIncentiveDistributor.ts +640 -0
  166. package/src/abi/pol/bgtStaker.ts +1034 -0
  167. package/src/abi/pol/rewardAllocationFactory.ts +408 -0
  168. package/src/abi/pol/rewardVault.ts +1928 -0
  169. package/src/abi/pol/rewardVaultFactory.ts +586 -0
  170. package/src/abi/pol/rewardVaultHelper.ts +882 -0
  171. package/src/abi/pol/stakeBeraVault.ts +1116 -0
  172. package/src/abi/pol/stakeBeraVaultWithdrawalRequest.ts +618 -0
  173. package/src/abi/pol/wbera.ts +366 -0
  174. package/src/abi/pyth/pyth.ts +566 -0
  175. package/src/abi/pyth/pythErrors.ts +72 -0
  176. package/src/abi/utils/EIP7702StatelessDelegator.ts +523 -0
  177. package/src/abi/utils/bundler3errors.ts +6 -0
  178. package/src/abi/utils/commonAbiErrors.ts +9 -0
  179. package/src/abi/utils/erc20errors.ts +74 -0
  180. package/src/abi/utils/merkleDistributor.ts +838 -0
  181. package/src/abi/utils/multicall3.ts +242 -0
  182. package/src/abi/utils/openChainErrors.ts +180 -0
  183. package/src/abi/utils/thirdwebMinimalAccount.ts +616 -0
  184. package/src/abi/utils/upgradableBeacon.ts +86 -0
  185. package/src/actions/bend/getConvertToAssets.ts +23 -0
  186. package/src/actions/bend/getMaxDeposit.ts +21 -0
  187. package/src/actions/clients/BeraApolloClient.ts +127 -0
  188. package/src/actions/clients/getApolloClient.ts +109 -0
  189. package/src/actions/clients/getEnsoClient.ts +24 -0
  190. package/src/actions/dex/__tests__/aggregators.unit.test.ts +109 -0
  191. package/src/actions/dex/__tests__/allPools.integration.test.ts +13 -0
  192. package/src/actions/dex/__tests__/getOnChainPool.unit.test.ts +15 -0
  193. package/src/actions/dex/aggregators/base.ts +232 -0
  194. package/src/actions/dex/aggregators/bex.ts +235 -0
  195. package/src/actions/dex/aggregators/bgt.ts +73 -0
  196. package/src/actions/dex/aggregators/enso/enso.ts +117 -0
  197. package/src/actions/dex/aggregators/enso/ensoErc4626.debug.test.ts +37 -0
  198. package/src/actions/dex/aggregators/enso/ensoErc4626.ts +176 -0
  199. package/src/actions/dex/aggregators/erc4626.ts +122 -0
  200. package/src/actions/dex/aggregators/fly.ts +142 -0
  201. package/src/actions/dex/aggregators/haiku.integration.test.ts +40 -0
  202. package/src/actions/dex/aggregators/haiku.ts +169 -0
  203. package/src/actions/dex/aggregators/honey.ts +254 -0
  204. package/src/actions/dex/aggregators/kyberswap.ts +144 -0
  205. package/src/actions/dex/aggregators/oogabooga.ts +111 -0
  206. package/src/actions/dex/aggregators/openOcean.ts +147 -0
  207. package/src/actions/dex/aggregators/wbera.ts +84 -0
  208. package/src/actions/dex/b-sdk.ts +51 -0
  209. package/src/actions/dex/getAllPools.ts +60 -0
  210. package/src/actions/dex/getApiPool.ts +47 -0
  211. package/src/actions/dex/getGlobalLiquidityAndSwapVolume.ts +29 -0
  212. package/src/actions/dex/getIsTokenExploited.ts +63 -0
  213. package/src/actions/dex/getOnChainPool.ts +216 -0
  214. package/src/actions/dex/getPoolEvents.ts +35 -0
  215. package/src/actions/dex/getPoolHistoricalData.ts +51 -0
  216. package/src/actions/dex/getPoolPausedState.ts +40 -0
  217. package/src/actions/dex/getPoolWithState.ts +24 -0
  218. package/src/actions/dex/getSubgraphPool.ts +30 -0
  219. package/src/actions/dex/getVaultPausedState.ts +21 -0
  220. package/src/actions/enso/getEnsoSwapBundle.ts +77 -0
  221. package/src/actions/enso/getEnsoUserTokensWithBalances.debug.test.ts +73 -0
  222. package/src/actions/enso/getEnsoUserTokensWithBalances.ts +145 -0
  223. package/src/actions/enso/util.ts +60 -0
  224. package/src/actions/exports.ts +110 -0
  225. package/src/actions/governance/__tests__/checkProposalField.unit.test.ts +108 -0
  226. package/src/actions/governance/__tests__/getDecodedFunctionData.integration.test.ts +127 -0
  227. package/src/actions/governance/__tests__/getQuorum.integration.test.ts +39 -0
  228. package/src/actions/governance/checkProposalField.ts +211 -0
  229. package/src/actions/governance/computeActualStatus.ts +154 -0
  230. package/src/actions/governance/constants.ts +7 -0
  231. package/src/actions/governance/getAllProposals.ts +75 -0
  232. package/src/actions/governance/getBodyErrors.ts +28 -0
  233. package/src/actions/governance/getDecodedFunctionData.ts +167 -0
  234. package/src/actions/governance/getProposalDetails.ts +40 -0
  235. package/src/actions/governance/getProposalFromTx.ts +100 -0
  236. package/src/actions/governance/getProposalParams.ts +246 -0
  237. package/src/actions/governance/getProposalVotes.ts +20 -0
  238. package/src/actions/governance/getQuorum.ts +37 -0
  239. package/src/actions/governance/parseProposalBody.ts +73 -0
  240. package/src/actions/honey/getChartData.ts +27 -0
  241. package/src/actions/honey/getCollateralWeights.ts +50 -0
  242. package/src/actions/honey/getGlobalCapLimit.ts +148 -0
  243. package/src/actions/honey/getHoneyCollaterals.ts +140 -0
  244. package/src/actions/honey/getHoneyFees.ts +100 -0
  245. package/src/actions/honey/getHoneyGlobalData.ts +21 -0
  246. package/src/actions/honey/getHoneyPausedState.ts +25 -0
  247. package/src/actions/honey/getHoneyPreview.ts +152 -0
  248. package/src/actions/honey/getHoneyPythPriceOracle.ts +21 -0
  249. package/src/actions/honey/getHoneyRootPriceOracle.ts +23 -0
  250. package/src/actions/honey/getHoneyVaultsBalance.ts +82 -0
  251. package/src/actions/honey/getPythLatestPrices.ts +54 -0
  252. package/src/actions/honey/getRelativeCapLimit.ts +83 -0
  253. package/src/actions/honey/getSharesWithoutFees.ts +65 -0
  254. package/src/actions/honey/getSwapPayload.ts +130 -0
  255. package/src/actions/honey/isBadCollateralAsset.ts +77 -0
  256. package/src/actions/honey/isBasketModeEnabled.ts +47 -0
  257. package/src/actions/honey/tests/pyth.integration.test.ts +62 -0
  258. package/src/actions/misc/getBlockTimestamp.ts +41 -0
  259. package/src/actions/pol/__tests__/getAllValidators.integration.test.ts +55 -0
  260. package/src/actions/pol/__tests__/getValidator.integration.test.ts +32 -0
  261. package/src/actions/pol/__tests__/rewardVaults.integration.test.ts +34 -0
  262. package/src/actions/pol/getBGTGlobalInfo.ts +43 -0
  263. package/src/actions/pol/getBgtAprSimulation.ts +207 -0
  264. package/src/actions/pol/getBgtAprSimultaion.unit.test.ts +297 -0
  265. package/src/actions/pol/getBgtTokenTotalBoosts.ts +30 -0
  266. package/src/actions/pol/getBgtTokenTotalSupply.ts +29 -0
  267. package/src/actions/pol/getBlockTime.ts +43 -0
  268. package/src/actions/pol/getEarnedStakedBeraVault.ts +31 -0
  269. package/src/actions/pol/getGlobalCuttingBoard.ts +25 -0
  270. package/src/actions/pol/getGlobalData.ts +75 -0
  271. package/src/actions/pol/getIncentiveFeeClaimStats.ts +43 -0
  272. package/src/actions/pol/getLSTStakeConfig.ts +67 -0
  273. package/src/actions/pol/getMarkets.ts +36 -0
  274. package/src/actions/pol/getRewardProofsByValidator.ts +49 -0
  275. package/src/actions/pol/getRewardTokenToBeraRate.ts +30 -0
  276. package/src/actions/pol/getRewardVault.ts +54 -0
  277. package/src/actions/pol/getRewardVaultBeaconImplementation.integration.test.ts +18 -0
  278. package/src/actions/pol/getRewardVaultBeaconImplementation.ts +35 -0
  279. package/src/actions/pol/getRewardVaultDurationConstants.integration.test.ts +24 -0
  280. package/src/actions/pol/getRewardVaultDurationConstants.ts +45 -0
  281. package/src/actions/pol/getRewardVaultFromToken.ts +30 -0
  282. package/src/actions/pol/getRewardVaultIncentives.ts +120 -0
  283. package/src/actions/pol/getRewardVaultRewards.ts +109 -0
  284. package/src/actions/pol/getRewardVaultStakingToken.ts +19 -0
  285. package/src/actions/pol/getRewardVaults.ts +105 -0
  286. package/src/actions/pol/getSWBeraVaultMetadata.ts +168 -0
  287. package/src/actions/pol/getSWBeraWithdrawal.ts +179 -0
  288. package/src/actions/pol/getStakeWithdrawalCooldown.ts +19 -0
  289. package/src/actions/pol/getStakedBeraAPR.ts +56 -0
  290. package/src/actions/pol/getStakedBeraSnapshots.ts +48 -0
  291. package/src/actions/pol/getStakingDailyAssets.ts +21 -0
  292. package/src/actions/pol/getStakingTokenInformation.ts +59 -0
  293. package/src/actions/pol/getTotalStakedAmount.ts +47 -0
  294. package/src/actions/pol/getUserClaimableIncentives.ts +40 -0
  295. package/src/actions/pol/getUserVaultInfo.ts +52 -0
  296. package/src/actions/pol/getUserVaults.ts +187 -0
  297. package/src/actions/pol/getUserVaultsBalance.ts +42 -0
  298. package/src/actions/pol/getUserVaultsReward.ts +32 -0
  299. package/src/actions/pol/getVaultHistory.ts +43 -0
  300. package/src/actions/pol/getVaultValidators.ts +31 -0
  301. package/src/actions/pol/getVaultsSupply.ts +28 -0
  302. package/src/actions/prices/__tests__/prices.integration.test.ts +29 -0
  303. package/src/actions/prices/getTokenCurrentPrices.ts +84 -0
  304. package/src/actions/pyth/getHoneyPythFeeds.ts +46 -0
  305. package/src/actions/pyth/getUpdateFee.ts +27 -0
  306. package/src/actions/tokens/getAllowances.ts +86 -0
  307. package/src/actions/tokens/getTokenInformation.ts +60 -0
  308. package/src/actions/tokens/getTokens.ts +19 -0
  309. package/src/actions/tokens/getUnderlyingToken.ts +53 -0
  310. package/src/actions/tokens/getWalletBalances.integration.test.ts +79 -0
  311. package/src/actions/tokens/getWalletBalances.ts +149 -0
  312. package/src/actions/transactions/beraWriteContract.integration.test.ts +263 -0
  313. package/src/actions/transactions/beraWriteContract.ts +722 -0
  314. package/src/actions/validators/getActiveBoostAndCommissionChangeDelay.integration.test.ts +40 -0
  315. package/src/actions/validators/getActiveBoostAndCommissionChangeDelay.ts +109 -0
  316. package/src/actions/validators/getAllValidators.ts +33 -0
  317. package/src/actions/validators/getApiEnrichedAllocation.ts +33 -0
  318. package/src/actions/validators/getApiValidator.ts +38 -0
  319. package/src/actions/validators/getBaselineRewardAllocation.ts +26 -0
  320. package/src/actions/validators/getDailyValidatorBlockStats.ts +37 -0
  321. package/src/actions/validators/getDefaultRewardAllocation.ts +39 -0
  322. package/src/actions/validators/getManagedValidatorByAccount.ts +32 -0
  323. package/src/actions/validators/getStakingPoolBatch.ts +20 -0
  324. package/src/actions/validators/getUserActiveValidators.ts +100 -0
  325. package/src/actions/validators/getUserBoosts.ts +28 -0
  326. package/src/actions/validators/getUserBoostsOnValidator.ts +69 -0
  327. package/src/actions/validators/getUserStakingPositions.ts +225 -0
  328. package/src/actions/validators/getValidatorAnalytics.ts +34 -0
  329. package/src/actions/validators/getValidatorCommission.ts +24 -0
  330. package/src/actions/validators/getValidatorEstimatedBgtPerYear.ts +25 -0
  331. package/src/actions/validators/getValidatorOperatorAddress.ts +27 -0
  332. package/src/actions/validators/getValidatorQueuedCommission.ts +30 -0
  333. package/src/actions/validators/getValidatorQueuedOperatorAddress.ts +32 -0
  334. package/src/actions/validators/getValidatorQueuedRewardAllocation.ts +31 -0
  335. package/src/actions/validators/getValidatorRewardAllocation.ts +158 -0
  336. package/src/actions/validators/getValidatorRewardAllocatorAddress.ts +38 -0
  337. package/src/actions/validators/utils/__tests__/validatorUtils.integration.test.ts +36 -0
  338. package/src/actions/validators/utils/getValidatorBoostApy.ts +59 -0
  339. package/src/contexts/BeraFlags/BeraFlags.tsx +69 -0
  340. package/src/contexts/BeraFlags/defaultFlags.ts +46 -0
  341. package/src/contexts/BexStatusProvider.tsx +125 -0
  342. package/src/contexts/HoneyConfigProvider.tsx +73 -0
  343. package/src/contexts/SwrFallback.tsx +44 -0
  344. package/src/contexts/TokensProvider.tsx +93 -0
  345. package/src/contexts/TransactionStoreContext.tsx +87 -0
  346. package/src/contexts/block-time-provider.tsx +34 -0
  347. package/src/contexts/exports.ts +14 -0
  348. package/src/data/contracts.ts +413 -0
  349. package/src/enum/contracts.ts +13 -0
  350. package/src/enum/dex.ts +39 -0
  351. package/src/enum/exports.ts +7 -0
  352. package/src/enum/governance.ts +61 -0
  353. package/src/enum/honey.ts +12 -0
  354. package/src/enum/polling.ts +8 -0
  355. package/src/enum/slippage.ts +19 -0
  356. package/src/enum/txnEnum.ts +102 -0
  357. package/src/errors/BeraError.ts +241 -0
  358. package/src/errors/BeraMonitoring.ts +66 -0
  359. package/src/errors/BeraTracing.ts +79 -0
  360. package/src/errors/BeraTracing.unit.test.ts +198 -0
  361. package/src/errors/InvalidArgumentError.ts +81 -0
  362. package/src/errors/NotFoundError.ts +34 -0
  363. package/src/errors/RequestError.ts +207 -0
  364. package/src/errors/TransactionFailedError.ts +93 -0
  365. package/src/errors/assert.ts +146 -0
  366. package/src/errors/assert.unit.test.ts +114 -0
  367. package/src/errors/errorMap.ts +1167 -0
  368. package/src/errors/exports.ts +15 -0
  369. package/src/errors/getErrorMessage.ts +59 -0
  370. package/src/errors/getRevertReason.integration.test.ts +461 -0
  371. package/src/errors/getRevertReason.ts +218 -0
  372. package/src/errors/initBeraError.ts +91 -0
  373. package/src/errors/parseViemError.ts +326 -0
  374. package/src/errors/severity.ts +12 -0
  375. package/src/hooks/bend/useGetConvertToAssets.ts +43 -0
  376. package/src/hooks/dex/useAggregatorsQuotes.ts +263 -0
  377. package/src/hooks/dex/useAggregatorsRouterFeeBps.ts +34 -0
  378. package/src/hooks/dex/useAllUserPools.ts +38 -0
  379. package/src/hooks/dex/useApiPool.ts +53 -0
  380. package/src/hooks/dex/useBexStatus.ts +1 -0
  381. package/src/hooks/dex/useCreatePool.ts +438 -0
  382. package/src/hooks/dex/useExploitedTokens.ts +57 -0
  383. package/src/hooks/dex/useGlobalLiquidityAndSwapVolume.ts +22 -0
  384. package/src/hooks/dex/useLiquidityMismatch.ts +192 -0
  385. package/src/hooks/dex/useLpPosition.ts +116 -0
  386. package/src/hooks/dex/useMultipleTokenApprovalsWithSlippage.ts +103 -0
  387. package/src/hooks/dex/useOnChainPoolData.ts +126 -0
  388. package/src/hooks/dex/usePollPoolCreationRelayerApproval.ts +54 -0
  389. package/src/hooks/dex/usePool.ts +59 -0
  390. package/src/hooks/dex/usePoolEvents.ts +22 -0
  391. package/src/hooks/dex/usePoolHistoricalData.ts +44 -0
  392. package/src/hooks/dex/usePools.ts +83 -0
  393. package/src/hooks/dex/usePriceImpact.ts +40 -0
  394. package/src/hooks/dex/useSingleAggregatorQuote.ts +350 -0
  395. package/src/hooks/enso/useBendZapSupply.ts +216 -0
  396. package/src/hooks/enso/useEnsoSwapBundle.ts +107 -0
  397. package/src/hooks/enso/useEnsoUserTokensWithBalances.ts +43 -0
  398. package/src/hooks/enso/useZapStakeBera.ts +113 -0
  399. package/src/hooks/exports.ts +135 -0
  400. package/src/hooks/governance/useCreateProposal.ts +88 -0
  401. package/src/hooks/governance/useGetPastVotes.ts +63 -0
  402. package/src/hooks/governance/useHasVoted.ts +38 -0
  403. package/src/hooks/governance/useIsCanceller.ts +43 -0
  404. package/src/hooks/governance/usePollAllProposals.ts +232 -0
  405. package/src/hooks/governance/usePollProposal.ts +96 -0
  406. package/src/hooks/governance/usePollProposalThreshold.ts +41 -0
  407. package/src/hooks/governance/usePollProposalVotes.ts +64 -0
  408. package/src/hooks/governance/usePollUserDelegates.ts +70 -0
  409. package/src/hooks/governance/useProposalFromTx.ts +37 -0
  410. package/src/hooks/governance/useProposalSnapshot.ts +44 -0
  411. package/src/hooks/governance/useProposalState.ts +48 -0
  412. package/src/hooks/governance/useProposalTimelockState.ts +61 -0
  413. package/src/hooks/governance/useQuorum.ts +42 -0
  414. package/src/hooks/honey/useCappedGlobally.ts +93 -0
  415. package/src/hooks/honey/useCappedRelatively.ts +88 -0
  416. package/src/hooks/honey/useCollateralWeights.ts +49 -0
  417. package/src/hooks/honey/useHoneyAlerts.ts +314 -0
  418. package/src/hooks/honey/useHoneyBalances.ts +83 -0
  419. package/src/hooks/honey/useHoneyChartData.ts +17 -0
  420. package/src/hooks/honey/useHoneyGlobalData.ts +23 -0
  421. package/src/hooks/honey/useHoneySwapState.ts +203 -0
  422. package/src/hooks/honey/useHoneyVaultsBalance.ts +41 -0
  423. package/src/hooks/honey/useIsBadCollateralAsset.ts +74 -0
  424. package/src/hooks/honey/useIsBasketModeEnabled.ts +70 -0
  425. package/src/hooks/honey/usePythLatestPrices.ts +41 -0
  426. package/src/hooks/perps/usePythUpdateFee.ts +43 -0
  427. package/src/hooks/pol/useBgtAprSimulation.ts +22 -0
  428. package/src/hooks/pol/useBgtUnstakedBalance.ts +50 -0
  429. package/src/hooks/pol/useClaimableFees.ts +38 -0
  430. package/src/hooks/pol/useHighestVaultsAPR.ts +57 -0
  431. package/src/hooks/pol/useOnChainRewardVault.ts +115 -0
  432. package/src/hooks/pol/usePollGlobalData.ts +31 -0
  433. package/src/hooks/pol/usePollMarkets.ts +32 -0
  434. package/src/hooks/pol/useQueuedBeraUnlock.ts +72 -0
  435. package/src/hooks/pol/useRewardTokenToBeraRate.ts +48 -0
  436. package/src/hooks/pol/useRewardVault.ts +51 -0
  437. package/src/hooks/pol/useRewardVaultBalanceFromStakingToken.ts +82 -0
  438. package/src/hooks/pol/useRewardVaultFromToken.ts +58 -0
  439. package/src/hooks/pol/useRewardVaultIncentives.ts +37 -0
  440. package/src/hooks/pol/useRewardVaultRewards.ts +37 -0
  441. package/src/hooks/pol/useRewardVaults.ts +45 -0
  442. package/src/hooks/pol/useSWBeraVaultMetadata.ts +35 -0
  443. package/src/hooks/pol/useStakedAPR.ts +38 -0
  444. package/src/hooks/pol/useStakedData.ts +117 -0
  445. package/src/hooks/pol/useStakedSnapshots.ts +52 -0
  446. package/src/hooks/pol/useTotalStakedAmount.ts +30 -0
  447. package/src/hooks/pol/useUserVaultInfo.ts +46 -0
  448. package/src/hooks/pol/useUserVaults.ts +40 -0
  449. package/src/hooks/pol/useVaultAddress.ts +31 -0
  450. package/src/hooks/pol/useVaultHistory.ts +29 -0
  451. package/src/hooks/pol/useVaultValidators.ts +33 -0
  452. package/src/hooks/tokens/useBeraCurrentPrice.ts +12 -0
  453. package/src/hooks/tokens/useMultipleTokenInformation.ts +71 -0
  454. package/src/hooks/tokens/usePollAllowances.ts +56 -0
  455. package/src/hooks/tokens/usePollBalance.ts +117 -0
  456. package/src/hooks/tokens/usePollWalletBalances.ts +78 -0
  457. package/src/hooks/tokens/useStakingTokenInformation.ts +55 -0
  458. package/src/hooks/tokens/useTokenCurrentPrice.ts +21 -0
  459. package/src/hooks/tokens/useTokenCurrentPrices.ts +136 -0
  460. package/src/hooks/tokens/useTokenInformation.ts +64 -0
  461. package/src/hooks/tokens/useTokenPrice.ts +21 -0
  462. package/src/hooks/tokens/useTokenPrices.ts +133 -0
  463. package/src/hooks/tokens/useTokens.ts +27 -0
  464. package/src/hooks/tokens/useTotalSupply.ts +22 -0
  465. package/src/hooks/tokens/useUnderlyingAsset.ts +23 -0
  466. package/src/hooks/transactions/transactionStore.ts +296 -0
  467. package/src/hooks/transactions/transactionStore.unit.test.ts +561 -0
  468. package/src/hooks/transactions/useAddRecentTransaction.ts +29 -0
  469. package/src/hooks/transactions/useRecentTransactions.ts +27 -0
  470. package/src/hooks/transactions/useSetTransactionStatus.ts +31 -0
  471. package/src/hooks/useBlockToTimestamp.ts +51 -0
  472. package/src/hooks/useContractWrite/index.ts +2 -0
  473. package/src/hooks/useContractWrite/stateReducer.ts +60 -0
  474. package/src/hooks/useContractWrite/types.ts +88 -0
  475. package/src/hooks/useContractWrite/useBeraContractWrite.ts +138 -0
  476. package/src/hooks/useGetVerifiedAbi.ts +47 -0
  477. package/src/hooks/useHistoryState.ts +64 -0
  478. package/src/hooks/usePrevious.ts +13 -0
  479. package/src/hooks/validators/useAllValidators.ts +48 -0
  480. package/src/hooks/validators/useApiEnrichedAllocation.ts +17 -0
  481. package/src/hooks/validators/useApiValidator.ts +37 -0
  482. package/src/hooks/validators/useBaselineRewardAllocation.ts +16 -0
  483. package/src/hooks/validators/useDailyValidatorBlockStats.ts +35 -0
  484. package/src/hooks/validators/useDefaultRewardAllocation.ts +32 -0
  485. package/src/hooks/validators/useManagedValidatorByAccount.ts +40 -0
  486. package/src/hooks/validators/useManagedValidatorRole.ts +119 -0
  487. package/src/hooks/validators/useOnChainValidator.ts +66 -0
  488. package/src/hooks/validators/useStakingPoolBatch.ts +45 -0
  489. package/src/hooks/validators/useSubgraphUserValidators.ts +36 -0
  490. package/src/hooks/validators/useUserActiveValidators.ts +44 -0
  491. package/src/hooks/validators/useUserBoostsOnValidator.ts +45 -0
  492. package/src/hooks/validators/useUserClaimableIncentives.ts +149 -0
  493. package/src/hooks/validators/useUserStakingPositions.ts +62 -0
  494. package/src/hooks/validators/useValidator.ts +83 -0
  495. package/src/hooks/validators/useValidatorAnalytics.ts +36 -0
  496. package/src/hooks/validators/useValidatorCommission.ts +36 -0
  497. package/src/hooks/validators/useValidatorEstimatedBgtPerYear.ts +24 -0
  498. package/src/hooks/validators/useValidatorQueuedCommission.ts +41 -0
  499. package/src/hooks/validators/useValidatorQueuedOperatorAddress.ts +39 -0
  500. package/src/hooks/validators/useValidatorQueuedRewardAllocation.ts +37 -0
  501. package/src/hooks/validators/useValidatorRewardAllocation.ts +36 -0
  502. package/src/types/bribe-boost.d.ts +50 -0
  503. package/src/types/dex.d.ts +225 -0
  504. package/src/types/enso.d.ts +42 -0
  505. package/src/types/exports.ts +8 -0
  506. package/src/types/global.d.ts +201 -0
  507. package/src/types/governance.d.ts +112 -0
  508. package/src/types/honeySwap.d.ts +23 -0
  509. package/src/types/pol.d.ts +63 -0
  510. package/src/types/staking.d.ts +22 -0
  511. package/src/utils/beraFetch.ts +55 -0
  512. package/src/utils/constants.ts +35 -0
  513. package/src/utils/createEmitter.ts +122 -0
  514. package/src/utils/createEmitter.unit.test.ts +149 -0
  515. package/src/utils/exports.ts +28 -0
  516. package/src/utils/filter.ts +34 -0
  517. package/src/utils/formatIncentivesTokenMap.ts +19 -0
  518. package/src/utils/formatInputTokenValue.ts +12 -0
  519. package/src/utils/formatNumber.ts +225 -0
  520. package/src/utils/formatNumber.unit.test.ts +246 -0
  521. package/src/utils/formatTimestamps.ts +155 -0
  522. package/src/utils/formatTimestamps.unit.test.ts +395 -0
  523. package/src/utils/formatTokenList.ts +55 -0
  524. package/src/utils/formatUsd.ts +46 -0
  525. package/src/utils/getContractName.ts +27 -0
  526. package/src/utils/getContractName.unit.test.ts +64 -0
  527. package/src/utils/getErrorResponse.ts +20 -0
  528. package/src/utils/getHoneySwapMessage.test.ts +115 -0
  529. package/src/utils/getHoneySwapMessage.ts +70 -0
  530. package/src/utils/getServerSideClient.ts +48 -0
  531. package/src/utils/getTestClient.ts +19 -0
  532. package/src/utils/hasAnyTruthyValues.ts +17 -0
  533. package/src/utils/isDifferenceExceedingThreshold.ts +13 -0
  534. package/src/utils/isSubgraphStale.ts +10 -0
  535. package/src/utils/layerZeroScan.ts +122 -0
  536. package/src/utils/math.ts +28 -0
  537. package/src/utils/math.unit.test.ts +49 -0
  538. package/src/utils/parseBaseArgs.ts +23 -0
  539. package/src/utils/parseBaseArgs.unit.test.ts +55 -0
  540. package/src/utils/parseWhiskToken.ts +15 -0
  541. package/src/utils/poolNamings.ts +54 -0
  542. package/src/utils/pythHoneyUtils.ts +3 -0
  543. package/src/utils/test-utils.ts +2 -0
  544. package/src/utils/time.ts +106 -0
  545. package/src/utils/time.unit.test.ts +76 -0
  546. package/src/utils/tokenWrapping.ts +16 -0
  547. package/src/utils/tokens.ts +122 -0
  548. package/src/utils/tokens.unit.test.ts +98 -0
  549. package/src/utils/truncateHash.ts +20 -0
  550. package/src/utils/truncateHash.unit.test.ts +19 -0
  551. package/src/utils/validatorUptimeStatus.ts +30 -0
  552. package/dist/abi/index.cjs +0 -2
  553. package/dist/abi/index.cjs.map +0 -1
  554. package/dist/abi/index.mjs +0 -2
  555. package/dist/actions/index.cjs +0 -2
  556. package/dist/actions/index.cjs.map +0 -1
  557. package/dist/actions/index.mjs +0 -2
  558. package/dist/aggregatorsRouter-Cny4B_MB.d.cts +0 -593
  559. package/dist/aggregatorsRouter-Cny4B_MB.d.ts +0 -593
  560. package/dist/chunk-3WCYP277.mjs +0 -2
  561. package/dist/chunk-3WCYP277.mjs.map +0 -1
  562. package/dist/chunk-5OAABMMU.mjs +0 -2
  563. package/dist/chunk-5OAABMMU.mjs.map +0 -1
  564. package/dist/chunk-6W22TFYA.mjs +0 -2
  565. package/dist/chunk-6W22TFYA.mjs.map +0 -1
  566. package/dist/chunk-DS2ZDVKU.mjs +0 -2
  567. package/dist/chunk-DS2ZDVKU.mjs.map +0 -1
  568. package/dist/chunk-ED43NYSE.cjs +0 -2
  569. package/dist/chunk-ED43NYSE.cjs.map +0 -1
  570. package/dist/chunk-EODAKI5K.cjs +0 -2
  571. package/dist/chunk-GWBENQEV.cjs +0 -4
  572. package/dist/chunk-GWBENQEV.cjs.map +0 -1
  573. package/dist/chunk-GZ5YA2AZ.cjs +0 -3
  574. package/dist/chunk-GZ5YA2AZ.cjs.map +0 -1
  575. package/dist/chunk-HCTFDGXL.mjs +0 -2
  576. package/dist/chunk-HCTFDGXL.mjs.map +0 -1
  577. package/dist/chunk-IOSYBHKU.mjs +0 -2
  578. package/dist/chunk-IOSYBHKU.mjs.map +0 -1
  579. package/dist/chunk-IZDT74H4.mjs +0 -2
  580. package/dist/chunk-IZDT74H4.mjs.map +0 -1
  581. package/dist/chunk-JMKLDDKY.cjs +0 -2
  582. package/dist/chunk-JMKLDDKY.cjs.map +0 -1
  583. package/dist/chunk-M5GUTM7K.mjs +0 -4
  584. package/dist/chunk-M5GUTM7K.mjs.map +0 -1
  585. package/dist/chunk-PHIOKO3A.mjs +0 -2
  586. package/dist/chunk-PHIOKO3A.mjs.map +0 -1
  587. package/dist/chunk-QCK474XD.cjs +0 -2
  588. package/dist/chunk-QCK474XD.cjs.map +0 -1
  589. package/dist/chunk-S74ZMG2G.cjs +0 -2
  590. package/dist/chunk-S74ZMG2G.cjs.map +0 -1
  591. package/dist/chunk-TOAXF4YW.cjs +0 -2
  592. package/dist/chunk-TOAXF4YW.cjs.map +0 -1
  593. package/dist/chunk-UZ5CB33M.cjs +0 -2
  594. package/dist/chunk-UZ5CB33M.cjs.map +0 -1
  595. package/dist/chunk-V3PCHP2D.cjs +0 -2
  596. package/dist/chunk-V3PCHP2D.cjs.map +0 -1
  597. package/dist/chunk-YK4NINF5.mjs +0 -2
  598. package/dist/chunk-YK4NINF5.mjs.map +0 -1
  599. package/dist/chunk-YRJAQDEO.cjs +0 -2
  600. package/dist/chunk-YRJAQDEO.cjs.map +0 -1
  601. package/dist/chunk-ZLCBHOSV.mjs +0 -3
  602. package/dist/chunk-ZLCBHOSV.mjs.map +0 -1
  603. package/dist/contexts/index.cjs +0 -2
  604. package/dist/contexts/index.cjs.map +0 -1
  605. package/dist/contexts/index.mjs +0 -2
  606. package/dist/contexts/index.mjs.map +0 -1
  607. package/dist/dex-BaNHEuck.d.cts +0 -562
  608. package/dist/dex-D6IK-4D9.d.ts +0 -562
  609. package/dist/enum/index.cjs +0 -2
  610. package/dist/enum/index.cjs.map +0 -1
  611. package/dist/enum/index.d.cts +0 -31
  612. package/dist/enum/index.d.ts +0 -31
  613. package/dist/enum/index.mjs +0 -2
  614. package/dist/enum/index.mjs.map +0 -1
  615. package/dist/errors/index.cjs +0 -2
  616. package/dist/errors/index.cjs.map +0 -1
  617. package/dist/errors/index.d.cts +0 -204
  618. package/dist/errors/index.d.ts +0 -204
  619. package/dist/errors/index.mjs +0 -2
  620. package/dist/errors/index.mjs.map +0 -1
  621. package/dist/hooks/index.cjs +0 -4
  622. package/dist/hooks/index.cjs.map +0 -1
  623. package/dist/hooks/index.mjs +0 -4
  624. package/dist/hooks/index.mjs.map +0 -1
  625. package/dist/staking-Bcb8DhoZ.d.cts +0 -246
  626. package/dist/staking-DvJOnMJG.d.ts +0 -246
  627. package/dist/types/index.cjs +0 -2
  628. package/dist/types/index.cjs.map +0 -1
  629. package/dist/types/index.d.cts +0 -56
  630. package/dist/types/index.d.ts +0 -56
  631. package/dist/types/index.mjs +0 -2
  632. package/dist/types/index.mjs.map +0 -1
  633. package/dist/utils/index.cjs +0 -2
  634. package/dist/utils/index.cjs.map +0 -1
  635. package/dist/utils/index.mjs +0 -2
  636. package/dist/utils/index.mjs.map +0 -1
  637. /package/dist/{abi/index.mjs.map → errors/exports.mjs.map} +0 -0
  638. /package/dist/{actions/index.mjs.map → types/exports.mjs.map} +0 -0
@@ -1,16 +1,23 @@
1
- import * as SentryType from '@sentry/nextjs';
2
1
  import { Abi } from 'viem';
3
2
 
3
+ /**
4
+ * Severity levels for error reporting.
5
+ * Mirrors Sentry's SeverityLevel for compatibility, but owned by berajs
6
+ * so we don't depend on @sentry/nextjs.
7
+ */
8
+ type SeverityLevel = "fatal" | "error" | "warning" | "log" | "info" | "debug";
9
+
4
10
  interface IBeraErrorArgs {
5
11
  message?: string;
6
12
  displayMessage?: string;
7
13
  cause?: unknown;
8
14
  reason?: string;
9
15
  chainId?: number;
16
+ fingerprint?: string[];
10
17
  /**
11
- * The level of the error to be used for Sentry.
18
+ * The level of the error to be used for error reporting.
12
19
  */
13
- level?: SentryType.SeverityLevel;
20
+ level?: SeverityLevel;
14
21
  tags?: {
15
22
  [key in TagsKey]?: Primitive;
16
23
  };
@@ -20,16 +27,28 @@ interface IBeraErrorArgs {
20
27
  */
21
28
  abi?: Abi;
22
29
  }
23
- /**
24
- * Copy pasted from sentry types
25
- */
26
30
  type Primitive = number | string | boolean | bigint | symbol | null | undefined;
27
31
  /**
28
32
  * An helper type to make sure we only use the allowed tags. Sync this with docs/errors.md
29
33
  */
30
34
  type TagsKey = "wallet.chain" | "wallet.connector" | "wallet.address" | "error.reason" | "operation.type" | "operation.key" | "operation.txn.functionName" | "operation.txn.to" | "operation.txn.status" | "operation.source.url" | "operation.source.name" | "operation.source.queryName" | "operation.source.type";
31
35
  /**
32
- * This is a generic error class that can be used to handle errors in the SDK.
36
+ * Base error class for the entire berajs SDK.
37
+ *
38
+ * All errors should be a BeraError or one of its subclasses. Unknown errors should be
39
+ * normalized via `initBeraError({ cause })`.
40
+ *
41
+ * Key design: the constructor runs an **automatic reason detection pipeline** when `reason`
42
+ * is not explicitly provided. It calls `parseViemError` on the `cause` to extract a
43
+ * machine-readable reason code (e.g. "NotEnoughBalance", "BAL#508", "UserRejectedRequestError").
44
+ * That reason is then matched against `errorMap.ts` to resolve a user-friendly `displayMessage`.
45
+ *
46
+ * This means: for most viem errors, you only need to pass `cause` and everything else
47
+ * (reason, displayMessage, level) is derived automatically.
48
+ *
49
+ * @see parseViemError — the reason extraction engine
50
+ * @see errorMap.ts — reason → displayMessage mapping
51
+ * @see initBeraError — normalizes any error into a BeraError (preferred entry point)
33
52
  */
34
53
  declare class BeraError extends Error {
35
54
  /**
@@ -54,6 +73,12 @@ declare class BeraError extends Error {
54
73
  * This is typically the error code can be found in the errorMap.ts file. I.e. NotEnoughBalance or BAL#508
55
74
  */
56
75
  reason: string | null;
76
+ /**
77
+ * The fingerprint for the error.
78
+ *
79
+ * This is typically used to group errors in Sentry.
80
+ */
81
+ fingerprint: string[] | undefined;
57
82
  private _tags;
58
83
  set tags(tags: {
59
84
  [key: string | TagsKey]: Primitive;
@@ -61,9 +86,9 @@ declare class BeraError extends Error {
61
86
  get tags(): {
62
87
  [key: string | TagsKey]: Primitive;
63
88
  };
64
- level: SentryType.SeverityLevel;
89
+ level: SeverityLevel;
65
90
  extra: Record<string, unknown>;
66
- constructor({ message: m, displayMessage: dm, cause, reason, level, abi, tags, chainId, }: IBeraErrorArgs);
91
+ constructor({ message: m, displayMessage: dm, cause, reason, level, abi, tags, chainId, fingerprint, }: IBeraErrorArgs);
67
92
  }
68
93
 
69
- export { BeraError as B, type IBeraErrorArgs as I };
94
+ export { BeraError as B, type IBeraErrorArgs as I, type SeverityLevel as S };
@@ -1,16 +1,23 @@
1
- import * as SentryType from '@sentry/nextjs';
2
1
  import { Abi } from 'viem';
3
2
 
3
+ /**
4
+ * Severity levels for error reporting.
5
+ * Mirrors Sentry's SeverityLevel for compatibility, but owned by berajs
6
+ * so we don't depend on @sentry/nextjs.
7
+ */
8
+ type SeverityLevel = "fatal" | "error" | "warning" | "log" | "info" | "debug";
9
+
4
10
  interface IBeraErrorArgs {
5
11
  message?: string;
6
12
  displayMessage?: string;
7
13
  cause?: unknown;
8
14
  reason?: string;
9
15
  chainId?: number;
16
+ fingerprint?: string[];
10
17
  /**
11
- * The level of the error to be used for Sentry.
18
+ * The level of the error to be used for error reporting.
12
19
  */
13
- level?: SentryType.SeverityLevel;
20
+ level?: SeverityLevel;
14
21
  tags?: {
15
22
  [key in TagsKey]?: Primitive;
16
23
  };
@@ -20,16 +27,28 @@ interface IBeraErrorArgs {
20
27
  */
21
28
  abi?: Abi;
22
29
  }
23
- /**
24
- * Copy pasted from sentry types
25
- */
26
30
  type Primitive = number | string | boolean | bigint | symbol | null | undefined;
27
31
  /**
28
32
  * An helper type to make sure we only use the allowed tags. Sync this with docs/errors.md
29
33
  */
30
34
  type TagsKey = "wallet.chain" | "wallet.connector" | "wallet.address" | "error.reason" | "operation.type" | "operation.key" | "operation.txn.functionName" | "operation.txn.to" | "operation.txn.status" | "operation.source.url" | "operation.source.name" | "operation.source.queryName" | "operation.source.type";
31
35
  /**
32
- * This is a generic error class that can be used to handle errors in the SDK.
36
+ * Base error class for the entire berajs SDK.
37
+ *
38
+ * All errors should be a BeraError or one of its subclasses. Unknown errors should be
39
+ * normalized via `initBeraError({ cause })`.
40
+ *
41
+ * Key design: the constructor runs an **automatic reason detection pipeline** when `reason`
42
+ * is not explicitly provided. It calls `parseViemError` on the `cause` to extract a
43
+ * machine-readable reason code (e.g. "NotEnoughBalance", "BAL#508", "UserRejectedRequestError").
44
+ * That reason is then matched against `errorMap.ts` to resolve a user-friendly `displayMessage`.
45
+ *
46
+ * This means: for most viem errors, you only need to pass `cause` and everything else
47
+ * (reason, displayMessage, level) is derived automatically.
48
+ *
49
+ * @see parseViemError — the reason extraction engine
50
+ * @see errorMap.ts — reason → displayMessage mapping
51
+ * @see initBeraError — normalizes any error into a BeraError (preferred entry point)
33
52
  */
34
53
  declare class BeraError extends Error {
35
54
  /**
@@ -54,6 +73,12 @@ declare class BeraError extends Error {
54
73
  * This is typically the error code can be found in the errorMap.ts file. I.e. NotEnoughBalance or BAL#508
55
74
  */
56
75
  reason: string | null;
76
+ /**
77
+ * The fingerprint for the error.
78
+ *
79
+ * This is typically used to group errors in Sentry.
80
+ */
81
+ fingerprint: string[] | undefined;
57
82
  private _tags;
58
83
  set tags(tags: {
59
84
  [key: string | TagsKey]: Primitive;
@@ -61,9 +86,9 @@ declare class BeraError extends Error {
61
86
  get tags(): {
62
87
  [key: string | TagsKey]: Primitive;
63
88
  };
64
- level: SentryType.SeverityLevel;
89
+ level: SeverityLevel;
65
90
  extra: Record<string, unknown>;
66
- constructor({ message: m, displayMessage: dm, cause, reason, level, abi, tags, chainId, }: IBeraErrorArgs);
91
+ constructor({ message: m, displayMessage: dm, cause, reason, level, abi, tags, chainId, fingerprint, }: IBeraErrorArgs);
67
92
  }
68
93
 
69
- export { BeraError as B, type IBeraErrorArgs as I };
94
+ export { BeraError as B, type IBeraErrorArgs as I, type SeverityLevel as S };
@@ -0,0 +1,390 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { Address, PublicClient, Abi, Hex } from 'viem';
4
+ import { Token as Token$1 } from '@berachain/graphql/pol/api';
5
+ import { SwapKind } from '@berachain-foundation/berancer-sdk';
6
+ import { H as HoneySwapAction } from './honey-CYm0RWf4.js';
7
+
8
+ interface CollateralRates {
9
+ mintFee: number;
10
+ redeemFee: number;
11
+ }
12
+ interface HoneyFeeMap {
13
+ single: Record<Address, CollateralRates>;
14
+ basket: CollateralRates;
15
+ }
16
+ interface CollateralRatesArgs extends BeraJS.BaseFunctionArgs {
17
+ client: PublicClient;
18
+ collateralList: Token$1[];
19
+ }
20
+ /**
21
+ * Fetches the mint and redeem rates for all collateral tokens and calculates the weighted basket rates
22
+ * @param {Object} params - The parameters object
23
+ * @param {PublicClient} params.client - The Viem public client instance
24
+ * @param {Address[]} params.collateralList - Array of collateral token addresses
25
+ * @returns {Promise<HoneyFeeMap | undefined>} Object containing individual collateral rates and weighted basket rates,
26
+ * or undefined if the operation fails
27
+ */
28
+ declare function getHoneyFees({ client, collateralList, ...args }: CollateralRatesArgs): Promise<HoneyFeeMap>;
29
+
30
+ type MinimalERC20 = {
31
+ address: Address;
32
+ decimals: number;
33
+ symbol: string;
34
+ name: string;
35
+ chainId: number;
36
+ };
37
+
38
+ type TokenWithMetadata = MinimalERC20 & {
39
+ tags?: string[];
40
+ base64?: string;
41
+ logoURI?: string;
42
+ };
43
+
44
+ type Token = TokenWithMetadata & {
45
+ totalSupply?: string;
46
+ weight?: number | string | null;
47
+ };
48
+
49
+ interface TokenPriceInfo {
50
+ price: number;
51
+ updatedAt: number;
52
+ chainId: number;
53
+ }
54
+
55
+ type TokenCurrentPriceMap = Record<
56
+ Lowercase<Address> | string,
57
+ TokenPriceInfo | undefined
58
+ >;
59
+
60
+ interface TokenWithAmount extends Token {
61
+ amount: string;
62
+ exceeding?: boolean;
63
+ }
64
+
65
+ interface TokenWithPrice extends Token {
66
+ price: number;
67
+ }
68
+
69
+ interface BalanceToken extends Token {
70
+ balance: {
71
+ /**
72
+ * This is the string representation of the balance in wei.
73
+ *
74
+ * It can be safely parsed to a bigint, but we're returning it as a string to avoid serialization issues.
75
+ *
76
+ * @example "1200000000000000000"
77
+ */
78
+ raw: string;
79
+ /**
80
+ * This is the formatted representation of the balance in the token's decimals.
81
+ *
82
+ * @example "1.2"
83
+ */
84
+ formatted: string;
85
+ };
86
+ /**
87
+ * Price of the token in USD.
88
+ */
89
+ price?: number;
90
+ /**
91
+ * Balance value in USD.
92
+ * Calculated as balance * price.
93
+ */
94
+ usdValue?: number;
95
+ }
96
+
97
+ interface SwapRequest {
98
+ tokenIn: Address;
99
+ tokenOut: Address;
100
+ tokenInDecimals: number;
101
+ tokenOutDecimals: number;
102
+ amount: string;
103
+ wberaIsBera: boolean;
104
+ swapKind: SwapKind;
105
+ }
106
+
107
+ /**
108
+ * Object with properties to check the allowance of a token.
109
+ */
110
+ interface AllowanceQueryItem {
111
+ token: MinimalERC20;
112
+ /**
113
+ * The amount of the token to approve.
114
+ */
115
+ amount: {
116
+ raw: string;
117
+ formatted: string;
118
+ };
119
+ /**
120
+ * The address to approve the tokens to.
121
+ */
122
+ spender: Address;
123
+ }
124
+
125
+ interface AllowanceToken extends AllowanceQueryItem {
126
+ /**
127
+ * The current allowance of the token.
128
+ */
129
+ allowance: {
130
+ raw: string;
131
+ formatted: string;
132
+ };
133
+ /**
134
+ * Whether the allowance is needed to perform the transaction.
135
+ */
136
+ needsApproval: boolean;
137
+ }
138
+
139
+ interface IUserPosition {
140
+ lpBalance?: BalanceToken;
141
+ tokenBalances?: Omit<BalanceToken, "chainId">[];
142
+ userSharePercentage?: number;
143
+ stakedBalance?: Pick<BalanceToken, "address" | "balance" | "usdValue">;
144
+ /**
145
+ * Just a utility to detect if there is a price for the LP token.
146
+ */
147
+ lpTokenPrice?: number;
148
+ }
149
+ type BexStatus = {
150
+ protocol: {
151
+ /**
152
+ * If the whole protocol is paused (i.e. ~the~ vault contract) disable any functionality except withdrawing proportional
153
+ * liquidity (provided that pool's recovery mode is enabled). Specifically we disable swaps and pool creation.
154
+ */
155
+ isPaused: boolean;
156
+ };
157
+ /**
158
+ * Pool is undefined if pool status is still loading if no pool address was provided.
159
+ */
160
+ pool?: {
161
+ /**
162
+ * Pool should be put into recovery mode if tx are reverting on-chain to do with fee computation or pool exits.
163
+ * It reduces the computation needed to withdraw liquidity and does not charge protocol fees on exits while enabled.
164
+ *
165
+ * NOTE: that you can potentially still do regular exits/joins/etc in recovery mode, but if the flag is true will only
166
+ * present the safe exit option to the user in FE.
167
+ */
168
+ isInRecoveryMode: boolean;
169
+ /**
170
+ * If the pool is paused you cannot do anything unless you also enable recovery mode (then you can withdraw safely).
171
+ */
172
+ isPaused: boolean;
173
+ /**
174
+ * Disable withdrawals for a pool due to a combination of pool and vault statuses.
175
+ */
176
+ disablePoolWithdrawals: boolean;
177
+ /**
178
+ * Disable deposits for a pool due to a combination of pool and vault statuses.
179
+ */
180
+ disablePoolDeposits: boolean;
181
+ };
182
+ };
183
+
184
+ type IAggregatorArgs = {
185
+ tokenIn: MinimalERC20;
186
+ tokenOut: MinimalERC20;
187
+ /**
188
+ * Amount of tokenIn to swap in wei.
189
+ */
190
+ amount: string;
191
+ slippage: number;
192
+ account?: Address;
193
+ publicClient?: PublicClient;
194
+ aggregatorsFeeBps?: number;
195
+ proxyAggregatorsThroughVercel?: boolean;
196
+ referrer?: SwapReferrer;
197
+ /**
198
+ * If provided, the aggregator will swap to the underlying token and deposit it into the vault (tokenOut).
199
+ *
200
+ * The aggregator won't check if the tokenOut is an ERC4626 vault, so this needs to be asserted by the caller.
201
+ * This is used for Staked BERA/iBera and Bend Vaults.
202
+ */
203
+ underlyingToken?: MinimalERC20 | null;
204
+ /**
205
+ * If provided, the aggregator will stake into the reward vault after the swap.
206
+ */
207
+ rewardVault?: Address;
208
+ /**
209
+ * Only needed by the honey mint/redeem aggregator.
210
+ */
211
+ honeyNativeState?: Pick<HoneyConfigContextReturn, "collateralList">;
212
+ };
213
+
214
+ type Calldata = {
215
+ params?: readonly unknown[] | undefined;
216
+ functionName?: string;
217
+ abi?: Abi;
218
+ address: Address;
219
+ data?: Hex;
220
+ value: bigint;
221
+ gasLimit?: bigint;
222
+ };
223
+
224
+ type IRawAggregatorQuote = {
225
+ amountOut: string;
226
+ amountIn: string;
227
+ name: Aggregators;
228
+ allowanceRequirements: AllowanceQueryItem[];
229
+ /**
230
+ * True if it's bera wrap/unwrap or bgt redeem.
231
+ */
232
+ isNativeSwap?: boolean;
233
+ priceImpactPercentage?: number | null;
234
+ swapFeeBps: number;
235
+ getCalldata?: ({ account }: { account: Address }) => Calldata;
236
+ };
237
+
238
+ type IAggregatorQuote =
239
+ // no need to force to swapAndStake as type check is done on each getQuote
240
+ IRawAggregatorQuote & {
241
+ amountOut: string;
242
+ amountOutUsd: string;
243
+ amountIn: string;
244
+ amountInUsd: string;
245
+ priceImpactPercentage: number;
246
+ exchangeRate: number;
247
+ relativeLossPercentage: number;
248
+ isBest?: boolean;
249
+ };
250
+
251
+ /**
252
+ * Interface representing the latest Pyth price updates
253
+ * @interface PythLatestUpdates
254
+ * @property {`0x${string}`[]} calldata - Array of hex-encoded calldata for price updates
255
+ * @property {string[]} prices - Array of formatted price strings
256
+ */
257
+ interface PythLatestUpdates {
258
+ calldata: `0x${string}`[];
259
+ prices: string[];
260
+ }
261
+ /**
262
+ * Fetches the latest price updates from Pyth Network's Hermes service
263
+ * @param {Object} params - The parameters object
264
+ * @param {string[]} params.priceFeedId - Array of Pyth price feed IDs to fetch updates for
265
+ * @returns {Promise<PythLatestUpdates>} Promise resolving to the latest price updates
266
+ * @example
267
+ * ```ts
268
+ * const updates = await getPythLatestPrices({
269
+ * priceFeedId: ["0x123...", "0x456..."]
270
+ * });
271
+ * ```
272
+ */
273
+ declare function getPythLatestPrices({ priceFeedId, }: {
274
+ priceFeedId: string[];
275
+ }): Promise<PythLatestUpdates>;
276
+
277
+ declare enum HoneyPreviewMethod {
278
+ Mint = "previewMintHoney",
279
+ MintWithPrice = "previewMintHoneyWithPrices",
280
+ RequiredCollateral = "previewMintCollaterals",
281
+ RequiredCollateralWithPrice = "previewMintCollateralsWithPrices",
282
+ Redeem = "previewRedeemCollaterals",
283
+ RedeemWithPrice = "previewRedeemCollateralsWithPrices",
284
+ HoneyToRedeem = "previewRedeemHoney",
285
+ HoneyToRedeemWithPrice = "previewRedeemHoneyWithPrices"
286
+ }
287
+ interface HoneyPreviewArgs extends BeraJS.BaseFunctionArgs {
288
+ client: PublicClient;
289
+ collateral: Token;
290
+ collateralList: TokenWithOrder[];
291
+ amount: string;
292
+ method: HoneyPreviewMethod;
293
+ latestPrices?: PythLatestUpdates;
294
+ isPythWrapperEnabled: boolean;
295
+ }
296
+ interface HoneyPreviewResult {
297
+ collaterals: Record<Address, bigint>;
298
+ honey: bigint;
299
+ }
300
+ interface HoneyPreviewReadResult {
301
+ collaterals: bigint[];
302
+ honey: bigint;
303
+ }
304
+ /**
305
+ * Calculates preview amounts for Honey protocol operations including minting and redeeming.
306
+ * This function handles different preview methods to calculate either the amount of Honey tokens
307
+ * that can be minted with given collateral or the amount of collateral needed to mint/redeem Honey tokens.
308
+ *
309
+ * @param {Object} params - The parameters for the preview calculation
310
+ * @param {PublicClient} params.client - The Viem public client for blockchain interaction
311
+ * @param {Token} params.collateral - The primary collateral token being used
312
+ * @param {Address[]} params.collateralList - List of all supported collateral tokens
313
+ * @param {string} params.amount - The amount to calculate preview for (in token units)
314
+ * @param {HoneyPreviewMethod} params.method - The type of preview calculation to perform
315
+ * @param {PythLatestUpdates | undefined} params.latestPrices - Optional latest price updates from Pyth oracle
316
+ *
317
+ * @returns {Promise<HoneyPreviewResult | undefined>} An object containing:
318
+ * - collaterals: Record mapping collateral token addresses to their respective amounts
319
+ * - honey: The amount of Honey tokens involved in the operation
320
+ *
321
+ * @throws {Error} If there's an error during the contract interaction or calculation
322
+ */
323
+ declare function getHoneyPreview({ client, collateral, collateralList, amount, method, latestPrices, isPythWrapperEnabled, ...baseArgs }: HoneyPreviewArgs): Promise<HoneyPreviewResult | undefined>;
324
+
325
+ type PythPriceFeedMap = Record<Address, Hex>;
326
+
327
+ type HoneySwapActions =
328
+ | { type: HoneySwapAction.RESET_AMOUNTS }
329
+ | { type: HoneySwapAction.ACTION_TYPE_CHANGE; value: "mint" | "redeem" }
330
+ | { type: HoneySwapAction.COLLATERALS_CHANGE; value: TokenWithOrder[] }
331
+ | { type: HoneySwapAction.FROM_AMOUNT_CHANGE; index: number; value: string }
332
+ | { type: HoneySwapAction.TO_AMOUNT_CHANGE; index: number; value: string }
333
+ | {
334
+ type: HoneySwapAction.PREVIEW_CHANGE;
335
+ value: HoneyPreviewResult;
336
+ changedAsset: Address;
337
+ }
338
+ | { type: HoneySwapAction.IS_BASKET_MODE_ENABLED_CHANGE; value: boolean }
339
+ | { type: HoneySwapAction.IS_TYPING_CHANGE; value: boolean }
340
+ | { type: HoneySwapAction.IS_SUBMITTING_CHANGE; value: boolean }
341
+ | { type: HoneySwapAction.IS_LOADING_CHANGE; value: boolean };
342
+
343
+ declare const HoneyConfigContext: react.Context<HoneyConfigContextReturn | undefined>;
344
+ type TokenWithOrder = TokenWithMetadata & {
345
+ order: number;
346
+ };
347
+ interface HoneyConfigContextReturn {
348
+ /**
349
+ * Map of the Pyth price feed ids for each collateral
350
+ */
351
+ priceFeedMap: PythPriceFeedMap;
352
+ /**
353
+ * This is the list of all the collaterals that are supported by the Honey protocol
354
+ */
355
+ collateralList: TokenWithOrder[];
356
+ /**
357
+ * This is the main collateral that is used to calculate the relative cap limit
358
+ */
359
+ referenceCollateral: TokenWithOrder;
360
+ /**
361
+ * An object that maps the redeem/mint rate for each collateral and the weighted rates for the basket mode
362
+ */
363
+ feeMap: HoneyFeeMap;
364
+ flags: {
365
+ /**
366
+ * If true, mint/redeem will also update pyth prices
367
+ */
368
+ isPythWrapperEnabled: boolean;
369
+ };
370
+ /**
371
+ * Honey protocol configs
372
+ */
373
+ protocol: {
374
+ /**
375
+ * Honey protocol paused state
376
+ */
377
+ isPaused: boolean;
378
+ /**
379
+ * The label for the Honey protocol paused message
380
+ */
381
+ pausedBannerLabel?: string;
382
+ };
383
+ }
384
+ interface HoneyConfigProviderProps extends HoneyConfigContextReturn {
385
+ children: React.ReactNode;
386
+ }
387
+ declare function HoneyConfigProvider({ children, ...props }: HoneyConfigProviderProps): react_jsx_runtime.JSX.Element;
388
+ declare function useHoneyConfig(): HoneyConfigContextReturn;
389
+
390
+ export { type AllowanceQueryItem as A, type BalanceToken as B, type CollateralRates as C, type IAggregatorQuote as D, type HoneySwapActions as H, type IAggregatorArgs as I, type MinimalERC20 as M, type PythLatestUpdates as P, type SwapRequest as S, type TokenWithOrder as T, type TokenWithMetadata as a, type Token as b, HoneyConfigContext as c, type HoneyConfigContextReturn as d, type HoneyConfigProviderProps as e, HoneyConfigProvider as f, type IRawAggregatorQuote as g, type PythPriceFeedMap as h, type TokenCurrentPriceMap as i, type AllowanceToken as j, type HoneyFeeMap as k, type CollateralRatesArgs as l, getHoneyFees as m, HoneyPreviewMethod as n, type HoneyPreviewArgs as o, type HoneyPreviewResult as p, type HoneyPreviewReadResult as q, getHoneyPreview as r, getPythLatestPrices as s, type TokenWithAmount as t, useHoneyConfig as u, type IUserPosition as v, type Calldata as w, type TokenPriceInfo as x, type TokenWithPrice as y, type BexStatus as z };