@raac/rpc 2.0.0-beta.1 → 2.0.0-beta.10

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 (684) hide show
  1. package/dist/RPCLibrary.js +134 -25
  2. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/fee-streamer/RentStreamer.sol/RentStreamer.json +838 -0
  4. package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +8 -2
  5. package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +2 -2
  6. package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +2 -2
  7. package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +2 -2
  8. package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +2 -2
  9. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  10. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +62 -86
  11. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  12. package/dist/artifacts/core/psm/PSMVault.sol/PSMVault.json +2303 -0
  13. package/dist/artifacts/core/psm/RateProvider.sol/RateProvider.json +444 -0
  14. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  15. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +69 -66
  16. package/dist/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
  17. package/dist/artifacts/mocks/core/tokens/USDCTokenLimited.sol/USDCTokenLimited.json +558 -0
  18. package/dist/artifacts/zeno/Auction.sol/Auction.json +278 -120
  19. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +31 -148
  20. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +80 -45
  21. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +11 -88
  22. package/dist/assets/getAsset.js +2 -2
  23. package/dist/assets/getSupply.js +7 -7
  24. package/dist/configs/chains/1.json +18 -0
  25. package/dist/configs/chains/11155111.json +64 -5
  26. package/dist/configs/chains/17000.json +4 -0
  27. package/dist/configs/chains/18453.json +4 -0
  28. package/dist/configs/chains/8453.json +33 -3
  29. package/dist/contracts/curve/common/_helpers.js +39 -0
  30. package/dist/contracts/curve/common/getPools.js +36 -0
  31. package/dist/contracts/curve/common/getVirtualPrice.js +26 -0
  32. package/dist/contracts/curve/common/index.js +18 -0
  33. package/dist/contracts/feeCollector/claimRewardFromPool.js +2 -2
  34. package/dist/contracts/findContract.js +12 -11
  35. package/dist/contracts/getContractAddress.js +2 -2
  36. package/dist/contracts/getTokenMetadata.js +31 -0
  37. package/dist/contracts/governance/_helpers.js +1 -22
  38. package/dist/contracts/governance/distributor/claimAll.js +2 -2
  39. package/dist/contracts/governance/distributor/claimForGauge.js +2 -2
  40. package/dist/contracts/governance/distributor/deposit.js +2 -2
  41. package/dist/contracts/governance/distributor/setController.js +2 -2
  42. package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +2 -2
  43. package/dist/contracts/governance/distributor/setMaxClaimBound.js +2 -2
  44. package/dist/contracts/governance/distributor/withdrawDust.js +2 -2
  45. package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +2 -2
  46. package/dist/contracts/governance/gauge/claimRewardToken.js +2 -3
  47. package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +2 -2
  48. package/dist/contracts/governance/gauge/stake.js +2 -3
  49. package/dist/contracts/governance/gauge/updateUserRewards.js +2 -3
  50. package/dist/contracts/governance/gauge/withdraw.js +2 -3
  51. package/dist/contracts/governance/gaugeController/addGauge.js +2 -2
  52. package/dist/contracts/governance/gaugeController/batchVote.js +2 -2
  53. package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +2 -2
  54. package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +2 -2
  55. package/dist/contracts/governance/gaugeController/kick.js +2 -2
  56. package/dist/contracts/governance/gaugeController/removeGauge.js +2 -2
  57. package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +2 -2
  58. package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +2 -2
  59. package/dist/contracts/governance/gaugeController/setDistributor.js +2 -2
  60. package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +2 -2
  61. package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +2 -2
  62. package/dist/contracts/governance/gaugeController/setEmergencyPause.js +2 -2
  63. package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +2 -2
  64. package/dist/contracts/governance/gaugeController/vote.js +2 -2
  65. package/dist/contracts/governance/gaugeSystems/_helpers.js +2 -2
  66. package/dist/contracts/governance/proposals/cancel.js +3 -4
  67. package/dist/contracts/governance/proposals/castVote.js +4 -4
  68. package/dist/contracts/governance/proposals/execute.js +3 -4
  69. package/dist/contracts/governance/proposals/getVoteReceipt.js +0 -1
  70. package/dist/contracts/governance/proposals/propose.js +3 -4
  71. package/dist/contracts/governance/proposals/setParameter.js +3 -4
  72. package/dist/contracts/governance/proposals/setTimelock.js +3 -4
  73. package/dist/contracts/housePrices/getLatestPrice.js +3 -3
  74. package/dist/contracts/housePrices/setOracle.js +3 -4
  75. package/dist/contracts/lockers/botLocker/addRewardTokens.js +21 -0
  76. package/dist/contracts/lockers/botLocker/distributeRewardToken.js +23 -0
  77. package/dist/contracts/lockers/botLocker/getConfig.js +29 -0
  78. package/dist/contracts/lockers/botLocker/getLocks.js +11 -1
  79. package/dist/contracts/lockers/botLocker/getRoles.js +22 -0
  80. package/dist/contracts/lockers/botLocker/getUnlockWindow.js +29 -0
  81. package/dist/contracts/lockers/botLocker/grantRole.js +38 -0
  82. package/dist/contracts/lockers/botLocker/hasRole.js +18 -0
  83. package/dist/contracts/lockers/botLocker/pause.js +24 -0
  84. package/dist/contracts/lockers/botLocker/rescueTokens.js +22 -0
  85. package/dist/contracts/lockers/liquidLocker/deposit.js +12 -4
  86. package/dist/contracts/lockers/liquidLocker/hasHarvestRole.js +15 -0
  87. package/dist/contracts/pmBlender/getReserveBalance.js +3 -3
  88. package/dist/contracts/pmBlender/getSupportedTokens.js +0 -1
  89. package/dist/contracts/pmBlender/previewDeposit.js +3 -3
  90. package/dist/contracts/pmBlender/previewSwap.js +3 -3
  91. package/dist/contracts/pmBlender/previewWithdraw.js +3 -3
  92. package/dist/contracts/pmMarket/getMarketConfig.js +3 -3
  93. package/dist/contracts/pmTreasury/getCollateralRatio.js +4 -2
  94. package/dist/contracts/pmTreasury/getCurrentNav.js +4 -2
  95. package/dist/contracts/pmTreasury/getLeverageRatio.js +4 -2
  96. package/dist/contracts/pmTreasury/getMaxMintablePMUSD.js +4 -2
  97. package/dist/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.js +4 -2
  98. package/dist/contracts/pmTreasury/getMaxMintableXPM.js +4 -2
  99. package/dist/contracts/pmTreasury/getMaxRedeemablePMUSD.js +4 -2
  100. package/dist/contracts/pmTreasury/getMaxRedeemableXPM.js +4 -2
  101. package/dist/contracts/pmTreasury/getTotalBaseToken.js +4 -2
  102. package/dist/contracts/psm/_helpers.js +68 -0
  103. package/dist/contracts/psm/cancelExit.js +20 -0
  104. package/dist/contracts/psm/deposit.js +25 -0
  105. package/dist/contracts/psm/getVaultInfo.js +126 -0
  106. package/dist/contracts/psm/previewDeposit.js +21 -0
  107. package/dist/contracts/psm/previewProportionalSplit.js +19 -0
  108. package/dist/contracts/psm/previewRedeem.js +21 -0
  109. package/dist/contracts/psm/previewSwap.js +21 -0
  110. package/dist/contracts/psm/redeem.js +25 -0
  111. package/dist/contracts/psm/requestExit.js +20 -0
  112. package/dist/contracts/psm/swap.js +24 -0
  113. package/dist/contracts/rentStreamer/_helpers.js +19 -0
  114. package/dist/contracts/rentStreamer/getScheduled.js +19 -0
  115. package/dist/contracts/rentStreamer/getState.js +40 -0
  116. package/dist/contracts/rentStreamer/previewRelease.js +23 -0
  117. package/dist/contracts/rentStreamer/release.js +22 -0
  118. package/dist/contracts/rentStreamer/sync.js +21 -0
  119. package/dist/contracts/resolveName.js +1 -1
  120. package/dist/contracts/tokens/veRAAC/_helpers.js +0 -2
  121. package/dist/contracts/tokens/veRAAC/claimReward.js +3 -4
  122. package/dist/contracts/tokens/veRAAC/distributeRewards.js +3 -4
  123. package/dist/contracts/tokens/veRAAC/extend.js +3 -4
  124. package/dist/contracts/tokens/veRAAC/finalizeRagequit.js +3 -4
  125. package/dist/contracts/tokens/veRAAC/getRewardTokens.js +34 -0
  126. package/dist/contracts/tokens/veRAAC/getTotalSupply.js +0 -1
  127. package/dist/contracts/tokens/veRAAC/getTotalSupplyAt.js +1 -1
  128. package/dist/contracts/tokens/veRAAC/increase.js +3 -4
  129. package/dist/contracts/tokens/veRAAC/lock.js +3 -4
  130. package/dist/contracts/tokens/veRAAC/ragequitAll.js +3 -4
  131. package/dist/contracts/tokens/veRAAC/ragequitLock.js +3 -4
  132. package/dist/contracts/tokens/veRAAC/withdraw.js +3 -4
  133. package/dist/contracts/zeno/_helpers.js +43 -0
  134. package/dist/contracts/zeno/buy.js +27 -0
  135. package/dist/contracts/zeno/createAuction.js +30 -15
  136. package/dist/contracts/zeno/createZeno.js +23 -12
  137. package/dist/contracts/zeno/getAuctionState.js +45 -0
  138. package/dist/contracts/zeno/getAuctions.js +39 -34
  139. package/dist/contracts/zeno/getBondState.js +47 -0
  140. package/dist/contracts/zeno/getPrice.js +23 -0
  141. package/dist/contracts/zeno/getZenos.js +32 -16
  142. package/dist/contracts/zeno/grantRole.js +46 -0
  143. package/dist/contracts/zeno/pause.js +42 -0
  144. package/dist/contracts/zeno/priceAt.js +20 -0
  145. package/dist/contracts/zeno/quoteBuy.js +33 -0
  146. package/dist/contracts/zeno/redeem.js +44 -0
  147. package/dist/contracts/zeno/setAuction.js +25 -0
  148. package/dist/contracts/zeno/sweepSurplus.js +26 -0
  149. package/dist/generated/errors.json +3537 -0
  150. package/dist/index.js +1 -0
  151. package/dist/methods/approveToken.js +2 -4
  152. package/dist/methods/commons/checkAllowance.js +2 -3
  153. package/dist/methods/commons/estimateGasPrice.js +0 -1
  154. package/dist/methods/getAssetBalance.js +4 -4
  155. package/dist/nfts/approveNFT.js +3 -5
  156. package/dist/nfts/getAllTokens.js +3 -4
  157. package/dist/nfts/getApprovalForAll.js +3 -4
  158. package/dist/nfts/getBaseUri.js +3 -4
  159. package/dist/nfts/getHousePrice.js +3 -3
  160. package/dist/nfts/getMintFeePercentage.js +3 -3
  161. package/dist/nfts/getMintPrice.js +3 -3
  162. package/dist/nfts/getNFTApproval.js +3 -4
  163. package/dist/nfts/getNFTBalance.js +29 -0
  164. package/dist/nfts/getOwnerOfNFT.js +3 -5
  165. package/dist/nfts/getTokenURI.js +3 -4
  166. package/dist/nfts/getTokensByOwner.js +3 -4
  167. package/dist/nfts/getTotalPropertiesCount.js +3 -4
  168. package/dist/nfts/mint.js +3 -5
  169. package/dist/nfts/setApprovalForAll.js +3 -5
  170. package/dist/nfts/setBaseUri.js +3 -4
  171. package/dist/nfts/totalNFTSupply.js +3 -3
  172. package/dist/nfts/transferNFT.js +34 -0
  173. package/dist/oracles/houses/request.js +2 -15
  174. package/dist/oracles/houses/simulate.js +0 -3
  175. package/dist/oracles/prime-rate/request.js +2 -16
  176. package/dist/oracles/prime-rate/simulate.js +0 -4
  177. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +6 -6
  178. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +4 -2
  179. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
  180. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
  181. package/dist/pools/lendingPool/borrowFromLendingPool.js +4 -2
  182. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +3 -8
  183. package/dist/pools/lendingPool/calculateInsuranceFee.js +4 -2
  184. package/dist/pools/lendingPool/closeLiquidation.js +4 -2
  185. package/dist/pools/lendingPool/depositAssetToLendingPool.js +4 -2
  186. package/dist/pools/lendingPool/depositToLendingPool.js +4 -6
  187. package/dist/pools/lendingPool/getAdapters.js +4 -2
  188. package/dist/pools/lendingPool/getEligibleUserDeposits.js +4 -2
  189. package/dist/pools/lendingPool/getHealthFactor.js +4 -2
  190. package/dist/pools/lendingPool/getHousePrice.js +3 -3
  191. package/dist/pools/lendingPool/getLendingPoolInfo.js +3 -2
  192. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +4 -2
  193. package/dist/pools/lendingPool/getParameters.js +4 -2
  194. package/dist/pools/lendingPool/getPositionDebt.js +4 -2
  195. package/dist/pools/lendingPool/getPositionScaledDebt.js +4 -2
  196. package/dist/pools/lendingPool/getPositionView.js +4 -2
  197. package/dist/pools/lendingPool/getPositionsScaledDebt.js +4 -2
  198. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +4 -2
  199. package/dist/pools/lendingPool/getUserCollateralValue.js +4 -2
  200. package/dist/pools/lendingPool/initializeLiquidation.js +4 -2
  201. package/dist/pools/lendingPool/openVaultPosition.js +4 -6
  202. package/dist/pools/lendingPool/repayToLendingPool.js +4 -2
  203. package/dist/pools/lendingPool/vaultOpened.js +4 -2
  204. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +4 -2
  205. package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
  206. package/dist/pools/liquidityPool/getLiquidityPoolInfo.js +3 -3
  207. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
  208. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
  209. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
  210. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +2 -2
  211. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
  212. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
  213. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
  214. package/dist/pools/rwaVault/checkRedeemEligibility.js +46 -0
  215. package/dist/pools/rwaVault/depositToRWAVault.js +4 -4
  216. package/dist/pools/rwaVault/getAdapters.js +2 -2
  217. package/dist/pools/rwaVault/getNextRandomNFT.js +4 -2
  218. package/dist/pools/rwaVault/getRWAVaultInfo.js +4 -2
  219. package/dist/pools/rwaVault/previewDeposit.js +4 -2
  220. package/dist/pools/rwaVault/previewWithdraw.js +4 -2
  221. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +4 -4
  222. package/dist/pools/rwaVault/requestRandomSeed.js +4 -4
  223. package/dist/pools/stabilityPool/depositToStabilityPool.js +4 -4
  224. package/dist/pools/stabilityPool/getRawUserDepositsInStabilityPool.js +4 -2
  225. package/dist/pools/stabilityPool/getStabilityPoolInfo.js +4 -2
  226. package/dist/pools/stabilityPool/getStabilityPoolTotalDeposits.js +4 -2
  227. package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +4 -2
  228. package/dist/pools/stabilityPool/getWithdrawTimelockConfig.js +25 -0
  229. package/dist/pools/stabilityPool/requestWithdraw.js +4 -4
  230. package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +4 -4
  231. package/dist/prices/computeStakingAPY.js +12 -0
  232. package/dist/prices/getCurveLPPriceUSD.js +46 -0
  233. package/dist/prices/getPrices.js +10 -8
  234. package/dist/prices/getStakingTokenPriceUSD.js +25 -0
  235. package/dist/prices/getWrapperPriceUSD.js +33 -0
  236. package/dist/prices/tokenPricesUSD.js +22 -0
  237. package/dist/scripts/generateErrorCatalogue.js +237 -0
  238. package/dist/types/RPCLibrary.d.ts +113 -10
  239. package/dist/types/configs/chains/index.d.ts +36 -0
  240. package/dist/types/configs/index.d.ts +18 -0
  241. package/dist/types/contracts/curve/common/_helpers.d.ts +16 -0
  242. package/dist/types/contracts/curve/common/getPools.d.ts +30 -0
  243. package/dist/types/contracts/curve/common/getVirtualPrice.d.ts +13 -0
  244. package/dist/types/contracts/curve/common/index.d.ts +2 -0
  245. package/dist/types/contracts/findContract.d.ts +3 -1
  246. package/dist/types/contracts/getTokenMetadata.d.ts +13 -0
  247. package/dist/types/contracts/governance/_helpers.d.ts +0 -20
  248. package/dist/types/contracts/governance/proposals/castVote.d.ts +1 -2
  249. package/dist/types/contracts/lockers/botLocker/addRewardTokens.d.ts +11 -0
  250. package/dist/types/contracts/lockers/botLocker/distributeRewardToken.d.ts +13 -0
  251. package/dist/types/contracts/lockers/botLocker/getConfig.d.ts +20 -0
  252. package/dist/types/contracts/lockers/botLocker/getLocks.d.ts +4 -0
  253. package/dist/types/contracts/lockers/botLocker/getRoles.d.ts +20 -0
  254. package/dist/types/contracts/lockers/botLocker/getUnlockWindow.d.ts +24 -0
  255. package/dist/types/contracts/lockers/botLocker/grantRole.d.ts +20 -0
  256. package/dist/types/contracts/lockers/botLocker/hasRole.d.ts +12 -0
  257. package/dist/types/contracts/lockers/botLocker/pause.d.ts +6 -0
  258. package/dist/types/contracts/lockers/botLocker/rescueTokens.d.ts +12 -0
  259. package/dist/types/contracts/lockers/liquidLocker/hasHarvestRole.d.ts +8 -0
  260. package/dist/types/contracts/psm/_helpers.d.ts +18 -0
  261. package/dist/types/contracts/psm/cancelExit.d.ts +4 -0
  262. package/dist/types/contracts/psm/deposit.d.ts +9 -0
  263. package/dist/types/contracts/psm/getVaultInfo.d.ts +77 -0
  264. package/dist/types/contracts/psm/previewDeposit.d.ts +7 -0
  265. package/dist/types/contracts/psm/previewProportionalSplit.d.ts +9 -0
  266. package/dist/types/contracts/psm/previewRedeem.d.ts +7 -0
  267. package/dist/types/contracts/psm/previewSwap.d.ts +7 -0
  268. package/dist/types/contracts/psm/redeem.d.ts +9 -0
  269. package/dist/types/contracts/psm/requestExit.d.ts +4 -0
  270. package/dist/types/contracts/psm/swap.d.ts +8 -0
  271. package/dist/types/contracts/rentStreamer/_helpers.d.ts +4 -0
  272. package/dist/types/contracts/rentStreamer/getScheduled.d.ts +12 -0
  273. package/dist/types/contracts/rentStreamer/getState.d.ts +33 -0
  274. package/dist/types/contracts/rentStreamer/previewRelease.d.ts +20 -0
  275. package/dist/types/contracts/rentStreamer/release.d.ts +12 -0
  276. package/dist/types/contracts/rentStreamer/sync.d.ts +11 -0
  277. package/dist/types/contracts/tokens/veRAAC/getRewardTokens.d.ts +10 -0
  278. package/dist/types/contracts/zeno/_helpers.d.ts +17 -0
  279. package/dist/types/contracts/zeno/buy.d.ts +15 -0
  280. package/dist/types/contracts/zeno/createAuction.d.ts +15 -5
  281. package/dist/types/contracts/zeno/createZeno.d.ts +10 -1
  282. package/dist/types/contracts/zeno/getAuctionState.d.ts +45 -0
  283. package/dist/types/contracts/zeno/getAuctions.d.ts +12 -12
  284. package/dist/types/contracts/zeno/getBondState.d.ts +42 -0
  285. package/dist/types/contracts/zeno/getPrice.d.ts +12 -0
  286. package/dist/types/contracts/zeno/getZenos.d.ts +25 -2
  287. package/dist/types/contracts/zeno/grantRole.d.ts +22 -0
  288. package/dist/types/contracts/zeno/pause.d.ts +18 -0
  289. package/dist/types/contracts/zeno/priceAt.d.ts +20 -0
  290. package/dist/types/contracts/zeno/quoteBuy.d.ts +34 -0
  291. package/dist/types/contracts/zeno/redeem.d.ts +20 -0
  292. package/dist/types/contracts/zeno/setAuction.d.ts +13 -0
  293. package/dist/types/contracts/zeno/sweepSurplus.d.ts +14 -0
  294. package/dist/types/index.d.ts +1 -0
  295. package/dist/types/nfts/getNFTBalance.d.ts +13 -0
  296. package/dist/types/nfts/transferNFT.d.ts +15 -0
  297. package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +3 -3
  298. package/dist/types/pools/rwaVault/checkRedeemEligibility.d.ts +15 -0
  299. package/dist/types/pools/stabilityPool/getWithdrawTimelockConfig.d.ts +14 -0
  300. package/dist/types/prices/computeStakingAPY.d.ts +2 -0
  301. package/dist/types/prices/getCurveLPPriceUSD.d.ts +3 -0
  302. package/dist/types/prices/getPrices.d.ts +4 -8
  303. package/dist/types/prices/getStakingTokenPriceUSD.d.ts +16 -0
  304. package/dist/types/prices/getWrapperPriceUSD.d.ts +7 -0
  305. package/dist/types/prices/tokenPricesUSD.d.ts +7 -0
  306. package/dist/types/scripts/generateErrorCatalogue.d.ts +45 -0
  307. package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +2 -0
  308. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +65 -0
  309. package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  310. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +36 -0
  311. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +20 -0
  312. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  313. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/Proxy.d.ts +20 -0
  314. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +25 -0
  315. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  316. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +7 -0
  317. package/dist/types/typechain-types/{contracts/core/governance/gauges/VeBoostProxy.d.ts → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts} +24 -47
  318. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +80 -0
  319. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +51 -0
  320. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  321. package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
  322. package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/RentStreamer.d.ts +422 -0
  323. package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
  324. package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +2 -0
  325. package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +29 -2
  326. package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +0 -2
  327. package/dist/types/typechain-types/contracts/core/lockers/RAACBotLocker.d.ts +1 -9
  328. package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +47 -2
  329. package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +24 -10
  330. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +42 -43
  331. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +7 -3
  332. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +7 -3
  333. package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +7 -3
  334. package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +59 -12
  335. package/dist/types/typechain-types/contracts/core/tokens/VeRAACTokenStorage.d.ts +47 -12
  336. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +29 -2
  337. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  338. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACBotLocker.d.ts +1 -9
  339. package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +82 -15
  340. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +32 -6
  341. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +5 -1
  342. package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +47 -12
  343. package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +43 -39
  344. package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +28 -22
  345. package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +2 -36
  346. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeStub.d.ts +33 -0
  347. package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  348. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken.d.ts +173 -0
  349. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault.d.ts +53 -0
  350. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe.d.ts +91 -0
  351. package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  352. package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
  353. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +32 -6
  354. package/dist/types/typechain-types/contracts/mocks/core/tokens/USDCTokenLimited.d.ts +238 -0
  355. package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
  356. package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +6 -2
  357. package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +200 -108
  358. package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +21 -105
  359. package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +46 -40
  360. package/dist/types/typechain-types/contracts/zeno/ZENOFactory.d.ts +10 -57
  361. package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +1 -0
  362. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +42 -0
  363. package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  364. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +71 -0
  365. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +50 -0
  366. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
  367. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +10 -0
  368. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +17 -0
  369. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
  370. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +4 -0
  371. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +115 -0
  372. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +56 -0
  373. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +102 -0
  374. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
  375. package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +2 -0
  376. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  377. package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/RentStreamer__factory.d.ts +665 -0
  378. package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
  379. package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +1 -0
  380. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +26 -1
  381. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
  382. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -1
  383. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -1
  384. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +0 -2
  385. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -11
  386. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +66 -1
  387. package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +25 -9
  388. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  389. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +12 -2
  390. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +43 -60
  391. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +12 -2
  392. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +12 -2
  393. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
  394. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
  395. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  396. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  397. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  398. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACTokenStorage__factory.d.ts +47 -18
  399. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +58 -19
  400. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +25 -0
  401. package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
  402. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACBotLocker__factory.d.ts +0 -10
  403. package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +91 -6
  404. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +30 -0
  405. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -0
  406. package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +47 -18
  407. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +52 -30
  408. package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +36 -8
  409. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  410. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  411. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  412. package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
  413. package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
  414. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -36
  415. package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
  416. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  417. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeStub__factory.d.ts +42 -0
  418. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
  419. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
  420. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken__factory.d.ts +306 -0
  421. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault__factory.d.ts +68 -0
  422. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe__factory.d.ts +149 -0
  423. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
  424. package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
  425. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  426. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  427. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +31 -1
  428. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/USDCTokenLimited__factory.d.ts +439 -0
  429. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
  430. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
  431. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  432. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +5 -1
  433. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
  434. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
  435. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +2 -9
  436. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
  437. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  438. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  439. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +26 -118
  440. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +230 -106
  441. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +9 -68
  442. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +66 -38
  443. package/dist/types/typechain-types/index.d.ts +28 -8
  444. package/dist/types/typechain-types/psm/PSMVault.d.ts +1503 -0
  445. package/dist/types/typechain-types/psm/RateProvider.d.ts +228 -0
  446. package/dist/types/typechain-types/psm/common.d.ts +46 -0
  447. package/dist/types/typechain-types/psm/factories/PSMVault__factory.d.ts +1795 -0
  448. package/dist/types/typechain-types/psm/factories/RateProvider__factory.d.ts +299 -0
  449. package/dist/types/typechain-types/psm/factories/imports.sol/PSMProxyAdmin__factory.d.ts +117 -0
  450. package/dist/types/typechain-types/psm/factories/imports.sol/PSMTransparentProxy__factory.d.ts +108 -0
  451. package/dist/types/typechain-types/psm/factories/imports.sol/index.d.ts +2 -0
  452. package/dist/types/typechain-types/psm/factories/index.d.ts +8 -0
  453. package/dist/types/typechain-types/psm/factories/interfaces/IBaseAssetNav__factory.d.ts +21 -0
  454. package/dist/types/typechain-types/psm/factories/interfaces/IRateProvider__factory.d.ts +65 -0
  455. package/dist/types/typechain-types/psm/factories/interfaces/IRebalancer__factory.d.ts +25 -0
  456. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoost__factory.d.ts → psm/factories/interfaces/ISavingsToken__factory.d.ts} +215 -192
  457. package/dist/types/typechain-types/psm/factories/interfaces/index.d.ts +6 -0
  458. package/dist/types/typechain-types/psm/factories/interfaces/v2/IRebalancerV2__factory.d.ts +21 -0
  459. package/dist/types/typechain-types/psm/factories/interfaces/v2/index.d.ts +1 -0
  460. package/dist/types/typechain-types/psm/factories/interfaces/v3/IRateProviderV3__factory.d.ts +65 -0
  461. package/dist/types/typechain-types/psm/factories/interfaces/v3/index.d.ts +1 -0
  462. package/dist/types/typechain-types/psm/factories/mocks/MockBaseAssetModule__factory.d.ts +450 -0
  463. package/dist/types/typechain-types/psm/factories/mocks/MockChainlinkFeed__factory.d.ts +106 -0
  464. package/dist/types/typechain-types/psm/factories/mocks/MockERC20__factory.d.ts +288 -0
  465. package/dist/types/typechain-types/psm/factories/mocks/MockFeeOnTransferERC20__factory.d.ts +356 -0
  466. package/dist/types/typechain-types/psm/factories/mocks/MockPmUSD__factory.d.ts +326 -0
  467. package/dist/types/typechain-types/psm/factories/mocks/MockProxy__factory.d.ts +108 -0
  468. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/IMockMintable__factory.d.ts +21 -0
  469. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/MockRebalancer__factory.d.ts +138 -0
  470. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/index.d.ts +2 -0
  471. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/IMockMintable__factory.d.ts +21 -0
  472. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/MockRebalancerV2__factory.d.ts +134 -0
  473. package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  474. package/dist/types/typechain-types/psm/factories/mocks/MockSavingsToken__factory.d.ts +330 -0
  475. package/dist/types/typechain-types/psm/factories/mocks/index.d.ts +9 -0
  476. package/dist/types/typechain-types/psm/factories/utils/index.d.ts +1 -0
  477. package/dist/types/typechain-types/psm/factories/utils/zap/AladdinZap__factory.d.ts +322 -0
  478. package/dist/types/typechain-types/psm/factories/utils/zap/TokenZapLogic__factory.d.ts +73 -0
  479. package/dist/types/typechain-types/psm/factories/utils/zap/index.d.ts +3 -0
  480. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerPool__factory.d.ts +91 -0
  481. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerVault__factory.d.ts +261 -0
  482. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IConvexCRVDepositor__factory.d.ts +49 -0
  483. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool__factory.d.ts +305 -0
  484. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool__factory.d.ts +305 -0
  485. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool__factory.d.ts +305 -0
  486. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool__factory.d.ts +305 -0
  487. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  488. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool__factory.d.ts +39 -0
  489. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool__factory.d.ts +39 -0
  490. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool__factory.d.ts +39 -0
  491. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool__factory.d.ts +175 -0
  492. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  493. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool__factory.d.ts +301 -0
  494. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool__factory.d.ts +165 -0
  495. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool__factory.d.ts +181 -0
  496. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  497. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveETHPool__factory.d.ts +155 -0
  498. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool__factory.d.ts +99 -0
  499. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool__factory.d.ts +99 -0
  500. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap__factory.d.ts +55 -0
  501. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool__factory.d.ts +193 -0
  502. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  503. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool__factory.d.ts +183 -0
  504. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool__factory.d.ts +183 -0
  505. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool__factory.d.ts +183 -0
  506. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool__factory.d.ts +147 -0
  507. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  508. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit__factory.d.ts +141 -0
  509. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap__factory.d.ts +227 -0
  510. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  511. package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoostProxy__factory.d.ts → psm/factories/utils/zap/interfaces/ICurvePoolRegistry__factory.d.ts} +13 -24
  512. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit__factory.d.ts +165 -0
  513. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap__factory.d.ts +193 -0
  514. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit__factory.d.ts +165 -0
  515. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap__factory.d.ts +193 -0
  516. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit__factory.d.ts +165 -0
  517. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap__factory.d.ts +193 -0
  518. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit__factory.d.ts +165 -0
  519. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap__factory.d.ts +193 -0
  520. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  521. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoStETH__factory.d.ts +35 -0
  522. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoWstETH__factory.d.ts +83 -0
  523. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV2Pair__factory.d.ts +95 -0
  524. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Pool__factory.d.ts +115 -0
  525. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Router__factory.d.ts +54 -0
  526. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IWETH__factory.d.ts +23 -0
  527. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IZap__factory.d.ts +107 -0
  528. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCRV__factory.d.ts +401 -0
  529. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCompounder__factory.d.ts +350 -0
  530. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  531. package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/index.d.ts +20 -0
  532. package/dist/types/typechain-types/psm/factories/v2/PSMVaultV2__factory.d.ts +1846 -0
  533. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IPSMVaultView__factory.d.ts +17 -0
  534. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IRateOracle__factory.d.ts +31 -0
  535. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IZap__factory.d.ts +33 -0
  536. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/RebalancerV2__factory.d.ts +506 -0
  537. package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/index.d.ts +4 -0
  538. package/dist/types/typechain-types/psm/factories/v2/index.d.ts +2 -0
  539. package/dist/types/typechain-types/psm/factories/v3/PSMVaultV3__factory.d.ts +1955 -0
  540. package/dist/types/typechain-types/psm/factories/v3/RateProviderComposed__factory.d.ts +303 -0
  541. package/dist/types/typechain-types/psm/factories/v3/RateProviderDirect__factory.d.ts +293 -0
  542. package/dist/types/typechain-types/psm/factories/v3/index.d.ts +3 -0
  543. package/dist/types/typechain-types/psm/imports.sol/PSMProxyAdmin.d.ts +96 -0
  544. package/dist/types/typechain-types/psm/imports.sol/PSMTransparentProxy.d.ts +51 -0
  545. package/dist/types/typechain-types/psm/imports.sol/index.d.ts +2 -0
  546. package/dist/types/typechain-types/psm/index.d.ts +157 -0
  547. package/dist/types/typechain-types/psm/interfaces/IBaseAssetNav.d.ts +33 -0
  548. package/dist/types/typechain-types/psm/interfaces/IRateProvider.d.ts +75 -0
  549. package/dist/types/typechain-types/psm/interfaces/IRebalancer.d.ts +39 -0
  550. package/dist/types/typechain-types/psm/interfaces/ISavingsToken.d.ts +400 -0
  551. package/dist/types/typechain-types/psm/interfaces/index.d.ts +8 -0
  552. package/dist/types/typechain-types/psm/interfaces/v2/IRebalancerV2.d.ts +35 -0
  553. package/dist/types/typechain-types/psm/interfaces/v2/index.d.ts +1 -0
  554. package/dist/types/typechain-types/psm/interfaces/v3/IRateProviderV3.d.ts +75 -0
  555. package/dist/types/typechain-types/psm/interfaces/v3/index.d.ts +1 -0
  556. package/dist/types/typechain-types/psm/mocks/MockBaseAssetModule.d.ts +311 -0
  557. package/dist/types/typechain-types/psm/mocks/MockChainlinkFeed.d.ts +91 -0
  558. package/dist/types/typechain-types/psm/mocks/MockERC20.d.ts +179 -0
  559. package/dist/types/typechain-types/psm/mocks/MockFeeOnTransferERC20.d.ts +247 -0
  560. package/dist/types/typechain-types/psm/mocks/MockPmUSD.d.ts +213 -0
  561. package/dist/types/typechain-types/psm/mocks/MockProxy.d.ts +51 -0
  562. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/IMockMintable.d.ts +35 -0
  563. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/MockRebalancer.d.ts +125 -0
  564. package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/index.d.ts +2 -0
  565. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/IMockMintable.d.ts +35 -0
  566. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/MockRebalancerV2.d.ts +121 -0
  567. package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
  568. package/dist/types/typechain-types/psm/mocks/MockSavingsToken.d.ts +213 -0
  569. package/dist/types/typechain-types/psm/mocks/index.d.ts +11 -0
  570. package/dist/types/typechain-types/psm/utils/index.d.ts +2 -0
  571. package/dist/types/typechain-types/psm/utils/zap/AladdinZap.d.ts +276 -0
  572. package/dist/types/typechain-types/psm/utils/zap/TokenZapLogic.d.ts +59 -0
  573. package/dist/types/typechain-types/psm/utils/zap/index.d.ts +4 -0
  574. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerPool.d.ts +101 -0
  575. package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerVault.d.ts +199 -0
  576. package/dist/types/typechain-types/psm/utils/zap/interfaces/IConvexCRVDepositor.d.ts +61 -0
  577. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool.d.ts +245 -0
  578. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool.d.ts +245 -0
  579. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool.d.ts +245 -0
  580. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool.d.ts +245 -0
  581. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
  582. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool.d.ts +49 -0
  583. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool.d.ts +49 -0
  584. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool.d.ts +49 -0
  585. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool.d.ts +159 -0
  586. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
  587. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool.d.ts +249 -0
  588. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool.d.ts +153 -0
  589. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool.d.ts +165 -0
  590. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
  591. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveETHPool.d.ts +135 -0
  592. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap.d.ts +55 -0
  593. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool.d.ts +87 -0
  594. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool.d.ts +87 -0
  595. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool.d.ts +159 -0
  596. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
  597. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool.d.ts +159 -0
  598. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool.d.ts +159 -0
  599. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool.d.ts +159 -0
  600. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool.d.ts +131 -0
  601. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
  602. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit.d.ts +133 -0
  603. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap.d.ts +191 -0
  604. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
  605. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurvePoolRegistry.d.ts +45 -0
  606. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit.d.ts +163 -0
  607. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap.d.ts +179 -0
  608. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit.d.ts +163 -0
  609. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap.d.ts +179 -0
  610. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit.d.ts +163 -0
  611. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap.d.ts +179 -0
  612. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit.d.ts +163 -0
  613. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap.d.ts +179 -0
  614. package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
  615. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoStETH.d.ts +45 -0
  616. package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoWstETH.d.ts +89 -0
  617. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV2Pair.d.ts +103 -0
  618. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Pool.d.ts +113 -0
  619. package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Router.d.ts +55 -0
  620. package/dist/types/typechain-types/psm/utils/zap/interfaces/IWETH.d.ts +43 -0
  621. package/dist/types/typechain-types/psm/utils/zap/interfaces/IZap.d.ts +91 -0
  622. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCRV.d.ts +361 -0
  623. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCompounder.d.ts +290 -0
  624. package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/index.d.ts +2 -0
  625. package/dist/types/typechain-types/psm/utils/zap/interfaces/index.d.ts +28 -0
  626. package/dist/types/typechain-types/psm/v2/PSMVaultV2.d.ts +1528 -0
  627. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IPSMVaultView.d.ts +31 -0
  628. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IRateOracle.d.ts +43 -0
  629. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IZap.d.ts +39 -0
  630. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/RebalancerV2.d.ts +387 -0
  631. package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/index.d.ts +4 -0
  632. package/dist/types/typechain-types/psm/v2/index.d.ts +3 -0
  633. package/dist/types/typechain-types/psm/v3/PSMVaultV3.d.ts +1631 -0
  634. package/dist/types/typechain-types/psm/v3/RateProviderComposed.d.ts +228 -0
  635. package/dist/types/typechain-types/psm/v3/RateProviderDirect.d.ts +218 -0
  636. package/dist/types/typechain-types/psm/v3/index.d.ts +3 -0
  637. package/dist/types/user/_helpers.d.ts +23 -0
  638. package/dist/types/user/computeEffectiveReturn.d.ts +67 -0
  639. package/dist/types/user/getUserClaimables.d.ts +55 -0
  640. package/dist/types/user/getUserCollateral.d.ts +12 -0
  641. package/dist/types/user/getUserDebt.d.ts +18 -0
  642. package/dist/types/user/getUserFarming.d.ts +64 -0
  643. package/dist/types/user/getUserGovernance.d.ts +20 -0
  644. package/dist/types/user/getUserPortfolio.d.ts +61 -0
  645. package/dist/types/user/getUserWalletBalances.d.ts +20 -0
  646. package/dist/types/user/index.d.ts +9 -0
  647. package/dist/types/utils/amount.d.ts +7 -0
  648. package/dist/types/utils/artifacts.d.ts +565 -126
  649. package/dist/types/utils/contracts.d.ts +38 -0
  650. package/dist/types/utils/errorDecoder.d.ts +29 -28
  651. package/dist/types/utils/rpcError.d.ts +52 -0
  652. package/dist/user/_helpers.js +22 -0
  653. package/dist/user/computeEffectiveReturn.js +33 -0
  654. package/dist/user/getUserClaimables.js +97 -0
  655. package/dist/user/getUserCollateral.js +29 -0
  656. package/dist/user/getUserDebt.js +32 -0
  657. package/dist/user/getUserFarming.js +100 -0
  658. package/dist/user/getUserGovernance.js +35 -0
  659. package/dist/user/getUserPortfolio.js +109 -0
  660. package/dist/user/getUserWalletBalances.js +30 -0
  661. package/dist/user/index.js +24 -0
  662. package/dist/utils/amount.js +10 -0
  663. package/dist/utils/artifacts.js +13 -0
  664. package/dist/utils/chain.js +2 -1
  665. package/dist/utils/config.js +0 -1
  666. package/dist/utils/contracts.js +5 -2
  667. package/dist/utils/errorDecoder.js +69 -117
  668. package/dist/utils/rpcError.js +159 -0
  669. package/dist/wallet/assets/approveAsset.js +10 -12
  670. package/dist/wallet/assets/burnAsset.js +14 -16
  671. package/dist/wallet/assets/getAllowance.js +4 -4
  672. package/dist/wallet/assets/getAsset.js +2 -2
  673. package/dist/wallet/assets/getBalance.js +4 -3
  674. package/dist/wallet/assets/mintAsset.js +14 -17
  675. package/dist/wallet/assets/transferAsset.js +7 -10
  676. package/package.json +4 -3
  677. package/dist/generated/errorMap.json +0 -3945
  678. package/dist/scripts/generateErrorMap.js +0 -180
  679. package/dist/types/scripts/generateErrorMap.d.ts +0 -1
  680. package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoost.d.ts +0 -518
  681. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoost.d.ts +0 -311
  682. package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoostProxy.d.ts +0 -50
  683. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +0 -152
  684. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoost__factory.d.ts +0 -716
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getUserPortfolio = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const chains_1 = __importDefault(require("../configs/chains"));
9
+ const amount_1 = require("../utils/amount");
10
+ const getLendingPoolInfo_1 = __importDefault(require("../pools/lendingPool/getLendingPoolInfo"));
11
+ const computeEffectiveReturn_1 = require("./computeEffectiveReturn");
12
+ const getUserCollateral_1 = require("./getUserCollateral");
13
+ const getUserDebt_1 = require("./getUserDebt");
14
+ const getUserWalletBalances_1 = require("./getUserWalletBalances");
15
+ const getUserFarming_1 = require("./getUserFarming");
16
+ const getUserGovernance_1 = require("./getUserGovernance");
17
+ const _helpers_1 = require("./_helpers");
18
+ const unavailable = (what, sections) => {
19
+ const failed = sections.filter((section) => section.error);
20
+ return failed.length ? new Error(`${what} needs data that could not be read: ${failed.map((section) => section.error.message).join("; ")}`) : null;
21
+ };
22
+ /** Builds the effective return legs from the reads. Each unit of capital earns each yield once. */
23
+ function buildLegs(debt, rates, wallet, farming) {
24
+ const legs = [];
25
+ if (debt.valueUsd > 0) {
26
+ legs.push({ id: "borrow", source: "Borrow pmUSD", kind: "cost", yieldType: "borrow", countsAsCapital: false, valueUsd: debt.valueUsd, rate: (0, amount_1.toNumber)(rates.borrowApy), rateKind: "apy" });
27
+ }
28
+ // Every RpmUSD and DEpmUSD the user owns earns the supply rate wherever it sits: the wallet, inside an LP, or LP staked in a gauge.
29
+ const coins = farming.pools.flatMap((pool) => pool.coins);
30
+ const suppliedUsd = wallet.suppliedUsd + coins.filter((coin) => coin.yield === "supply").reduce((sum, coin) => sum + coin.valueUsd, 0);
31
+ if (suppliedUsd > 0) {
32
+ legs.push({ id: "supply", source: "Supplied (RpmUSD + DEpmUSD)", kind: "earning", yieldType: "supply", countsAsCapital: true, valueUsd: suppliedUsd, rate: (0, amount_1.toNumber)(rates.supplyApy), rateKind: "apr" });
33
+ }
34
+ // A gauge is an overlay: its staked value is already counted through its coins, so it earns rewards but adds no capital.
35
+ for (const gauge of farming.gauges) {
36
+ if (gauge.staked.value === 0n)
37
+ continue;
38
+ legs.push({ id: `gauge:${gauge.id}`, source: gauge.name, kind: "earning", yieldType: "gauge", countsAsCapital: false, valueUsd: gauge.valueUsd, rate: gauge.apr ?? 0, rateKind: "apr" });
39
+ }
40
+ const idleUsd = wallet.idleUsd + coins.filter((coin) => coin.yield === "none").reduce((sum, coin) => sum + coin.valueUsd, 0);
41
+ return { legs, idleUsd };
42
+ }
43
+ /**
44
+ * The user's position across the app: iREET collateral, debt and health factor, wallet RpmUSD/DEpmUSD/pmUSD, LP and
45
+ * gauge positions, veRAAC governance power, and the projected effective return built from them. Each part is read
46
+ * independently, so one failing read shows as an `error` on that part and the rest still return.
47
+ *
48
+ * Only the user's position data is returned; pool parameters such as the liquidation threshold stay with the callers
49
+ * that need them. iREET is the only collateral read (NFT positions are out of scope).
50
+ *
51
+ * @param chainId - The chain/network to use.
52
+ * @param user - The user's address.
53
+ * @param prices - USD per whole token, keyed by lowercase symbol. iREET, pmUSD, RpmUSD, DEpmUSD and RAAC are needed,
54
+ * plus every coin of a Curve pool the user holds.
55
+ * @param provider - Optional ethers.js Provider instance. Read-only is enough.
56
+ * @returns Each part as `{ data, error }`, the effective return legs, and the computed effective return.
57
+ */
58
+ const getUserPortfolio = async (chainId, user, prices, provider) => {
59
+ if (!ethers_1.ethers.isAddress(user)) {
60
+ throw new Error(`Invalid user address: ${user}`);
61
+ }
62
+ if (!provider) {
63
+ const rpc = chains_1.default[chainId].rpcs[0];
64
+ provider = new ethers_1.ethers.JsonRpcProvider(rpc);
65
+ }
66
+ const [collateral, debt, rates, wallet, farming, governance] = await Promise.all([
67
+ (0, _helpers_1.settled)((0, getUserCollateral_1.getUserCollateral)(chainId, user, provider).then((amount) => ({ amount, valueUsd: (0, _helpers_1.requireUsd)(prices, amount, "rwaindextoken") }))),
68
+ (0, _helpers_1.settled)((0, getUserDebt_1.getUserDebt)(chainId, user, provider).then((debt) => ({ ...debt, valueUsd: (0, _helpers_1.requireUsd)(prices, debt.amount, chains_1.default[chainId].pools.lendingpool.asset ?? "debt") }))),
69
+ (0, _helpers_1.settled)((0, getLendingPoolInfo_1.default)(chainId, undefined, provider).then(({ borrowRate, borrowApy, supplyApy }) => ({ borrowRate, borrowApy, supplyApy }))),
70
+ (0, _helpers_1.settled)((0, getUserWalletBalances_1.getUserWalletBalances)(chainId, user, provider).then((balances) => ({
71
+ ...balances,
72
+ suppliedUsd: (0, _helpers_1.requireUsd)(prices, balances.rtoken, "rtoken") + (0, _helpers_1.requireUsd)(prices, balances.detoken, "detoken"),
73
+ idleUsd: (0, _helpers_1.requireUsd)(prices, balances.pmusd, "pmusd"),
74
+ }))),
75
+ (0, _helpers_1.settled)((0, getUserFarming_1.getUserFarming)(chainId, user, prices, provider)),
76
+ (0, _helpers_1.settled)((0, getUserGovernance_1.getUserGovernance)(chainId, user, provider)),
77
+ ]);
78
+ const netPositionError = unavailable("Net RAACLend position", [collateral, debt, wallet]);
79
+ const netPositionUsd = netPositionError
80
+ ? { data: null, error: netPositionError }
81
+ : { data: collateral.data.valueUsd + wallet.data.suppliedUsd - debt.data.valueUsd, error: null };
82
+ // A pool that failed may hold part of the user's capital, so the return cannot be computed without it.
83
+ const farmingErrors = (farming.data?.errors ?? []).map(({ pool, error }) => ({ data: null, error: new Error(`Curve pool ${pool}: ${error.message}`) }));
84
+ let legs = [];
85
+ let effectiveReturn;
86
+ const returnError = unavailable("Effective return", [collateral, debt, rates, wallet, farming, ...farmingErrors]);
87
+ if (returnError) {
88
+ effectiveReturn = { data: null, error: returnError };
89
+ }
90
+ else {
91
+ const built = buildLegs(debt.data, rates.data, wallet.data, farming.data);
92
+ legs = built.legs;
93
+ effectiveReturn = { data: (0, computeEffectiveReturn_1.computeEffectiveReturn)({ legs, collateralUsd: collateral.data.valueUsd, idleUsd: built.idleUsd }), error: null };
94
+ }
95
+ return {
96
+ chainId,
97
+ user: ethers_1.ethers.getAddress(user),
98
+ collateral,
99
+ debt,
100
+ rates,
101
+ wallet,
102
+ farming,
103
+ governance,
104
+ netPositionUsd,
105
+ legs,
106
+ effectiveReturn,
107
+ };
108
+ };
109
+ exports.getUserPortfolio = getUserPortfolio;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getUserWalletBalances = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const chains_1 = __importDefault(require("../configs/chains"));
9
+ const getBalance_1 = __importDefault(require("../wallet/assets/getBalance"));
10
+ /**
11
+ * The lending tokens a user holds in their wallet: RpmUSD, DEpmUSD and idle pmUSD.
12
+ *
13
+ * @param chainId - The chain/network to use.
14
+ * @param user - The user's address.
15
+ * @param provider - Optional ethers.js Provider instance.
16
+ * @returns Each balance, with its registry decimals and symbol.
17
+ */
18
+ const getUserWalletBalances = async (chainId, user, provider) => {
19
+ if (!provider) {
20
+ const rpc = chains_1.default[chainId].rpcs[0];
21
+ provider = new ethers_1.ethers.JsonRpcProvider(rpc);
22
+ }
23
+ const [rtoken, detoken, pmusd] = await Promise.all([
24
+ (0, getBalance_1.default)(chainId, "rtoken", user, provider),
25
+ (0, getBalance_1.default)(chainId, "detoken", user, provider),
26
+ (0, getBalance_1.default)(chainId, "pmusd", user, provider),
27
+ ]);
28
+ return { rtoken, detoken, pmusd };
29
+ };
30
+ exports.getUserWalletBalances = getUserWalletBalances;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./computeEffectiveReturn"), exports);
18
+ __exportStar(require("./getUserClaimables"), exports);
19
+ __exportStar(require("./getUserCollateral"), exports);
20
+ __exportStar(require("./getUserDebt"), exports);
21
+ __exportStar(require("./getUserFarming"), exports);
22
+ __exportStar(require("./getUserGovernance"), exports);
23
+ __exportStar(require("./getUserPortfolio"), exports);
24
+ __exportStar(require("./getUserWalletBalances"), exports);
@@ -5,6 +5,7 @@ exports.toAmount = toAmount;
5
5
  exports.toScaled = toScaled;
