@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
@@ -1,29 +1,23 @@
1
1
  import type { SwapKind } from "@berachain-foundation/berancer-sdk";
2
- import type { Abi, Address, PublicClient } from "viem";
2
+ import type { Abi, Address, Hex, PublicClient } from "viem";
3
3
 
4
- import type { aggregatorsRouterAbi } from "~/abi/bex/aggregatorsRouter";
5
4
  import type { HoneyConfigContextReturn } from "~/contexts/HoneyConfigProvider";
6
- import type { IContractWrite, TokenBalance } from "./global";
7
5
 
8
6
  export type MinimalERC20 = {
9
7
  address: Address;
10
8
  decimals: number;
11
9
  symbol: string;
12
10
  name: string;
11
+ chainId: number;
13
12
  };
14
13
 
15
14
  export type TokenWithMetadata = MinimalERC20 & {
16
15
  tags?: string[];
17
16
  base64?: string;
18
17
  logoURI?: string;
19
- chainId?: number;
20
18
  };
21
19
 
22
20
  export type Token = TokenWithMetadata & {
23
- /**
24
- * @deprecated
25
- */
26
- default?: boolean;
27
21
  totalSupply?: string;
28
22
  weight?: number | string | null;
29
23
  };
@@ -31,6 +25,7 @@ export type Token = TokenWithMetadata & {
31
25
  export interface TokenPriceInfo {
32
26
  price: number;
33
27
  updatedAt: number;
28
+ chainId: number;
34
29
  }
35
30
 
36
31
  export type TokenCurrentPriceMap = Record<
@@ -40,19 +35,39 @@ export type TokenCurrentPriceMap = Record<
40
35
 
41
36
  export interface TokenWithAmount extends Token {
42
37
  amount: string;
38
+ exceeding?: boolean;
43
39
  }
44
40
 
45
- export interface BalanceToken extends Token {
46
- balance: bigint;
47
- formattedBalance: string;
48
- price?: number;
41
+ export interface TokenWithPrice extends Token {
42
+ price: number;
49
43
  }
50
44
 
51
- export type BalanceTokenWithMetadata = BalanceToken & TokenWithMetadata;
52
-
53
- export interface TokenInput extends Token {
54
- amount: string;
55
- exceeding: boolean;
45
+ export interface BalanceToken extends Token {
46
+ balance: {
47
+ /**
48
+ * This is the string representation of the balance in wei.
49
+ *
50
+ * It can be safely parsed to a bigint, but we're returning it as a string to avoid serialization issues.
51
+ *
52
+ * @example "1200000000000000000"
53
+ */
54
+ raw: string;
55
+ /**
56
+ * This is the formatted representation of the balance in the token's decimals.
57
+ *
58
+ * @example "1.2"
59
+ */
60
+ formatted: string;
61
+ };
62
+ /**
63
+ * Price of the token in USD.
64
+ */
65
+ price?: number;
66
+ /**
67
+ * Balance value in USD.
68
+ * Calculated as balance * price.
69
+ */
70
+ usdValue?: number;
56
71
  }
57
72
 
58
73
  export interface SwapRequest {
@@ -65,25 +80,48 @@ export interface SwapRequest {
65
80
  swapKind: SwapKind;
66
81
  }
67
82
 
83
+ /**
84
+ * Object with properties to check the allowance of a token.
85
+ */
86
+ export interface AllowanceQueryItem {
87
+ token: MinimalERC20;
88
+ /**
89
+ * The amount of the token to approve.
90
+ */
91
+ amount: {
92
+ raw: string;
93
+ formatted: string;
94
+ };
95
+ /**
96
+ * The address to approve the tokens to.
97
+ */
98
+ spender: Address;
99
+ }
100
+
101
+ export interface AllowanceToken extends AllowanceQueryItem {
102
+ /**
103
+ * The current allowance of the token.
104
+ */
105
+ allowance: {
106
+ raw: string;
107
+ formatted: string;
108
+ };
109
+ /**
110
+ * Whether the allowance is needed to perform the transaction.
111
+ */
112
+ needsApproval: boolean;
113
+ }
114
+
68
115
  export interface IUserPosition {
69
- lpBalance?: TokenBalance;
70
- tokenBalances?: TokenBalance[];
116
+ lpBalance?: BalanceToken;
117
+ tokenBalances?: Omit<BalanceToken, "chainId">[];
71
118
  userSharePercentage?: number;
72
- stakedBalance?: TokenBalance;
119
+ stakedBalance?: Pick<BalanceToken, "address" | "balance" | "usdValue">;
73
120
  /**
74
121
  * Just a utility to detect if there is a price for the LP token.
75
122
  */
76
123
  lpTokenPrice?: number;
77
124
  }
78
-
79
- export enum PoolCreationStep {
80
- POOL_TYPE = "Pool Type",
81
- SELECT_TOKENS = "Select Tokens",
82
- DEPOSIT_LIQUIDITY = "Deposit Liquidity",
83
- SET_PARAMETERS = "Set Parameters",
84
- SET_INFO = "Set Info",
85
- }
86
-
87
125
  export type BexStatus = {
88
126
  protocol: {
89
127
  /**
@@ -120,10 +158,11 @@ export type BexStatus = {
120
158
  };
121
159
 
122
160
  export type IAggregatorArgs = {
123
- tokenIn: string;
124
- tokenOut: string;
125
- tokenInDecimals?: number;
126
- tokenOutDecimals?: number;
161
+ tokenIn: MinimalERC20;
162
+ tokenOut: MinimalERC20;
163
+ /**
164
+ * Amount of tokenIn to swap in wei.
165
+ */
127
166
  amount: string;
128
167
  slippage: number;
129
168
  account?: Address;
@@ -131,55 +170,50 @@ export type IAggregatorArgs = {
131
170
  aggregatorsFeeBps?: number;
132
171
  proxyAggregatorsThroughVercel?: boolean;
133
172
  referrer?: SwapReferrer;
173
+ /**
174
+ * If provided, the aggregator will swap to the underlying token and deposit it into the vault (tokenOut).
175
+ *
176
+ * The aggregator won't check if the tokenOut is an ERC4626 vault, so this needs to be asserted by the caller.
177
+ * This is used for Staked BERA/iBera and Bend Vaults.
178
+ */
179
+ underlyingToken?: MinimalERC20 | null;
134
180
  /**
135
181
  * If provided, the aggregator will stake into the reward vault after the swap.
136
182
  */
137
183
  rewardVault?: Address;
184
+ /**
185
+ * Only needed by the honey mint/redeem aggregator.
186
+ */
138
187
  honeyNativeState?: Pick<HoneyConfigContextReturn, "collateralList">;
139
188
  };
140
189
 
141
- export enum Aggregators {
142
- Oogabooga = "Oogabooga",
143
- Fly = "Fly",
144
- HubPools = "Hub Pools",
145
- Wrap = "Wrap",
146
- Unwrap = "Unwrap",
147
- KyberSwap = "KyberSwap",
148
- OpenOcean = "OpenOcean",
149
- Haiku = "Haiku",
150
- Enso = "Enso",
151
- RedeemBgt = "RedeemBgt",
152
- Honey = "Honey",
153
- }
190
+ export type Calldata = {
191
+ params?: readonly unknown[] | undefined;
192
+ functionName?: string;
193
+ abi?: Abi;
194
+ address: Address;
195
+ data?: Hex;
196
+ value: bigint;
197
+ gasLimit?: bigint;
198
+ };
154
199
 
155
- export type IRawAggregatorQuote<isRoutedThroughAggregator = true> = {
200
+ export type IRawAggregatorQuote = {
156
201
  amountOut: string;
157
202
  amountIn: string;
158
203
  name: Aggregators;
159
- spender: Address | undefined;
204
+ allowanceRequirements: AllowanceQueryItem[];
160
205
  /**
161
206
  * True if it's bera wrap/unwrap or bgt redeem.
162
207
  */
163
208
  isNativeSwap?: boolean;
164
- priceImpactPercentage?: number;
209
+ priceImpactPercentage?: number | null;
165
210
  swapFeeBps: number;
166
- calldata?: isRoutedThroughAggregator extends true
167
- ? Omit<
168
- IContractWrite<typeof aggregatorsRouterAbi, "swap">,
169
- "message" | "actionType"
170
- >
171
- : {
172
- params: readonly unknown[] | undefined;
173
- functionName: string;
174
- abi: Abi;
175
- address: Address;
176
- value?: bigint;
177
- };
211
+ getCalldata?: ({ account }: { account: Address }) => Calldata;
178
212
  };
179
213
 
180
214
  export type IAggregatorQuote =
181
215
  // no need to force to swapAndStake as type check is done on each getQuote
182
- IRawAggregatorQuote<false> & {
216
+ IRawAggregatorQuote & {
183
217
  amountOut: string;
184
218
  amountOutUsd: string;
185
219
  amountIn: string;
@@ -189,8 +223,3 @@ export type IAggregatorQuote =
189
223
  relativeLossPercentage: number;
190
224
  isBest?: boolean;
191
225
  };
192
-
193
- export enum SwapReferrer {
194
- SWAP = "SWAP",
195
- ZAP = "ZAP",
196
- }
@@ -8,7 +8,7 @@ type StrictOutputReference<T> = {
8
8
  index?: number;
9
9
  };
10
10
 
11
- export interface GetZapTransactionRequestsArgs {
11
+ export interface GetEnsoSwapBundleArgs {
12
12
  fromAddress: Address;
13
13
  amountIn: Quantity;
14
14
  tokenIn: Address;
@@ -0,0 +1,8 @@
1
+ export * from "./bribe-boost.d";
2
+ export * from "./dex.d";
3
+ export * from "./enso.d";
4
+ export * from "./global.d";
5
+ export * from "./governance.d";
6
+ export * from "./honeySwap.d";
7
+ export * from "./pol.d";
8
+ export * from "./staking.d";
@@ -13,12 +13,12 @@ import type {
13
13
 
14
14
  import type { BeraConfig, ChainId } from "@berachain/config";
15
15
 
16
+ import type { ContractName } from "~/enum/contracts";
16
17
  import type { TransactionActionType } from "~/enum/txnEnum";
17
18
  import type {
18
19
  IUseContractWriteArgs,
19
20
  TxnEventKeys,
20
21
  } from "~/hooks/useContractWrite/types";
21
- import type { Token } from "./dex";
22
22
 
23
23
  export type DefaultHookOptions = {
24
24
  opts?: SWRConfiguration & { isEnabled?: boolean };
@@ -31,24 +31,6 @@ export type DefaultHookReturnType<T = any> = Omit<
31
31
  refresh: () => void;
32
32
  };
33
33
 
34
- export interface TokenBalance {
35
- address: Address;
36
- /**
37
- * Balance in wei, should be string to be serializable in JSON
38
- */
39
- balance: bigint | string;
40
- formattedBalance: string;
41
- /**
42
- * Balance in USD
43
- */
44
- usdValue?: number;
45
- }
46
-
47
- export interface AllowanceToken extends Token {
48
- allowance: bigint;
49
- formattedAllowance: string;
50
- }
51
-
52
34
  export type IContractWriteFn = <
53
35
  abi extends Abi | undefined = undefined,
54
36
  functionName extends abi extends Abi
@@ -84,17 +66,6 @@ type EventData = Record<
84
66
  >
85
67
  >;
86
68
 
87
- /**
88
- * A list of contract names that are not mapped in the devrel's contract mapping or that are generated by factories (e.g. RewardVault).
89
- */
90
- export enum ContractName {
91
- ENSO_ROUTER = "enso.router",
92
- POL_REWARD_VAULT = "pol.rewardVault",
93
- BEX_POOL = "bex.pool",
94
- ERC20 = "others.erc20",
95
- BEX_EXPLOITED_FUND_DISTRIBUTOR = "bex.exploitedFundDistributor",
96
- }
97
-
98
69
  export type IContractWrite<
99
70
  abi extends Abi | undefined = undefined,
100
71
  functionName extends abi extends Abi
@@ -5,57 +5,20 @@ import type {
5
5
  ProposalWithVotesFragment,
6
6
  } from "@berachain/graphql/governance";
7
7
 
8
+ import type { ProposalErrorCodes, ProposalTypeEnum } from "~/enum/governance";
9
+
8
10
  export type Proposal = ProposalWithVotesFragment;
9
11
 
10
12
  export type Vote = ProposalVoteFragment;
11
13
 
12
14
  export type Voter = Address;
13
15
 
14
- /**
15
- * Maps the proposal state from the governor contract to a more human-readable format.
16
- * Don't edit this enum manually, it's synced with the governor contract.
17
- *
18
- * @see https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/governance/IGovernor.sol
19
- */
20
- export enum ProposalState {
21
- Pending = 0,
22
- Active = 1,
23
- Canceled = 2,
24
- Defeated = 3,
25
- Succeeded = 4,
26
- Queued = 5,
27
- Expired = 6,
28
- Executed = 7,
29
- }
30
-
31
16
  export type ProposalVotes = {
32
17
  yes: number;
33
18
  no: number;
34
19
  abstain: number;
35
20
  };
36
21
 
37
- export const VoteColorMap = {
38
- yes: "#059669",
39
- 1: "#059669",
40
- no: "#DC2629",
41
- 2: "#DC2629",
42
- veto: "#0284C7",
43
- 4: "#0284C7",
44
- abstain: "#78716c",
45
- 3: "#78716c",
46
- yes_secondary: "#ECFDF5",
47
- no_secondary: "#FEF2F2",
48
- veto_secondary: "#F0F9FF",
49
- abstain_secondary: "#E7E5E4",
50
- default: "#57534e",
51
- };
52
-
53
- export enum VoteEnum {
54
- AGAINST = "no",
55
- FOR = "yes",
56
- ABSTAIN = "abstain",
57
- }
58
-
59
22
  export type PROPOSAL_GENRE = "berahub" | "honey" | "bend" | "berps" | "general";
60
23
 
61
24
  export type CustomProposalActionErrors = {
@@ -84,22 +47,6 @@ export type CustomProposalErrors = {
84
47
  actions?: CustomProposalActionErrors[];
85
48
  };
86
49
 
87
- export enum ProposalErrorCodes {
88
- REQUIRED = "Required",
89
- INVALID_AMOUNT = "Invalid amount",
90
- NEGATIVE_AMOUNT = "Negative amount",
91
- INVALID_ADDRESS = "Invalid address",
92
- INVALID_ACTION = "Invalid action",
93
- INVALID_ABI = "Invalid ABI",
94
- MUST_BE_HTTPS = "Must be HTTPS",
95
- MUST_BE_HTTPS_OR_IPFS = "Must be HTTPS or IPFS",
96
- INVALID_BASEPATH = "Must be a berachain forum link",
97
- /**
98
- * Mainly used when it's not a reward vault
99
- */
100
- INVALID_CONTRACT = "This is not a valid contract",
101
- }
102
-
103
50
  export type GovernanceTopic = {
104
51
  id: PROPOSAL_GENRE;
105
52
  color: string;
@@ -111,15 +58,6 @@ export type GovernanceTopic = {
111
58
  description?: string;
112
59
  comingSoon?: boolean;
113
60
  };
114
-
115
- export enum ProposalTypeEnum {
116
- CUSTOM_PROPOSAL = "custom-action",
117
- WHITELIST_REWARD_VAULT = "whitelist-reward-vault",
118
- BLACKLIST_REWARD_VAULT = "blacklist-reward-vault",
119
- ERC20_TRANSFER = "erc20-transfer",
120
- WHITELIST_REWARD_VAULT_INCENTIVE = "whitelist-reward-vault-incentive",
121
- }
122
-
123
61
  export type CustomProposal = {
124
62
  title: string;
125
63
  description: any;
@@ -2,19 +2,7 @@ import type { Address, Hex } from "viem";
2
2
 
3
3
  import type { HoneyPreviewResult } from "~/actions/honey/getHoneyPreview";
4
4
  import type { TokenWithOrder } from "~/contexts/HoneyConfigProvider";
5
-
6
- export enum HoneySwapAction {
7
- RESET_AMOUNTS = "RESET_AMOUNTS",
8
- ACTION_TYPE_CHANGE = "ACTION_TYPE_CHANGE",
9
- COLLATERALS_CHANGE = "COLLATERALS_CHANGE",
10
- FROM_AMOUNT_CHANGE = "FROM_AMOUNT_CHANGE",
11
- TO_AMOUNT_CHANGE = "TO_AMOUNT_CHANGE",
12
- PREVIEW_CHANGE = "PREVIEW_CHANGE",
13
- IS_BASKET_MODE_ENABLED_CHANGE = "IS_BASKET_MODE_ENABLED_CHANGE",
14
- IS_TYPING_CHANGE = "IS_TYPING_CHANGE",
15
- IS_SUBMITTING_CHANGE = "IS_SUBMITTING_CHANGE",
16
- IS_LOADING_CHANGE = "IS_LOADING_CHANGE",
17
- }
5
+ import type { HoneySwapAction } from "~/enum/honey";
18
6
 
19
7
  export type PythPriceFeedMap = Record<Address, Hex>;
20
8
 
@@ -2,7 +2,7 @@ import type { Address } from "viem";
2
2
 
3
3
  import type { ApiValidatorFragment } from "@berachain/graphql/pol/api";
4
4
 
5
- import type { Token } from "./dex";
5
+ import type { Token, TokenWithMetadata } from "./dex";
6
6
 
7
7
  export type IncentiveReward = {
8
8
  tokenMetadata: Token | undefined;
@@ -23,6 +23,7 @@ export interface IncentiveRewardChunksWithValidatorData {
23
23
  minTimestamp: number | undefined;
24
24
  totalValue: number;
25
25
  tokenTotals: {
26
+ chainId: number;
26
27
  address: Address;
27
28
  amount: number;
28
29
  value: number;
@@ -37,6 +38,7 @@ export interface AggregatedTokenTotals {
37
38
  amount: number;
38
39
  value: number;
39
40
  metadata: Token | undefined;
41
+ chainId: number;
40
42
  }
41
43
 
42
44
  export type ClaimedIncentives = Record<string, string>;
@@ -50,3 +52,12 @@ export interface UserVaultInfo {
50
52
  rewards: string;
51
53
  percentage: string;
52
54
  }
55
+
56
+ export type StakedBeraAsset = {
57
+ token: TokenWithMetadata;
58
+ apr: number;
59
+ stakedAmount: number;
60
+ stakedAmountUsd: number;
61
+ earnedAmount: number;
62
+ earnedAmountUsd: number;
63
+ };
@@ -0,0 +1,22 @@
1
+ import type { TokenWithMetadata } from "./dex";
2
+
3
+ export interface ProtocolMetadata {
4
+ name: string;
5
+ logoURI: string;
6
+ url: string;
7
+ description: string;
8
+ tags?: string[];
9
+ }
10
+
11
+ /**
12
+ * Configuration for a single staking option.
13
+ * Maps receipt tokens to their accepted input tokens.
14
+ */
15
+ export type StakingConfig = {
16
+ /** Unique identifier for this staking config */
17
+ id: string;
18
+ /** The token received when staking (e.g., sWBERA, siBERA) */
19
+ receiptToken: TokenWithMetadata;
20
+ /** Tokens that can be staked to receive the receipt token */
21
+ inputTokens: TokenWithMetadata[];
22
+ };
@@ -0,0 +1,122 @@
1
+ interface EventsMap {
2
+ [event: string]: any;
3
+ }
4
+
5
+ interface DefaultEvents extends EventsMap {
6
+ [event: string]: (...args: any) => void;
7
+ }
8
+
9
+ export type Unsubscribe = () => void;
10
+
11
+ export interface Emitter<Events extends EventsMap = DefaultEvents> {
12
+ /**
13
+ * Calls each of the listeners registered for a given event.
14
+ *
15
+ * ```js
16
+ * ee.emit('tick', tickType, tickDuration)
17
+ * ```
18
+ *
19
+ * @param event The event name.
20
+ * @param args The arguments for listeners.
21
+ */
22
+ emit<K extends keyof Events>(event: K, ...args: Parameters<Events[K]>): void;
23
+
24
+ /**
25
+ * Add a listener for a given event.
26
+ *
27
+ * ```js
28
+ * const unbind = ee.on('tick', (tickType, tickDuration) => {
29
+ * count += 1
30
+ * })
31
+ *
32
+ * disable () {
33
+ * unbind()
34
+ * }
35
+ * ```
36
+ *
37
+ * @param event The event name.
38
+ * @param cb The listener function.
39
+ * @returns Unbind listener from event.
40
+ */
41
+ on<K extends keyof Events>(event: K, cb: Events[K]): Unsubscribe;
42
+ events: Partial<{ [E in keyof Events]: Events[E][] }>;
43
+ }
44
+
45
+ /**
46
+ * An interface for mixins that expose the `on` function (without the emitter
47
+ * bound to `this`)
48
+ *
49
+ * ```js
50
+ * import { createEmitter } from '~utils/createEmitter'
51
+ *
52
+ * class Ticker implements EmitterMixin<Events> {
53
+ * constructor() {
54
+ * this.emitter = createEmitter()
55
+ * }
56
+ * on(...args) {
57
+ * return this.emitter.on(...args)
58
+ * }
59
+ * tick() {
60
+ * this.emitter.emit('tick')
61
+ * }
62
+ * }
63
+ * ```
64
+ */
65
+ export interface EmitterMixin<Events extends EventsMap = DefaultEvents> {
66
+ on<K extends keyof Events>(event: K, cb: Events[K]): Unsubscribe;
67
+ }
68
+
69
+ /**
70
+ * Create event emitter.
71
+ *
72
+ * ```js
73
+ * import { createEmitter } from '~/utils/createEmitter'
74
+ *
75
+ * class Ticker {
76
+ * constructor() {
77
+ * this.emitter = createEmitter()
78
+ * }
79
+ * on(...args) {
80
+ * return this.emitter.on(...args)
81
+ * }
82
+ * tick() {
83
+ * this.emitter.emit('tick')
84
+ * }
85
+ * }
86
+ * ```
87
+ *
88
+ * Inspired by {@link https://github.com/ai/nanoevents}
89
+ */
90
+ export function createEmitter<
91
+ Events extends EventsMap = DefaultEvents,
92
+ >(): Emitter<Events> {
93
+ /**
94
+ * Event names in keys and arrays with listeners in values.
95
+ *
96
+ * ```js
97
+ * emitter1.events = emitter2.events
98
+ * emitter2.events = { }
99
+ * ```
100
+ */
101
+ const events: Partial<{ [E in keyof Events]: Events[E][] }> = {};
102
+
103
+ return {
104
+ emit(event, ...args) {
105
+ for (const callback of events[event] || []) {
106
+ callback(...args);
107
+ }
108
+ },
109
+ events,
110
+ on(event, cb) {
111
+ if (!events[event]) {
112
+ events[event] = [];
113
+ }
114
+
115
+ events[event].push(cb);
116
+
117
+ return () => {
118
+ events[event] = events[event]?.filter((i) => cb !== i);
119
+ };
120
+ },
121
+ };
122
+ }