@raac/rpc 2.0.0-beta.1 → 2.0.0-beta.11
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.
- package/dist/RPCLibrary.js +136 -25
- package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
- package/dist/artifacts/core/collectors/fee-streamer/RentStreamer.sol/RentStreamer.json +838 -0
- package/dist/artifacts/core/governance/gauges/GaugeController.sol/GaugeController.json +8 -2
- package/dist/artifacts/core/governance/gauges/GaugeRewardsDistributor.sol/GaugeRewardsDistributor.json +2 -2
- package/dist/artifacts/core/governance/gauges/RAACGauge.sol/RAACGauge.json +2 -2
- package/dist/artifacts/core/governance/gauges/RWAGauge.sol/RWAGauge.json +2 -2
- package/dist/artifacts/core/lockers/RAACMaturityVault.sol/RAACMaturityVault.json +2 -2
- package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
- package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +62 -86
- package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
- package/dist/artifacts/core/psm/PSMVault.sol/PSMVault.json +2303 -0
- package/dist/artifacts/core/psm/RateProvider.sol/RateProvider.json +444 -0
- package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
- package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +69 -66
- package/dist/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
- package/dist/artifacts/mocks/core/tokens/USDCTokenLimited.sol/USDCTokenLimited.json +558 -0
- package/dist/artifacts/zeno/Auction.sol/Auction.json +278 -120
- package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +31 -148
- package/dist/artifacts/zeno/Zeno.sol/Zeno.json +80 -45
- package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +11 -88
- package/dist/assets/getAsset.js +2 -2
- package/dist/assets/getSupply.js +7 -7
- package/dist/configs/chains/1.json +18 -0
- package/dist/configs/chains/11155111.json +64 -5
- package/dist/configs/chains/17000.json +4 -0
- package/dist/configs/chains/18453.json +4 -0
- package/dist/configs/chains/8453.json +33 -3
- package/dist/contracts/curve/common/_helpers.js +39 -0
- package/dist/contracts/curve/common/getPools.js +36 -0
- package/dist/contracts/curve/common/getVirtualPrice.js +26 -0
- package/dist/contracts/curve/common/index.js +18 -0
- package/dist/contracts/feeCollector/claimRewardFromPool.js +2 -2
- package/dist/contracts/findContract.js +12 -11
- package/dist/contracts/getContractAddress.js +2 -2
- package/dist/contracts/getTokenMetadata.js +31 -0
- package/dist/contracts/governance/_helpers.js +1 -22
- package/dist/contracts/governance/distributor/claimAll.js +2 -2
- package/dist/contracts/governance/distributor/claimForGauge.js +2 -2
- package/dist/contracts/governance/distributor/deposit.js +2 -2
- package/dist/contracts/governance/distributor/setController.js +2 -2
- package/dist/contracts/governance/distributor/setLastClaimedEpoch.js +2 -2
- package/dist/contracts/governance/distributor/setMaxClaimBound.js +2 -2
- package/dist/contracts/governance/distributor/withdrawDust.js +2 -2
- package/dist/contracts/governance/distributor/withdrawRemovedGaugeRewards.js +2 -2
- package/dist/contracts/governance/gauge/claimRewardToken.js +2 -3
- package/dist/contracts/governance/gauge/pullRewardsFromDistributor.js +2 -2
- package/dist/contracts/governance/gauge/stake.js +2 -3
- package/dist/contracts/governance/gauge/updateUserRewards.js +2 -3
- package/dist/contracts/governance/gauge/withdraw.js +2 -3
- package/dist/contracts/governance/gaugeController/addGauge.js +2 -2
- package/dist/contracts/governance/gaugeController/batchVote.js +2 -2
- package/dist/contracts/governance/gaugeController/forceCompleteCheckpoint.js +2 -2
- package/dist/contracts/governance/gaugeController/getGaugeRelativeWeight.js +2 -2
- package/dist/contracts/governance/gaugeController/kick.js +2 -2
- package/dist/contracts/governance/gaugeController/removeGauge.js +2 -2
- package/dist/contracts/governance/gaugeController/removePowerFromGauge.js +2 -2
- package/dist/contracts/governance/gaugeController/setBoostAmplificationEnabled.js +2 -2
- package/dist/contracts/governance/gaugeController/setDistributor.js +2 -2
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePause.js +2 -2
- package/dist/contracts/governance/gaugeController/setEmergencyGaugePauseBatch.js +2 -2
- package/dist/contracts/governance/gaugeController/setEmergencyPause.js +2 -2
- package/dist/contracts/governance/gaugeController/setMaxVoteBuckets.js +2 -2
- package/dist/contracts/governance/gaugeController/vote.js +2 -2
- package/dist/contracts/governance/gaugeSystems/_helpers.js +2 -2
- package/dist/contracts/governance/proposals/cancel.js +3 -4
- package/dist/contracts/governance/proposals/castVote.js +4 -4
- package/dist/contracts/governance/proposals/execute.js +3 -4
- package/dist/contracts/governance/proposals/getVoteReceipt.js +0 -1
- package/dist/contracts/governance/proposals/propose.js +3 -4
- package/dist/contracts/governance/proposals/setParameter.js +3 -4
- package/dist/contracts/governance/proposals/setTimelock.js +3 -4
- package/dist/contracts/housePrices/getLatestPrice.js +3 -3
- package/dist/contracts/housePrices/setOracle.js +3 -4
- package/dist/contracts/lockers/botLocker/addRewardTokens.js +21 -0
- package/dist/contracts/lockers/botLocker/distributeRewardToken.js +23 -0
- package/dist/contracts/lockers/botLocker/getConfig.js +29 -0
- package/dist/contracts/lockers/botLocker/getLocks.js +11 -1
- package/dist/contracts/lockers/botLocker/getRoles.js +22 -0
- package/dist/contracts/lockers/botLocker/getUnlockWindow.js +29 -0
- package/dist/contracts/lockers/botLocker/grantRole.js +38 -0
- package/dist/contracts/lockers/botLocker/hasRole.js +18 -0
- package/dist/contracts/lockers/botLocker/pause.js +24 -0
- package/dist/contracts/lockers/botLocker/rescueTokens.js +22 -0
- package/dist/contracts/lockers/liquidLocker/deposit.js +12 -4
- package/dist/contracts/lockers/liquidLocker/hasHarvestRole.js +15 -0
- package/dist/contracts/pmBlender/getReserveBalance.js +3 -3
- package/dist/contracts/pmBlender/getSupportedTokens.js +0 -1
- package/dist/contracts/pmBlender/previewDeposit.js +3 -3
- package/dist/contracts/pmBlender/previewSwap.js +3 -3
- package/dist/contracts/pmBlender/previewWithdraw.js +3 -3
- package/dist/contracts/pmMarket/getMarketConfig.js +3 -3
- package/dist/contracts/pmTreasury/getCollateralRatio.js +4 -2
- package/dist/contracts/pmTreasury/getCurrentNav.js +4 -2
- package/dist/contracts/pmTreasury/getLeverageRatio.js +4 -2
- package/dist/contracts/pmTreasury/getMaxMintablePMUSD.js +4 -2
- package/dist/contracts/pmTreasury/getMaxMintablePMUSDWithoutBaseToken.js +4 -2
- package/dist/contracts/pmTreasury/getMaxMintableXPM.js +4 -2
- package/dist/contracts/pmTreasury/getMaxRedeemablePMUSD.js +4 -2
- package/dist/contracts/pmTreasury/getMaxRedeemableXPM.js +4 -2
- package/dist/contracts/pmTreasury/getTotalBaseToken.js +4 -2
- package/dist/contracts/psm/_helpers.js +68 -0
- package/dist/contracts/psm/cancelExit.js +20 -0
- package/dist/contracts/psm/deposit.js +25 -0
- package/dist/contracts/psm/getVaultInfo.js +126 -0
- package/dist/contracts/psm/previewDeposit.js +21 -0
- package/dist/contracts/psm/previewProportionalSplit.js +19 -0
- package/dist/contracts/psm/previewRedeem.js +21 -0
- package/dist/contracts/psm/previewSwap.js +21 -0
- package/dist/contracts/psm/redeem.js +25 -0
- package/dist/contracts/psm/requestExit.js +20 -0
- package/dist/contracts/psm/swap.js +24 -0
- package/dist/contracts/rentStreamer/_helpers.js +19 -0
- package/dist/contracts/rentStreamer/getEpochProjection.js +91 -0
- package/dist/contracts/rentStreamer/getScheduled.js +19 -0
- package/dist/contracts/rentStreamer/getState.js +40 -0
- package/dist/contracts/rentStreamer/previewRelease.js +23 -0
- package/dist/contracts/rentStreamer/release.js +22 -0
- package/dist/contracts/rentStreamer/sync.js +21 -0
- package/dist/contracts/resolveName.js +1 -1
- package/dist/contracts/tokens/veRAAC/_helpers.js +0 -2
- package/dist/contracts/tokens/veRAAC/claimReward.js +3 -4
- package/dist/contracts/tokens/veRAAC/distributeRewards.js +3 -4
- package/dist/contracts/tokens/veRAAC/extend.js +3 -4
- package/dist/contracts/tokens/veRAAC/finalizeRagequit.js +3 -4
- package/dist/contracts/tokens/veRAAC/getRewardTokens.js +34 -0
- package/dist/contracts/tokens/veRAAC/getTotalSupply.js +0 -1
- package/dist/contracts/tokens/veRAAC/getTotalSupplyAt.js +1 -1
- package/dist/contracts/tokens/veRAAC/increase.js +3 -4
- package/dist/contracts/tokens/veRAAC/lock.js +3 -4
- package/dist/contracts/tokens/veRAAC/ragequitAll.js +3 -4
- package/dist/contracts/tokens/veRAAC/ragequitLock.js +3 -4
- package/dist/contracts/tokens/veRAAC/withdraw.js +3 -4
- package/dist/contracts/zeno/_helpers.js +43 -0
- package/dist/contracts/zeno/buy.js +27 -0
- package/dist/contracts/zeno/createAuction.js +30 -15
- package/dist/contracts/zeno/createZeno.js +23 -12
- package/dist/contracts/zeno/getAuctionState.js +45 -0
- package/dist/contracts/zeno/getAuctions.js +39 -34
- package/dist/contracts/zeno/getBondState.js +47 -0
- package/dist/contracts/zeno/getPrice.js +23 -0
- package/dist/contracts/zeno/getZenos.js +32 -16
- package/dist/contracts/zeno/grantRole.js +46 -0
- package/dist/contracts/zeno/pause.js +42 -0
- package/dist/contracts/zeno/priceAt.js +20 -0
- package/dist/contracts/zeno/quoteBuy.js +33 -0
- package/dist/contracts/zeno/redeem.js +44 -0
- package/dist/contracts/zeno/setAuction.js +25 -0
- package/dist/contracts/zeno/sweepSurplus.js +26 -0
- package/dist/generated/errors.json +3537 -0
- package/dist/index.js +1 -0
- package/dist/methods/approveToken.js +2 -4
- package/dist/methods/commons/checkAllowance.js +2 -3
- package/dist/methods/commons/estimateGasPrice.js +0 -1
- package/dist/methods/getAssetBalance.js +4 -4
- package/dist/nfts/approveNFT.js +3 -5
- package/dist/nfts/getAllTokens.js +3 -4
- package/dist/nfts/getApprovalForAll.js +3 -4
- package/dist/nfts/getBaseUri.js +3 -4
- package/dist/nfts/getHousePrice.js +3 -3
- package/dist/nfts/getMintFeePercentage.js +3 -3
- package/dist/nfts/getMintPrice.js +3 -3
- package/dist/nfts/getNFTApproval.js +3 -4
- package/dist/nfts/getNFTBalance.js +29 -0
- package/dist/nfts/getOwnerOfNFT.js +3 -5
- package/dist/nfts/getTokenURI.js +3 -4
- package/dist/nfts/getTokensByOwner.js +3 -4
- package/dist/nfts/getTotalPropertiesCount.js +3 -4
- package/dist/nfts/mint.js +3 -5
- package/dist/nfts/setApprovalForAll.js +3 -5
- package/dist/nfts/setBaseUri.js +3 -4
- package/dist/nfts/totalNFTSupply.js +3 -3
- package/dist/nfts/transferNFT.js +34 -0
- package/dist/oracles/houses/request.js +2 -15
- package/dist/oracles/houses/simulate.js +0 -3
- package/dist/oracles/prime-rate/request.js +2 -16
- package/dist/oracles/prime-rate/simulate.js +0 -4
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +6 -6
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +4 -2
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +4 -3
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +4 -3
- package/dist/pools/lendingPool/borrowFromLendingPool.js +4 -2
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +3 -8
- package/dist/pools/lendingPool/calculateInsuranceFee.js +4 -2
- package/dist/pools/lendingPool/closeLiquidation.js +4 -2
- package/dist/pools/lendingPool/depositAssetToLendingPool.js +4 -2
- package/dist/pools/lendingPool/depositToLendingPool.js +4 -6
- package/dist/pools/lendingPool/getAdapters.js +4 -2
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +4 -2
- package/dist/pools/lendingPool/getHealthFactor.js +4 -2
- package/dist/pools/lendingPool/getHousePrice.js +3 -3
- package/dist/pools/lendingPool/getLendingPoolInfo.js +3 -2
- package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +4 -2
- package/dist/pools/lendingPool/getParameters.js +4 -2
- package/dist/pools/lendingPool/getPositionDebt.js +4 -2
- package/dist/pools/lendingPool/getPositionScaledDebt.js +4 -2
- package/dist/pools/lendingPool/getPositionView.js +4 -2
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +4 -2
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +4 -2
- package/dist/pools/lendingPool/getUserCollateralValue.js +4 -2
- package/dist/pools/lendingPool/initializeLiquidation.js +4 -2
- package/dist/pools/lendingPool/openVaultPosition.js +4 -6
- package/dist/pools/lendingPool/repayToLendingPool.js +4 -2
- package/dist/pools/lendingPool/vaultOpened.js +4 -2
- package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +4 -2
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
- package/dist/pools/liquidityPool/getLiquidityPoolInfo.js +3 -3
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
- package/dist/pools/rwaVault/checkRedeemEligibility.js +46 -0
- package/dist/pools/rwaVault/depositToRWAVault.js +4 -4
- package/dist/pools/rwaVault/getAdapters.js +2 -2
- package/dist/pools/rwaVault/getNextRandomNFT.js +4 -2
- package/dist/pools/rwaVault/getRWAVaultInfo.js +4 -2
- package/dist/pools/rwaVault/previewDeposit.js +4 -2
- package/dist/pools/rwaVault/previewWithdraw.js +4 -2
- package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +4 -4
- package/dist/pools/rwaVault/requestRandomSeed.js +4 -4
- package/dist/pools/stabilityPool/depositToStabilityPool.js +4 -4
- package/dist/pools/stabilityPool/getRawUserDepositsInStabilityPool.js +4 -2
- package/dist/pools/stabilityPool/getStabilityPoolInfo.js +4 -2
- package/dist/pools/stabilityPool/getStabilityPoolTotalDeposits.js +4 -2
- package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +4 -2
- package/dist/pools/stabilityPool/getWithdrawTimelockConfig.js +25 -0
- package/dist/pools/stabilityPool/requestWithdraw.js +4 -4
- package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +4 -4
- package/dist/prices/computeStakingAPY.js +12 -0
- package/dist/prices/getCurveLPPriceUSD.js +46 -0
- package/dist/prices/getPrices.js +10 -8
- package/dist/prices/getStakingTokenPriceUSD.js +25 -0
- package/dist/prices/getWrapperPriceUSD.js +33 -0
- package/dist/prices/tokenPricesUSD.js +22 -0
- package/dist/scripts/generateErrorCatalogue.js +237 -0
- package/dist/types/RPCLibrary.d.ts +115 -10
- package/dist/types/configs/chains/index.d.ts +36 -0
- package/dist/types/configs/index.d.ts +18 -0
- package/dist/types/contracts/curve/common/_helpers.d.ts +16 -0
- package/dist/types/contracts/curve/common/getPools.d.ts +30 -0
- package/dist/types/contracts/curve/common/getVirtualPrice.d.ts +13 -0
- package/dist/types/contracts/curve/common/index.d.ts +2 -0
- package/dist/types/contracts/findContract.d.ts +3 -1
- package/dist/types/contracts/getTokenMetadata.d.ts +13 -0
- package/dist/types/contracts/governance/_helpers.d.ts +0 -20
- package/dist/types/contracts/governance/proposals/castVote.d.ts +1 -2
- package/dist/types/contracts/lockers/botLocker/addRewardTokens.d.ts +11 -0
- package/dist/types/contracts/lockers/botLocker/distributeRewardToken.d.ts +13 -0
- package/dist/types/contracts/lockers/botLocker/getConfig.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/getLocks.d.ts +4 -0
- package/dist/types/contracts/lockers/botLocker/getRoles.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/getUnlockWindow.d.ts +24 -0
- package/dist/types/contracts/lockers/botLocker/grantRole.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/hasRole.d.ts +12 -0
- package/dist/types/contracts/lockers/botLocker/pause.d.ts +6 -0
- package/dist/types/contracts/lockers/botLocker/rescueTokens.d.ts +12 -0
- package/dist/types/contracts/lockers/liquidLocker/hasHarvestRole.d.ts +8 -0
- package/dist/types/contracts/psm/_helpers.d.ts +18 -0
- package/dist/types/contracts/psm/cancelExit.d.ts +4 -0
- package/dist/types/contracts/psm/deposit.d.ts +9 -0
- package/dist/types/contracts/psm/getVaultInfo.d.ts +77 -0
- package/dist/types/contracts/psm/previewDeposit.d.ts +7 -0
- package/dist/types/contracts/psm/previewProportionalSplit.d.ts +9 -0
- package/dist/types/contracts/psm/previewRedeem.d.ts +7 -0
- package/dist/types/contracts/psm/previewSwap.d.ts +7 -0
- package/dist/types/contracts/psm/redeem.d.ts +9 -0
- package/dist/types/contracts/psm/requestExit.d.ts +4 -0
- package/dist/types/contracts/psm/swap.d.ts +8 -0
- package/dist/types/contracts/rentStreamer/_helpers.d.ts +4 -0
- package/dist/types/contracts/rentStreamer/getEpochProjection.d.ts +40 -0
- package/dist/types/contracts/rentStreamer/getScheduled.d.ts +12 -0
- package/dist/types/contracts/rentStreamer/getState.d.ts +33 -0
- package/dist/types/contracts/rentStreamer/previewRelease.d.ts +20 -0
- package/dist/types/contracts/rentStreamer/release.d.ts +12 -0
- package/dist/types/contracts/rentStreamer/sync.d.ts +11 -0
- package/dist/types/contracts/tokens/veRAAC/getRewardTokens.d.ts +10 -0
- package/dist/types/contracts/zeno/_helpers.d.ts +17 -0
- package/dist/types/contracts/zeno/buy.d.ts +15 -0
- package/dist/types/contracts/zeno/createAuction.d.ts +15 -5
- package/dist/types/contracts/zeno/createZeno.d.ts +10 -1
- package/dist/types/contracts/zeno/getAuctionState.d.ts +45 -0
- package/dist/types/contracts/zeno/getAuctions.d.ts +12 -12
- package/dist/types/contracts/zeno/getBondState.d.ts +42 -0
- package/dist/types/contracts/zeno/getPrice.d.ts +12 -0
- package/dist/types/contracts/zeno/getZenos.d.ts +25 -2
- package/dist/types/contracts/zeno/grantRole.d.ts +22 -0
- package/dist/types/contracts/zeno/pause.d.ts +18 -0
- package/dist/types/contracts/zeno/priceAt.d.ts +20 -0
- package/dist/types/contracts/zeno/quoteBuy.d.ts +34 -0
- package/dist/types/contracts/zeno/redeem.d.ts +20 -0
- package/dist/types/contracts/zeno/setAuction.d.ts +13 -0
- package/dist/types/contracts/zeno/sweepSurplus.d.ts +14 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/nfts/getNFTBalance.d.ts +13 -0
- package/dist/types/nfts/transferNFT.d.ts +15 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +3 -3
- package/dist/types/pools/rwaVault/checkRedeemEligibility.d.ts +15 -0
- package/dist/types/pools/stabilityPool/getWithdrawTimelockConfig.d.ts +14 -0
- package/dist/types/prices/computeStakingAPY.d.ts +2 -0
- package/dist/types/prices/getCurveLPPriceUSD.d.ts +3 -0
- package/dist/types/prices/getPrices.d.ts +4 -8
- package/dist/types/prices/getStakingTokenPriceUSD.d.ts +16 -0
- package/dist/types/prices/getWrapperPriceUSD.d.ts +7 -0
- package/dist/types/prices/tokenPricesUSD.d.ts +7 -0
- package/dist/types/scripts/generateErrorCatalogue.d.ts +45 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/index.d.ts +2 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/IERC1967.d.ts +65 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.d.ts +36 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/Proxy.d.ts +20 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/IBeacon.d.ts +25 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/index.d.ts +7 -0
- package/dist/types/typechain-types/{contracts/core/governance/gauges/VeBoostProxy.d.ts → @openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts} +24 -47
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.d.ts +80 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.d.ts +51 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/@openzeppelin/contracts/proxy/transparent/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/RentStreamer.d.ts +422 -0
- package/dist/types/typechain-types/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeController.d.ts +29 -2
- package/dist/types/typechain-types/contracts/core/governance/gauges/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/core/lockers/RAACBotLocker.d.ts +1 -9
- package/dist/types/typechain-types/contracts/core/lockers/RAACLiquidLocker.d.ts +47 -2
- package/dist/types/typechain-types/contracts/core/lockers/RAACMaturityVault.d.ts +24 -10
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +42 -43
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +7 -3
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +7 -3
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +7 -3
- package/dist/types/typechain-types/contracts/core/tokens/VeRAACToken.d.ts +59 -12
- package/dist/types/typechain-types/contracts/core/tokens/VeRAACTokenStorage.d.ts +47 -12
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGaugeController.d.ts +29 -2
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRAACBotLocker.d.ts +1 -9
- package/dist/types/typechain-types/contracts/interfaces/core/lockers/IRaacLiquidLocker.d.ts +82 -15
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +32 -6
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +5 -1
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IveRAACToken.d.ts +47 -12
- package/dist/types/typechain-types/contracts/interfaces/zeno/IAuction.d.ts +43 -39
- package/dist/types/typechain-types/contracts/interfaces/zeno/IZENO.d.ts +28 -22
- package/dist/types/typechain-types/contracts/libraries/math/TimeWeightedAverage.d.ts +2 -36
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockGaugeStub.d.ts +33 -0
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken.d.ts +173 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault.d.ts +53 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe.d.ts +91 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/mocks/core/lockers/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +32 -6
- package/dist/types/typechain-types/contracts/mocks/core/tokens/USDCTokenLimited.d.ts +238 -0
- package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/PowerCheckpointMock.d.ts +6 -2
- package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +200 -108
- package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +21 -105
- package/dist/types/typechain-types/contracts/zeno/ZENO.d.ts +46 -40
- package/dist/types/typechain-types/contracts/zeno/ZENOFactory.d.ts +10 -57
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/IERC1967__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy__factory.d.ts +71 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils__factory.d.ts +50 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/ERC1967/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/Proxy__factory.d.ts +10 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/IBeacon__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/beacon/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/index.d.ts +4 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/ProxyAdmin__factory.d.ts +115 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy__factory.d.ts +56 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy__factory.d.ts +102 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/proxy/transparent/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/RentStreamer__factory.d.ts +665 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/fee-streamer/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +26 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/core/lockers/RAACBotLocker__factory.d.ts +1 -11
- package/dist/types/typechain-types/factories/contracts/core/lockers/RAACLiquidLocker__factory.d.ts +66 -1
- package/dist/types/typechain-types/factories/contracts/core/lockers/RAACMaturityVault__factory.d.ts +25 -9
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +12 -2
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +43 -60
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +12 -2
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +12 -2
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACTokenStorage__factory.d.ts +47 -18
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +58 -19
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGaugeController__factory.d.ts +25 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRAACBotLocker__factory.d.ts +0 -10
- package/dist/types/typechain-types/factories/contracts/interfaces/core/lockers/IRaacLiquidLocker__factory.d.ts +91 -6
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +30 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IveRAACToken__factory.d.ts +47 -18
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +52 -30
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IZENO__factory.d.ts +36 -8
- package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/RagequitLib__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/governance/RewardLib__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -36
- package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeStub__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/libraries/LockManagerMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimToken__factory.d.ts +306 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVault__factory.d.ts +68 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/SimVe__factory.d.ts +149 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LockerSimMocks.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +31 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/USDCTokenLimited__factory.d.ts +439 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockTimeUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RagequitHarness__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RewardIntegralCalculatorMock.sol/MockRewardIntegralCalculator__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +2 -9
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +26 -118
- package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +230 -106
- package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +9 -68
- package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +66 -38
- package/dist/types/typechain-types/index.d.ts +28 -8
- package/dist/types/typechain-types/psm/PSMVault.d.ts +1503 -0
- package/dist/types/typechain-types/psm/RateProvider.d.ts +228 -0
- package/dist/types/typechain-types/psm/common.d.ts +46 -0
- package/dist/types/typechain-types/psm/factories/PSMVault__factory.d.ts +1795 -0
- package/dist/types/typechain-types/psm/factories/RateProvider__factory.d.ts +299 -0
- package/dist/types/typechain-types/psm/factories/imports.sol/PSMProxyAdmin__factory.d.ts +117 -0
- package/dist/types/typechain-types/psm/factories/imports.sol/PSMTransparentProxy__factory.d.ts +108 -0
- package/dist/types/typechain-types/psm/factories/imports.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/factories/index.d.ts +8 -0
- package/dist/types/typechain-types/psm/factories/interfaces/IBaseAssetNav__factory.d.ts +21 -0
- package/dist/types/typechain-types/psm/factories/interfaces/IRateProvider__factory.d.ts +65 -0
- package/dist/types/typechain-types/psm/factories/interfaces/IRebalancer__factory.d.ts +25 -0
- package/dist/types/typechain-types/{factories/contracts/interfaces/core/governance/gauges/IVeBoost__factory.d.ts → psm/factories/interfaces/ISavingsToken__factory.d.ts} +215 -192
- package/dist/types/typechain-types/psm/factories/interfaces/index.d.ts +6 -0
- package/dist/types/typechain-types/psm/factories/interfaces/v2/IRebalancerV2__factory.d.ts +21 -0
- package/dist/types/typechain-types/psm/factories/interfaces/v2/index.d.ts +1 -0
- package/dist/types/typechain-types/psm/factories/interfaces/v3/IRateProviderV3__factory.d.ts +65 -0
- package/dist/types/typechain-types/psm/factories/interfaces/v3/index.d.ts +1 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockBaseAssetModule__factory.d.ts +450 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockChainlinkFeed__factory.d.ts +106 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockERC20__factory.d.ts +288 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockFeeOnTransferERC20__factory.d.ts +356 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockPmUSD__factory.d.ts +326 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockProxy__factory.d.ts +108 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/IMockMintable__factory.d.ts +21 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/MockRebalancer__factory.d.ts +138 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancer.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/IMockMintable__factory.d.ts +21 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/MockRebalancerV2__factory.d.ts +134 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/factories/mocks/MockSavingsToken__factory.d.ts +330 -0
- package/dist/types/typechain-types/psm/factories/mocks/index.d.ts +9 -0
- package/dist/types/typechain-types/psm/factories/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/AladdinZap__factory.d.ts +322 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/TokenZapLogic__factory.d.ts +73 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/index.d.ts +3 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerPool__factory.d.ts +91 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IBalancerVault__factory.d.ts +261 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IConvexCRVDepositor__factory.d.ts +49 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool__factory.d.ts +305 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool__factory.d.ts +305 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool__factory.d.ts +305 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool__factory.d.ts +305 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool__factory.d.ts +39 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool__factory.d.ts +39 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool__factory.d.ts +39 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool__factory.d.ts +175 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool__factory.d.ts +301 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool__factory.d.ts +165 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool__factory.d.ts +181 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveETHPool__factory.d.ts +155 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool__factory.d.ts +99 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool__factory.d.ts +99 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap__factory.d.ts +55 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool__factory.d.ts +193 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool__factory.d.ts +183 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool__factory.d.ts +183 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool__factory.d.ts +183 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool__factory.d.ts +147 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit__factory.d.ts +141 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap__factory.d.ts +227 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
- 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
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit__factory.d.ts +165 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap__factory.d.ts +193 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit__factory.d.ts +165 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap__factory.d.ts +193 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit__factory.d.ts +165 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap__factory.d.ts +193 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit__factory.d.ts +165 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap__factory.d.ts +193 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoStETH__factory.d.ts +35 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/ILidoWstETH__factory.d.ts +83 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV2Pair__factory.d.ts +95 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Pool__factory.d.ts +115 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IUniswapV3Router__factory.d.ts +54 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IWETH__factory.d.ts +23 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/IZap__factory.d.ts +107 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCRV__factory.d.ts +401 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/IAladdinCompounder__factory.d.ts +350 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/concentrator/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/factories/utils/zap/interfaces/index.d.ts +20 -0
- package/dist/types/typechain-types/psm/factories/v2/PSMVaultV2__factory.d.ts +1846 -0
- package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IPSMVaultView__factory.d.ts +17 -0
- package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IRateOracle__factory.d.ts +31 -0
- package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/IZap__factory.d.ts +33 -0
- package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/RebalancerV2__factory.d.ts +506 -0
- package/dist/types/typechain-types/psm/factories/v2/RebalancerV2.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/factories/v2/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/factories/v3/PSMVaultV3__factory.d.ts +1955 -0
- package/dist/types/typechain-types/psm/factories/v3/RateProviderComposed__factory.d.ts +303 -0
- package/dist/types/typechain-types/psm/factories/v3/RateProviderDirect__factory.d.ts +293 -0
- package/dist/types/typechain-types/psm/factories/v3/index.d.ts +3 -0
- package/dist/types/typechain-types/psm/imports.sol/PSMProxyAdmin.d.ts +96 -0
- package/dist/types/typechain-types/psm/imports.sol/PSMTransparentProxy.d.ts +51 -0
- package/dist/types/typechain-types/psm/imports.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/index.d.ts +157 -0
- package/dist/types/typechain-types/psm/interfaces/IBaseAssetNav.d.ts +33 -0
- package/dist/types/typechain-types/psm/interfaces/IRateProvider.d.ts +75 -0
- package/dist/types/typechain-types/psm/interfaces/IRebalancer.d.ts +39 -0
- package/dist/types/typechain-types/psm/interfaces/ISavingsToken.d.ts +400 -0
- package/dist/types/typechain-types/psm/interfaces/index.d.ts +8 -0
- package/dist/types/typechain-types/psm/interfaces/v2/IRebalancerV2.d.ts +35 -0
- package/dist/types/typechain-types/psm/interfaces/v2/index.d.ts +1 -0
- package/dist/types/typechain-types/psm/interfaces/v3/IRateProviderV3.d.ts +75 -0
- package/dist/types/typechain-types/psm/interfaces/v3/index.d.ts +1 -0
- package/dist/types/typechain-types/psm/mocks/MockBaseAssetModule.d.ts +311 -0
- package/dist/types/typechain-types/psm/mocks/MockChainlinkFeed.d.ts +91 -0
- package/dist/types/typechain-types/psm/mocks/MockERC20.d.ts +179 -0
- package/dist/types/typechain-types/psm/mocks/MockFeeOnTransferERC20.d.ts +247 -0
- package/dist/types/typechain-types/psm/mocks/MockPmUSD.d.ts +213 -0
- package/dist/types/typechain-types/psm/mocks/MockProxy.d.ts +51 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/IMockMintable.d.ts +35 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/MockRebalancer.d.ts +125 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancer.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/IMockMintable.d.ts +35 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/MockRebalancerV2.d.ts +121 -0
- package/dist/types/typechain-types/psm/mocks/MockRebalancerV2.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/mocks/MockSavingsToken.d.ts +213 -0
- package/dist/types/typechain-types/psm/mocks/index.d.ts +11 -0
- package/dist/types/typechain-types/psm/utils/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/utils/zap/AladdinZap.d.ts +276 -0
- package/dist/types/typechain-types/psm/utils/zap/TokenZapLogic.d.ts +59 -0
- package/dist/types/typechain-types/psm/utils/zap/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerPool.d.ts +101 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IBalancerVault.d.ts +199 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IConvexCRVDepositor.d.ts +61 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA2Pool.d.ts +245 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA3Pool.d.ts +245 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveA4Pool.d.ts +245 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/ICurveAPool.d.ts +245 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveAPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase2Pool.d.ts +49 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase3Pool.d.ts +49 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBase4Pool.d.ts +49 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/ICurveBasePool.d.ts +159 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveBasePool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveCryptoPool.d.ts +249 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/ICurveTriCryptoPool.d.ts +153 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/IZapCurveMetaCryptoPool.d.ts +165 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveCryptoPool.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveETHPool.d.ts +135 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap.d.ts +55 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap3Pool.d.ts +87 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveDepositZap4Pool.d.ts +87 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/ICurveFactoryMetaPool.d.ts +159 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryMetaPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain2Pool.d.ts +159 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain3Pool.d.ts +159 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlain4Pool.d.ts +159 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/ICurveFactoryPlainPool.d.ts +131 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveFactoryPlainPool.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolDeposit.d.ts +133 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/ICurveMetaPoolSwap.d.ts +191 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveMetaPool.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurvePoolRegistry.d.ts +45 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolDeposit.d.ts +163 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY2PoolSwap.d.ts +179 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolDeposit.d.ts +163 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY3PoolSwap.d.ts +179 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolDeposit.d.ts +163 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveY4PoolSwap.d.ts +179 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolDeposit.d.ts +163 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/ICurveYPoolSwap.d.ts +179 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ICurveYPool.sol/index.d.ts +8 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoStETH.d.ts +45 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/ILidoWstETH.d.ts +89 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV2Pair.d.ts +103 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Pool.d.ts +113 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IUniswapV3Router.d.ts +55 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IWETH.d.ts +43 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/IZap.d.ts +91 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCRV.d.ts +361 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/IAladdinCompounder.d.ts +290 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/concentrator/index.d.ts +2 -0
- package/dist/types/typechain-types/psm/utils/zap/interfaces/index.d.ts +28 -0
- package/dist/types/typechain-types/psm/v2/PSMVaultV2.d.ts +1528 -0
- package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IPSMVaultView.d.ts +31 -0
- package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IRateOracle.d.ts +43 -0
- package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/IZap.d.ts +39 -0
- package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/RebalancerV2.d.ts +387 -0
- package/dist/types/typechain-types/psm/v2/RebalancerV2.sol/index.d.ts +4 -0
- package/dist/types/typechain-types/psm/v2/index.d.ts +3 -0
- package/dist/types/typechain-types/psm/v3/PSMVaultV3.d.ts +1631 -0
- package/dist/types/typechain-types/psm/v3/RateProviderComposed.d.ts +228 -0
- package/dist/types/typechain-types/psm/v3/RateProviderDirect.d.ts +218 -0
- package/dist/types/typechain-types/psm/v3/index.d.ts +3 -0
- package/dist/types/user/_helpers.d.ts +23 -0
- package/dist/types/user/computeEffectiveReturn.d.ts +67 -0
- package/dist/types/user/getUserClaimables.d.ts +55 -0
- package/dist/types/user/getUserCollateral.d.ts +12 -0
- package/dist/types/user/getUserDebt.d.ts +18 -0
- package/dist/types/user/getUserFarming.d.ts +64 -0
- package/dist/types/user/getUserGovernance.d.ts +20 -0
- package/dist/types/user/getUserPortfolio.d.ts +61 -0
- package/dist/types/user/getUserWalletBalances.d.ts +20 -0
- package/dist/types/user/index.d.ts +9 -0
- package/dist/types/utils/amount.d.ts +7 -0
- package/dist/types/utils/artifacts.d.ts +565 -126
- package/dist/types/utils/contracts.d.ts +38 -0
- package/dist/types/utils/errorDecoder.d.ts +29 -28
- package/dist/types/utils/rpcError.d.ts +52 -0
- package/dist/user/_helpers.js +22 -0
- package/dist/user/computeEffectiveReturn.js +33 -0
- package/dist/user/getUserClaimables.js +97 -0
- package/dist/user/getUserCollateral.js +29 -0
- package/dist/user/getUserDebt.js +32 -0
- package/dist/user/getUserFarming.js +100 -0
- package/dist/user/getUserGovernance.js +35 -0
- package/dist/user/getUserPortfolio.js +109 -0
- package/dist/user/getUserWalletBalances.js +30 -0
- package/dist/user/index.js +24 -0
- package/dist/utils/amount.js +10 -0
- package/dist/utils/artifacts.js +13 -0
- package/dist/utils/chain.js +2 -1
- package/dist/utils/config.js +0 -1
- package/dist/utils/contracts.js +5 -2
- package/dist/utils/errorDecoder.js +69 -117
- package/dist/utils/rpcError.js +159 -0
- package/dist/wallet/assets/approveAsset.js +10 -12
- package/dist/wallet/assets/burnAsset.js +14 -16
- package/dist/wallet/assets/getAllowance.js +4 -4
- package/dist/wallet/assets/getAsset.js +2 -2
- package/dist/wallet/assets/getBalance.js +4 -3
- package/dist/wallet/assets/mintAsset.js +14 -17
- package/dist/wallet/assets/transferAsset.js +7 -10
- package/package.json +4 -3
- package/dist/generated/errorMap.json +0 -3945
- package/dist/scripts/generateErrorMap.js +0 -180
- package/dist/types/scripts/generateErrorMap.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/governance/gauges/VeBoost.d.ts +0 -518
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoost.d.ts +0 -311
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IVeBoostProxy.d.ts +0 -50
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/VeBoostProxy__factory.d.ts +0 -152
- 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);
|
package/dist/utils/amount.js
CHANGED
|
@@ -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.
|
package/dist/utils/artifacts.js
CHANGED
|
@@ -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) => {
|
package/dist/utils/chain.js
CHANGED
|
@@ -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
|
}
|
package/dist/utils/config.js
CHANGED
|
@@ -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(
|
package/dist/utils/contracts.js
CHANGED
|
@@ -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.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
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
|
-
*
|
|
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
|
|
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
|
|
57
|
-
|
|
58
|
-
|
|
20
|
+
let parsed;
|
|
21
|
+
try {
|
|
22
|
+
parsed = ethers_1.Interface.from(abi).parseError(data);
|
|
59
23
|
}
|
|
60
|
-
|
|
61
|
-
|
|
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 (!
|
|
27
|
+
if (!parsed)
|
|
67
28
|
return null;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
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
|
|
90
|
-
|
|
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
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
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
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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
|
}
|