6
6
  exports.parseAmount = parseAmount;
7
7
  exports.toDecimalString = toDecimalString;
8
+ exports.toNumber = toNumber;
8
9
  exports.serializeAmount = serializeAmount;
9
10
  exports.deserializeAmount = deserializeAmount;
10
11
  exports.getAssetDecimals = getAssetDecimals;
@@ -65,6 +66,15 @@ function parseAmount(text, decimals) {
65
66
  function toDecimalString(amount) {
66
67
  return ethers_1.ethers.formatUnits(amount.value, amount.decimals);
67
68
  }
69
+ /**
70
+ * An amount or scaled value as a JavaScript number, for USD and rate maths. Lossy past about 15 significant digits,
71
+ * so keep on-chain values as `bigint` and use this only for computed figures.
72
+ * @param amount The amount or scaled value, e.g. a ray rate of 3.5e25 becomes 0.035.
73
+ * @returns The value in whole units.
74
+ */
75
+ function toNumber(amount) {
76
+ return Number(toDecimalString(amount));
77
+ }
68
78
  /**
69
79
  * Converts an amount to a JSON-safe form, since `bigint` does not survive `JSON.stringify`.
70
80
  * @param amount The amount.
@@ -38,6 +38,8 @@ const RWAIndexTokenCollector_json_1 = __importDefault(require("../artifacts/core
38
38
  const RAACTokenCollector_json_1 = __importDefault(require("../artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json"));
39
39
  const CrvUSDToUSDOracle_json_1 = __importDefault(require("../artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json"));
40
40
  const NFTRoyaltyFeeCollector_json_1 = __importDefault(require("../artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json"));
41
+ const RentStreamer_json_1 = __importDefault(require("../artifacts/core/collectors/fee-streamer/RentStreamer.sol/RentStreamer.json"));
42
+ const USDCTokenLimited_json_1 = __importDefault(require("../artifacts/mocks/core/tokens/USDCTokenLimited.sol/USDCTokenLimited.json"));
41
43
  const GaugeController_json_1 = __importDefault(require("../artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json"));
42
44
  const BaseGauge_json_1 = __importDefault(require("../artifacts/core/governance/gauges/BaseGauge.sol/BaseGauge.json"));
43
45
  const RAACGauge_json_1 = __importDefault(require("../artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json"));
@@ -52,10 +54,14 @@ const pmBlender_json_1 = __importDefault(require("../artifacts/core/pmBlender/pm
52
54
  const RAACLiquidLocker_json_1 = __importDefault(require("../artifacts/core/lockers/RAACLiquidLocker.sol/RAACLiquidLocker.json"));
53
55
  const RAACMaturityVault_json_1 = __importDefault(require("../artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json"));
54
56
  const RAACBotLocker_json_1 = __importDefault(require("../artifacts/core/lockers/RAACBotLocker.sol/RAACBotLocker.json"));
57
+ const ERC721Mock_json_1 = __importDefault(require("../artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json"));
55
58
  // leRAAC token
56
59
  const LiquidEscrowedRAAC_json_1 = __importDefault(require("../artifacts/core/tokens/LeRAAC.sol/LiquidEscrowedRAAC.json"));
57
60
  // Zap
58
61
  const AladdinZap_json_1 = __importDefault(require("../artifacts/zap/AladdinZap.sol/AladdinZap.json"));
62
+ // PSM
63
+ const PSMVault_json_1 = __importDefault(require("../artifacts/core/psm/PSMVault.sol/PSMVault.json"));
64
+ const RateProvider_json_1 = __importDefault(require("../artifacts/core/psm/RateProvider.sol/RateProvider.json"));
59
65
  const CRVUSD_ABI = crvUSDToken_json_1.default.abi;
60
66
  const PMUSD_ABI = pmUSD_json_1.default.abi;
61
67
  const XPM_ABI = xPM_json_1.default.abi;
@@ -89,9 +95,12 @@ const ABIS = {
89
95
  // Tokens
90
96
  crvusd: CRVUSD_ABI,
91
97
  pmusd: PMUSD_ABI,
98
+ usdc: USDCTokenLimited_json_1.default.abi,
92
99
  xpm: XPM_ABI,
93
100
  // RAAC
94
101
  raacnft: RAACNFT_ABI,
102
+ // Standard OpenZeppelin ERC721 ABI; the Bot NFT is a plain ERC721 with no RAAC-specific functions
103
+ raacbotnft: ERC721Mock_json_1.default.abi,
95
104
  raactoken: RAACToken_ABI,
96
105
  veraac: VERAAC_ABI,
97
106
  // Pools tokens
@@ -128,6 +137,7 @@ const ABIS = {
128
137
  raactokencollector: RAACTokenCollector_json_1.default.abi,
129
138
  crvusdtousdoracle: CRVUSDTOUSDORACLE_ABI,
130
139
  nftroyaltyfeecollector: NFTRoyaltyFeeCollector_json_1.default.abi,
140
+ rentstreamer: RentStreamer_json_1.default.abi,
131
141
  // Governance
132
142
  gaugecontroller: GAUGECONTROLLER_ABI,
133
143
  basegauge: BASEGAUGE_ABI,
@@ -150,6 +160,9 @@ const ABIS = {
150
160
  leraac: LiquidEscrowedRAAC_json_1.default.abi,
151
161
  // Zap
152
162
  aladdinzap: AladdinZap_json_1.default.abi,
163
+ // PSM
164
+ "rpsm-susds": PSMVault_json_1.default.abi,
165
+ rateprovider: RateProvider_json_1.default.abi,
153
166
  };
154
167
  exports.ABIS = ABIS;
155
168
  const getABI = (name) => {
@@ -7,6 +7,7 @@ exports.switchChain = exports.getChainId = exports.getSigner = exports.getContra
7
7
  const ethers_1 = require("ethers");
8
8
  const getContractAddress_1 = require("../contracts/getContractAddress");
9
9
  const chains_1 = __importDefault(require("../configs/chains"));
10
+ const rpcError_1 = require("./rpcError");
10
11
  const isBrowser = typeof window !== "undefined";
11
12
  const getProvider = (chainId) => {
12
13
  const config = chains_1.default[chainId];
@@ -60,7 +61,7 @@ const switchChain = async (chainId) => {
60
61
  await addChain(chainId);
61
62
  }
62
63
  else {
63
- throw error;
64
+ throw (0, rpcError_1.toRpcError)("wallet.switchChain", error);
64
65
  }
65
66
  }
66
67
  }
@@ -13,7 +13,6 @@
13
13
  // export const getConfig = (chainId: ChainId) => {
14
14
  // if (typeof window === "undefined") {
15
15
  // // Server-side logic
16
- // console.log("Server-side logic", fs, path, fileURLToPath);
17
16
  // const __filename = fileURLToPath(import.meta.url);
18
17
  // const __dirname = path.dirname(__filename);
19
18
  // const configPath = path.join(
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getContractAddress = exports.getContract = exports.getConfig = exports.setOverrideConfig = exports.getConfigs = void 0;
3
+ exports.isDeployed = exports.getContractAddress = exports.getContract = exports.getConfig = exports.setOverrideConfig = exports.getConfigs = void 0;
4
4
  const configs_1 = require("../configs");
5
5
  const chains_1 = require("../configs/chains");
6
6
  const artifacts_1 = require("./artifacts");
@@ -56,7 +56,7 @@ const getContractAddress = (chainId, contractName) => {
56
56
  if (!config) {
57
57
  throw new Error(`Unsupported chain ID: ${chainId}`);
58
58
  }
59
- const chainKeys = ["contracts", "governance", "assets", "pools", "nfts", "lockers", "zap"];
59
+ const chainKeys = ["contracts", "governance", "assets", "pools", "nfts", "lockers", "zap", "psm", "curve"];
60
60
  const keys = Object.keys(config).filter((key) => chainKeys.includes(key));
61
61
  let address = null;
62
62
  for (const key of keys) {
@@ -84,3 +84,6 @@ exports.default = {
84
84
  getConfig: exports.getConfig,
85
85
  getConfigs: exports.getConfigs,
86
86
  };
87
+ /** Whether a config address is set and deployed: a valid, non-zero address. */
88
+ const isDeployed = (address) => !!address && ethers_1.ethers.isAddress(address) && address !== ethers_1.ethers.ZeroAddress;
89
+ exports.isDeployed = isDeployed;
@@ -1,137 +1,89 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getErrorInfo = getErrorInfo;
4
- exports.decodeErrorName = decodeErrorName;
5
- exports.decodeErrorMessage = decodeErrorMessage;
6
- exports.attachDecodedError = attachDecodedError;
7
- exports.attachDecodedErrorMessage = attachDecodedErrorMessage;
3
+ exports.decodeRevertWithAbi = decodeRevertWithAbi;
4
+ exports.decodeRevertWithAllAbis = decodeRevertWithAllAbis;
5
+ exports.errorNameForSelector = errorNameForSelector;
8
6
  const ethers_1 = require("ethers");
9
7
  const artifacts_1 = require("./artifacts");
10
- // Try to load the generated error map, fallback to runtime scanning
11
- let ERROR_SIGNATURE_MAP = {};
12
- try {
13
- const generatedMap = require('../generated/errorMap.json');
14
- ERROR_SIGNATURE_MAP = generatedMap;
15
- }
16
- catch (error) {
17
- console.warn('Generated error map not found, falling back to runtime scanning...');
18
- // Fallback to runtime scanning (original implementation)
19
- (function buildErrorSignatureMap() {
20
- for (const abiKey in artifacts_1.ABIS) {
21
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
- // @ts-ignore – ABIS may contain unknown items
23
- const abi = artifacts_1.ABIS[abiKey];
24
- if (!Array.isArray(abi))
25
- continue;
26
- for (const item of abi) {
27
- if (item.type !== "error")
28
- continue;
29
- const inputs = (item.inputs || []);
30
- const signature = `${item.name}(${inputs.map((input) => input.type).join(",")})`;
31
- const selector = (0, ethers_1.id)(signature).slice(0, 10).toLowerCase();
32
- if (!ERROR_SIGNATURE_MAP[selector]) {
33
- ERROR_SIGNATURE_MAP[selector] = {
34
- name: item.name,
35
- signature,
36
- message: `${item.name.replace(/([A-Z])/g, ' $1').trim()} error occurred`,
37
- contract: abiKey,
38
- inputs: inputs.map((input) => ({
39
- name: input.name || '',
40
- type: input.type,
41
- internalType: input.internalType || input.type,
42
- })),
43
- };
44
- }
45
- }
46
- }
47
- })();
48
- }
49
8
  /**
50
- * Returns detailed information about the error encoded in the given data blob.
9
+ * Decodes revert data against a specific contract's ABI, recovering the error's
10
+ * argument values, not just its name, as long as the caller already knows
11
+ * which contract it called (see contracts/findContract.ts).
12
+ *
13
+ * @param abi The ABI of the contract that was called.
51
14
  * @param data The revert data returned by the EVM (e.g., error.data).
15
+ * @returns The error name and its decoded arguments, or null if `data` doesn't match any error in `abi`.
52
16
  */
53
- function getErrorInfo(data) {
54
- if (!data || typeof data !== "string")
17
+ function decodeRevertWithAbi(abi, data) {
18
+ if (!data || typeof data !== "string" || !data.startsWith("0x"))
55
19
  return null;
56
- let selector;
57
- if (data.startsWith("0x")) {
58
- selector = data.slice(0, 10).toLowerCase();
20
+ let parsed;
21
+ try {
22
+ parsed = ethers_1.Interface.from(abi).parseError(data);
59
23
  }
60
- else {
61
- // look for first 4-byte hex inside the string (e.g., error message)
62
- const match = data.match(/0x[0-9a-fA-F]{8}/);
63
- if (match)
64
- selector = match[0].toLowerCase();
24
+ catch {
25
+ return null;
65
26
  }
66
- if (!selector)
27
+ if (!parsed)
67
28
  return null;
68
- return ERROR_SIGNATURE_MAP[selector] ?? null;
69
- }
70
- /**
71
- * Returns only the error name, or null if it cannot be decoded.
72
- */
73
- function decodeErrorName(data) {
74
- const info = getErrorInfo(data);
75
- return info?.name ?? null;
29
+ const args = {};
30
+ parsed.fragment.inputs.forEach((input, i) => {
31
+ args[input.name || String(i)] = parsed.args[i];
32
+ });
33
+ return { name: parsed.name, args };
76
34
  }
77
- /**
78
- * Returns the custom error message, or null if it cannot be decoded.
79
- */
80
- function decodeErrorMessage(data) {
81
- const info = getErrorInfo(data);
82
- return info?.message ?? null;
35
+ let ALL_ERRORS;
36
+ function allErrors() {
37
+ if (!ALL_ERRORS) {
38
+ const bySelector = new Map();
39
+ for (const abi of Object.values(artifacts_1.ABIS)) {
40
+ for (const item of abi) {
41
+ if (item?.type !== "error")
42
+ continue;
43
+ const fragment = ethers_1.ErrorFragment.from(item);
44
+ if (!bySelector.has(fragment.selector))
45
+ bySelector.set(fragment.selector, fragment);
46
+ }
47
+ }
48
+ ALL_ERRORS = new ethers_1.Interface([...bySelector.values()]);
49
+ }
50
+ return ALL_ERRORS;
83
51
  }
84
52
  /**
85
- * Builds a user-friendly error prefix with decoded error name (if available).
86
- * Usage example:
87
- * const msg = attachDecodedError("Deposit failed", caughtError);
53
+ * Decodes revert data against every custom error in {@link ABIS}. This is the
54
+ * fallback for a revert thrown by a contract other than the one called: e.g.
55
+ * LendingPool.deposit bubbling up crvUSD's `ERC20InsufficientAllowance`, which
56
+ * LendingPool's own ABI does not declare. When two contracts declare the same
57
+ * selector, the first one in `ABIS` order wins: a shared selector means a
58
+ * shared signature, so only the argument names can differ.
59
+ *
60
+ * @param data The revert data returned by the EVM (e.g., error.data).
61
+ * @returns The error name and its decoded arguments, or null if no known contract declares that selector.
88
62
  */
89
- function attachDecodedError(prefix, error) {
90
- // ethers@6 nests the original error under error.error
91
- // viem/ethcall surface it directly on error.data
92
- const data = (error && ((error.data ?? error.error?.data) ||
93
- // viem error format: error.shortMessage
94
- undefined));
95
- // If data not found, attempt to extract selector from message like
96
- // "Encoded error signature \"0xa9b65aba\" not found on ABI"
97
- let selector;
98
- if (data && data.startsWith("0x")) {
99
- selector = data.slice(0, 10).toLowerCase();
100
- }
101
- else if (typeof error?.message === "string") {
102
- const SIGNATURE_REGEX = /Encoded error signature \"(0x[0-9a-fA-F]{8})\"/;
103
- const match = error.message.match(SIGNATURE_REGEX);
104
- if (match)
105
- selector = match[1].toLowerCase();
106
- }
107
- if (!selector)
108
- return prefix; // unable to determine
109
- const decodedName = ERROR_SIGNATURE_MAP[selector]?.name ?? null;
110
- // console.debug("Decoded", selector, decodedName);
111
- return decodedName ? `${prefix} (${decodedName})` : prefix;
63
+ function decodeRevertWithAllAbis(data) {
64
+ return decodeRevertWithAbi(allErrors(), data);
112
65
  }
113
66
  /**
114
- * Builds a user-friendly error message with custom error description (if available).
115
- * Usage example:
116
- * const msg = attachDecodedErrorMessage("Deposit failed", caughtError);
67
+ * Names the custom error behind a bare 4-byte selector, for when a wallet or
68
+ * client surfaced the selector but not the full revert data (so the arguments
69
+ * cannot be decoded). Looks in `abi` first, then in every known ABI.
70
+ *
71
+ * @param selector The 4-byte error selector, e.g. "0x79db4619".
72
+ * @param abi The ABI of the contract that was called, when known.
73
+ * @returns The error name, or null if no known contract declares that selector.
117
74
  */
118
- function attachDecodedErrorMessage(prefix, error) {
119
- const data = (error && ((error.data ?? error.error?.data) ||
120
- undefined));
121
- let selector;
122
- if (data && data.startsWith("0x")) {
123
- selector = data.slice(0, 10).toLowerCase();
124
- }
125
- else if (typeof error?.message === "string") {
126
- const SIGNATURE_REGEX = /Encoded error signature \"(0x[0-9a-fA-F]{8})\"/;
127
- const match = error.message.match(SIGNATURE_REGEX);
128
- if (match)
129
- selector = match[1].toLowerCase();
75
+ function errorNameForSelector(selector, abi) {
76
+ for (const iface of [abi, allErrors()]) {
77
+ if (!iface)
78
+ continue;
79
+ try {
80
+ const fragment = ethers_1.Interface.from(iface).getError(selector);
81
+ if (fragment)
82
+ return fragment.name;
83
+ }
84
+ catch {
85
+ // Not declared on this ABI.
86
+ }
130
87
  }
131
- if (!selector)
132
- return prefix;
133
- const errorInfo = ERROR_SIGNATURE_MAP[selector];
134
- if (!errorInfo)
135
- return prefix;
136
- return `${prefix}: ${errorInfo.message}`;
88
+ return null;
137
89
  }