@raac/rpc 1.1.0-beta.8 → 1.1.0-beta.80
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 +53 -6
- package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +279 -309
- package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +246 -0
- package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +458 -0
- package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +458 -0
- package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +529 -0
- package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -93
- package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +169 -13
- package/dist/artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json +556 -0
- package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +637 -0
- package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +190 -29
- package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +20 -2
- package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +55 -3
- package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +267 -220
- package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +421 -124
- package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +397 -0
- package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +223 -7
- package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +111 -8
- package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +272 -28
- package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
- package/dist/artifacts/core/tokens/RToken.sol/RToken.json +50 -39
- package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +25 -2
- package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
- package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +17 -9
- package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +89 -9
- package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +405 -108
- package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
- package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
- package/dist/artifacts/zeno/Auction.sol/Auction.json +57 -2
- package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +44 -2
- package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
- package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
- package/dist/configs/chains/11155111.json +80 -20
- package/dist/configs/chains/17000.json +25 -0
- package/dist/configs/chains/18453.json +187 -0
- package/dist/configs/chains/8453.json +66 -18
- package/dist/configs/chains/index.js +2 -0
- package/dist/minter/get.js +1 -3
- package/dist/minter/getApy.js +2 -2
- package/dist/nfts/approveNFT.js +25 -0
- package/dist/nfts/getApprovalForAll.js +32 -0
- package/dist/nfts/getNFTApproval.js +33 -0
- package/dist/nfts/getOwnerOfNFT.js +39 -0
- package/dist/nfts/setApprovalForAll.js +34 -0
- package/dist/oracles/chainlink-networks-config.js +252 -0
- package/dist/oracles/encryptSecretURLs.js +25 -0
- package/dist/oracles/encryptSecrets.js +29 -0
- package/dist/oracles/houses/config.js +19 -0
- package/dist/oracles/houses/request.js +176 -0
- package/dist/oracles/houses/simulate.js +21 -0
- package/dist/oracles/prime-rate/config.js +16 -0
- package/dist/oracles/prime-rate/request.js +149 -0
- package/dist/oracles/prime-rate/simulate.js +25 -0
- package/dist/pools/lendingPool/_helpers.js +2 -3
- 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 +5 -3
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +34 -3
- package/dist/pools/lendingPool/calculateInsuranceFee.js +2 -2
- package/dist/pools/lendingPool/closeLiquidation.js +2 -2
- package/dist/pools/lendingPool/depositAssetToLendingPool.js +2 -2
- package/dist/pools/lendingPool/depositToLendingPool.js +4 -2
- package/dist/pools/lendingPool/getAdapterAddress.js +8 -10
- package/dist/pools/lendingPool/getAdapters.js +1 -1
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +1 -1
- package/dist/pools/lendingPool/getHealthFactor.js +2 -2
- package/dist/pools/lendingPool/getLendingPoolInfo.js +24 -15
- package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +1 -1
- package/dist/pools/lendingPool/getParameters.js +3 -4
- package/dist/pools/lendingPool/getPositionDebt.js +2 -2
- package/dist/pools/lendingPool/getPositionScaledDebt.js +2 -2
- package/dist/pools/lendingPool/getPositionView.js +1 -1
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +1 -1
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +1 -1
- package/dist/pools/lendingPool/getUserCollateralValue.js +1 -1
- package/dist/pools/lendingPool/initializeLiquidation.js +2 -2
- package/dist/pools/lendingPool/openVaultPosition.js +2 -4
- package/dist/pools/lendingPool/repayToLendingPool.js +2 -2
- package/dist/pools/lendingPool/vaultOpened.js +22 -0
- package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +3 -4
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +7 -4
- package/dist/pools/rwaVault/_helpers.js +2 -3
- package/dist/pools/rwaVault/depositToRWAVault.js +6 -5
- package/dist/pools/rwaVault/getNextRandomNFT.js +1 -1
- package/dist/pools/rwaVault/getRWAVaultInfo.js +3 -14
- package/dist/pools/rwaVault/previewDeposit.js +16 -0
- package/dist/pools/rwaVault/previewWithdraw.js +16 -0
- package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +9 -5
- package/dist/pools/rwaVault/requestRandomSeed.js +1 -1
- package/dist/pools/stabilityPool/_helpers.js +11 -0
- package/dist/pools/stabilityPool/getStabilityPoolInfo.js +2 -39
- package/dist/pools/stabilityPool/getWithdrawRequestInfo.js +28 -0
- package/dist/pools/{lendingPool → stabilityPool}/requestWithdraw.js +2 -7
- package/dist/scripts/analyze_lending_positions.js +277 -0
- package/dist/scripts/analyze_transfers.js +247 -0
- package/dist/scripts/calculate_portfolio.js +167 -0
- package/dist/scripts/generateErrorMap.js +180 -0
- package/dist/scripts/index.js +211 -78
- package/dist/scripts/liquidation.js +176 -0
- package/dist/scripts/run_analysis.js +115 -0
- package/dist/scripts/test_lending_analysis.js +105 -0
- package/dist/scripts/users.js +305 -0
- package/dist/test.js +323 -0
- package/dist/types/RPCLibrary.d.ts +37 -9
- package/dist/types/configs/chains/index.d.ts +5 -3
- package/dist/types/configs/index.d.ts +2 -1
- package/dist/types/nfts/approveNFT.d.ts +9 -0
- package/dist/types/nfts/getApprovalForAll.d.ts +14 -0
- package/dist/types/nfts/getNFTApproval.d.ts +14 -0
- package/dist/types/nfts/getOwnerOfNFT.d.ts +13 -0
- package/dist/types/nfts/setApprovalForAll.d.ts +14 -0
- package/dist/types/oracles/chainlink-networks-config.d.ts +222 -0
- package/dist/types/oracles/encryptSecretURLs.d.ts +5 -0
- package/dist/types/oracles/encryptSecrets.d.ts +4 -0
- package/dist/types/oracles/houses/config.d.ts +13 -0
- package/dist/types/oracles/houses/request.d.ts +5 -0
- package/dist/types/oracles/houses/simulate.d.ts +1 -0
- package/dist/types/oracles/prime-rate/config.d.ts +14 -0
- package/dist/types/oracles/prime-rate/request.d.ts +2 -0
- package/dist/types/oracles/prime-rate/simulate.d.ts +1 -0
- package/dist/types/pools/lendingPool/_helpers.d.ts +2 -2
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +4 -2
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +4 -2
- package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +2 -2
- package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +2 -2
- package/dist/types/pools/lendingPool/closeLiquidation.d.ts +2 -2
- package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +2 -2
- package/dist/types/pools/lendingPool/getHealthFactor.d.ts +2 -2
- package/dist/types/pools/lendingPool/getLendingPoolInfo.d.ts +2 -0
- package/dist/types/pools/lendingPool/getParameters.d.ts +1 -2
- package/dist/types/pools/lendingPool/getPositionDebt.d.ts +2 -2
- package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +2 -2
- package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +2 -2
- package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +2 -2
- package/dist/types/pools/lendingPool/vaultOpened.d.ts +11 -0
- package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +2 -3
- package/dist/types/pools/rwaVault/_helpers.d.ts +2 -2
- package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +2 -2
- package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +2 -6
- package/dist/types/pools/rwaVault/previewDeposit.d.ts +4 -0
- package/dist/types/pools/rwaVault/previewWithdraw.d.ts +4 -0
- package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +3 -2
- package/dist/types/pools/stabilityPool/_helpers.d.ts +4 -0
- package/dist/types/pools/stabilityPool/getStabilityPoolInfo.d.ts +0 -3
- package/dist/types/pools/stabilityPool/getWithdrawRequestInfo.d.ts +13 -0
- package/dist/types/scripts/analyze_lending_positions.d.ts +1 -0
- package/dist/types/scripts/analyze_transfers.d.ts +1 -0
- package/dist/types/scripts/calculate_portfolio.d.ts +1 -0
- package/dist/types/scripts/generateErrorMap.d.ts +1 -0
- package/dist/types/scripts/liquidation.d.ts +1 -0
- package/dist/types/scripts/run_analysis.d.ts +1 -0
- package/dist/types/scripts/test_lending_analysis.d.ts +1 -0
- package/dist/types/scripts/users.d.ts +1 -0
- package/dist/types/test.d.ts +1 -0
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -3
- 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/{utils/math/Math.d.ts → proxy/ERC1967/ERC1967Utils.d.ts} +4 -4
- 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/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.d.ts +74 -0
- 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/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.d.ts +36 -0
- package/dist/types/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/core/collectors/ERC20Collector.d.ts +264 -0
- package/dist/types/typechain-types/contracts/core/collectors/FeeCollector.d.ts +180 -178
- package/dist/types/typechain-types/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.d.ts +17 -5
- package/dist/types/typechain-types/contracts/core/collectors/RAACTokenCollector.d.ts +264 -0
- package/dist/types/typechain-types/contracts/core/collectors/RWAIndexTokenCollector.d.ts +264 -0
- package/dist/types/typechain-types/contracts/core/collectors/Treasury.d.ts +53 -52
- package/dist/types/typechain-types/contracts/core/collectors/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/core/governance/gauges/BaseGauge.d.ts +119 -5
- package/dist/types/typechain-types/contracts/core/governance/gauges/GaugeRewardsDistributor.d.ts +19 -1
- package/dist/types/typechain-types/contracts/core/governance/gauges/RAACGauge.d.ts +119 -5
- package/dist/types/typechain-types/contracts/core/governance/gauges/RWAGauge.d.ts +119 -5
- package/dist/types/typechain-types/contracts/core/governance/proposals/Governance.d.ts +2 -6
- package/dist/types/typechain-types/contracts/core/governance/proposals/TimelockController.d.ts +33 -3
- package/dist/types/typechain-types/contracts/core/minters/RAACMinter/RAACMinter.d.ts +1 -41
- package/dist/types/typechain-types/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator.d.ts +36 -20
- package/dist/types/typechain-types/contracts/core/oracles/BaseChainlinkFunctionsOracle.d.ts +112 -27
- package/dist/types/typechain-types/contracts/core/oracles/BaseVRFv2Consumer.d.ts +116 -10
- package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.d.ts +338 -0
- package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle.d.ts +55 -0
- package/dist/types/typechain-types/contracts/{mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl.d.ts → core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle.d.ts} +9 -9
- package/dist/types/typechain-types/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/contracts/core/oracles/RAACHousePriceOracle.d.ts +128 -27
- package/dist/types/typechain-types/contracts/core/oracles/RAACPrimeRateOracle.d.ts +112 -27
- package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle.d.ts +37 -0
- package/dist/types/typechain-types/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle.d.ts +33 -0
- package/dist/types/typechain-types/contracts/{mocks/core/oracles/MockERC20PriceOracle.sol → core/oracles/crvUSDPriceOracle.sol}/IPriceOracle.d.ts +1 -1
- package/dist/types/typechain-types/contracts/core/oracles/crvUSDPriceOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/oracles/index.d.ts +6 -0
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.d.ts +10 -1
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/{ERC721AssetAdapter.sol/ERC721AssetAdapter.d.ts → ERC721AssetAdapter.d.ts} +29 -2
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +145 -153
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPoolStorage.d.ts +94 -63
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/LiquidationProxy.d.ts +94 -63
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/VaultProxy.d.ts +105 -62
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/index.d.ts +1 -2
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationStrategyProxy.d.ts +66 -28
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/LiquidationSwap.d.ts +36 -8
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPool.d.ts +312 -81
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/StabilityPoolStorage.d.ts +61 -25
- package/dist/types/typechain-types/contracts/core/primitives/{ComplianceRegistry.d.ts → ComplianceRegistry.sol/ComplianceRegistry.d.ts} +30 -2
- package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList.d.ts +25 -0
- package/dist/types/typechain-types/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/core/primitives/RAACHousePrices.d.ts +129 -7
- package/dist/types/typechain-types/contracts/core/primitives/index.d.ts +2 -1
- package/dist/types/typechain-types/contracts/core/tokens/DEToken.d.ts +39 -9
- package/dist/types/typechain-types/contracts/core/tokens/DebtToken.d.ts +12 -111
- package/dist/types/typechain-types/contracts/core/tokens/RAACNFT.d.ts +191 -31
- package/dist/types/typechain-types/contracts/core/tokens/RToken.d.ts +15 -33
- package/dist/types/typechain-types/contracts/core/tokens/RWAIndexToken.d.ts +5 -1
- package/dist/types/typechain-types/contracts/core/vaults/{ERC20VaultAdapter.sol/ERC20VaultAdapter.d.ts → ERC20VaultAdapter.d.ts} +10 -8
- package/dist/types/typechain-types/contracts/core/vaults/{ERC721VaultAdapter.sol/ERC721VaultAdapter.d.ts → ERC721VaultAdapter.d.ts} +40 -8
- package/dist/types/typechain-types/contracts/core/vaults/RAACNFTVaultAdapterV2.d.ts +262 -0
- package/dist/types/typechain-types/contracts/core/vaults/RWAVault.d.ts +321 -65
- package/dist/types/typechain-types/contracts/core/vaults/index.d.ts +3 -4
- package/dist/types/typechain-types/contracts/{mocks/libraries/governance/RAACVotingMock.d.ts → interfaces/core/collectors/IDistributionTarget.d.ts} +25 -23
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/IFeeCollector.d.ts +136 -44
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/ITreasury.d.ts +23 -42
- package/dist/types/typechain-types/contracts/interfaces/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IBaseGauge.d.ts +101 -5
- package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/IGovernance.d.ts +2 -6
- package/dist/types/typechain-types/contracts/interfaces/core/governance/proposals/ITimelockController.d.ts +33 -3
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACMinter/IRAACMinter.d.ts +1 -37
- package/dist/types/typechain-types/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator.d.ts +21 -20
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IBaseVRFv2Consumer.d.ts +47 -1
- package/dist/types/typechain-types/contracts/{core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle.d.ts → interfaces/core/oracles/IERC20PriceOracle.d.ts} +9 -13
- package/dist/types/typechain-types/contracts/{core/vaults/ERC721VaultAdapter.sol/IPriceOracle.d.ts → interfaces/core/oracles/IERC721PriceOracle.d.ts} +6 -6
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePriceOracle.d.ts +29 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer.d.ts +71 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices.d.ts +49 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable.d.ts +35 -0
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/index.d.ts +6 -1
- package/dist/types/typechain-types/contracts/interfaces/core/pools/ILiquidityPool.d.ts +26 -12
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/IAssetAdapter.d.ts +10 -1
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +80 -70
- package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage.d.ts +52 -1
- package/dist/types/typechain-types/contracts/interfaces/core/pools/StabilityPool/IStabilityPool.d.ts +205 -42
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDEToken.d.ts +31 -1
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IDebtToken.d.ts +7 -15
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRAACNFT.d.ts +127 -29
- package/dist/types/typechain-types/contracts/interfaces/core/tokens/IRToken.d.ts +11 -33
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IBaseHybridVault.d.ts +315 -23
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IERC721VaultAdapter.d.ts +37 -0
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/IVaultAssetAdapter.d.ts +1 -3
- package/dist/types/typechain-types/contracts/interfaces/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/interfaces/curve/ICurveCrvUSDVault.d.ts +33 -1
- package/dist/types/typechain-types/contracts/libraries/pools/LendingPoolFeeLibrary.d.ts +20 -0
- package/dist/types/typechain-types/contracts/libraries/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/collectors/MockTreasury.d.ts +23 -58
- package/dist/types/typechain-types/contracts/mocks/core/curve/CurveCrvUSDVaultMock.d.ts +358 -0
- package/dist/types/typechain-types/contracts/mocks/core/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget.d.ts +37 -0
- package/dist/types/typechain-types/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockChainlinkAggregator.d.ts +151 -0
- package/dist/types/typechain-types/contracts/{interfaces/IHousePrices.d.ts → mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle.d.ts} +10 -14
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA.d.ts +59 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/{MockERC20PriceOracle.sol/MockERC20PriceOracle.d.ts → MockERC20PriceOracle.d.ts} +1 -1
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockRAACNFTVaultAdapterNAVOracle.d.ts +169 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable.d.ts +171 -0
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACHousePriceOracle.d.ts +128 -27
- package/dist/types/typechain-types/contracts/mocks/core/oracles/TestRAACPrimeRateOracle.d.ts +112 -27
- package/dist/types/typechain-types/contracts/mocks/core/oracles/index.d.ts +6 -2
- package/dist/types/typechain-types/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool.d.ts +593 -0
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPool.d.ts +11 -17
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolCollector.d.ts +10 -7
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +80 -70
- package/dist/types/typechain-types/contracts/mocks/core/pools/MockLiquidityPool.d.ts +26 -12
- package/dist/types/typechain-types/contracts/mocks/core/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/{@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2.d.ts → contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis.d.ts} +18 -14
- package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList.d.ts +25 -0
- package/dist/types/typechain-types/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/mocks/core/primitives/MockDistributableContract.d.ts +9 -1
- package/dist/types/typechain-types/contracts/mocks/core/primitives/index.d.ts +2 -0
- package/dist/types/typechain-types/contracts/{core/tokens/IndexToken.d.ts → mocks/core/tokens/CrvUSDTokenLimited.d.ts} +53 -155
- package/dist/types/typechain-types/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMock.d.ts +5 -1
- package/dist/types/typechain-types/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation.d.ts +185 -0
- package/dist/types/typechain-types/contracts/mocks/libraries/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/contracts/zeno/Auction.d.ts +33 -2
- package/dist/types/typechain-types/contracts/zeno/AuctionFactory.d.ts +34 -2
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/dev/libraries/VRFV2PlusClient__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/mocks/VRFCoordinatorV2_5Mock__factory.d.ts +1 -1
- 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/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Errors__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable__factory.d.ts +29 -0
- package/dist/types/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/ERC20Collector__factory.d.ts +373 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +214 -238
- package/dist/types/typechain-types/factories/contracts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector__factory.d.ts +29 -3
- package/dist/types/typechain-types/factories/contracts/core/collectors/RAACTokenCollector__factory.d.ts +369 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/RWAIndexTokenCollector__factory.d.ts +369 -0
- package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +80 -59
- package/dist/types/typechain-types/factories/contracts/core/collectors/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/BaseGauge__factory.d.ts +159 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeRewardsDistributor__factory.d.ts +29 -1
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +160 -2
- package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +160 -2
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +14 -2
- package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +25 -1
- package/dist/types/typechain-types/factories/contracts/core/lockers/LLamaTemple__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +1 -71
- package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +43 -10
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseChainlinkFunctionsOracle__factory.d.ts +128 -23
- package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +135 -14
- package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle__factory.d.ts +443 -0
- package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/ICrvUSDToUSDOracle__factory.d.ts +45 -0
- package/dist/types/typechain-types/factories/contracts/{interfaces/IHousePrices__factory.d.ts → core/oracles/CrvUSDToUSDOracle.sol/ICrvUsdCurveOracle__factory.d.ts} +6 -6
- package/dist/types/typechain-types/factories/contracts/core/oracles/CrvUSDToUSDOracle.sol/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +203 -28
- package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +153 -28
- package/dist/types/typechain-types/factories/contracts/{mocks/core/oracles/MockERC20PriceOracle.sol → core/oracles/RWAIndexTokenOracle.sol}/IPriceOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/RWAIndexTokenOracle__factory.d.ts +74 -0
- package/dist/types/typechain-types/factories/contracts/core/oracles/RWAIndexTokenOracle.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/oracles/crvUSDPriceOracle.sol/CrvUSDPriceOracle__factory.d.ts +52 -0
- package/dist/types/typechain-types/factories/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/crvUSDPriceOracle.sol}/IPriceOracle__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/crvUSDPriceOracle.sol}/index.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/oracles/index.d.ts +3 -0
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter__factory.d.ts +15 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/{ERC721AssetAdapter.sol/ERC721AssetAdapter__factory.d.ts → ERC721AssetAdapter__factory.d.ts} +44 -4
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPoolStorage__factory.d.ts +103 -50
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +186 -173
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LiquidationProxy__factory.d.ts +101 -56
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/VaultProxy__factory.d.ts +117 -48
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/index.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationStrategyProxy__factory.d.ts +70 -34
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/LiquidationSwap__factory.d.ts +82 -8
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPoolStorage__factory.d.ts +58 -34
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +344 -109
- package/dist/types/typechain-types/factories/contracts/core/primitives/{ComplianceRegistry__factory.d.ts → ComplianceRegistry.sol/ComplianceRegistry__factory.d.ts} +47 -3
- package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/SanctionsList__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/ComplianceRegistry.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +174 -8
- package/dist/types/typechain-types/factories/contracts/core/primitives/index.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +87 -9
- package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +15 -168
- package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +213 -24
- package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +40 -32
- package/dist/types/typechain-types/factories/contracts/core/tokens/RWAIndexToken__factory.d.ts +22 -4
- package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/core/vaults/{ERC20VaultAdapter.sol/ERC20VaultAdapter__factory.d.ts → ERC20VaultAdapter__factory.d.ts} +15 -9
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter__factory.d.ts +347 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/RAACNFTVaultAdapterV2__factory.d.ts +417 -0
- package/dist/types/typechain-types/factories/contracts/core/vaults/RWAVault__factory.d.ts +318 -86
- package/dist/types/typechain-types/factories/contracts/core/vaults/index.d.ts +3 -2
- package/dist/types/typechain-types/factories/contracts/interfaces/IComplianceRegistry__factory.d.ts +4 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IDistributionTarget__factory.d.ts +39 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/IFeeCollector__factory.d.ts +131 -95
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/ITreasury__factory.d.ts +20 -49
- package/dist/types/typechain-types/factories/contracts/interfaces/core/collectors/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IBaseGauge__factory.d.ts +133 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/IGovernance__factory.d.ts +13 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/proposals/ITimelockController__factory.d.ts +24 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACMinter/IRAACMinter__factory.d.ts +0 -60
- package/dist/types/typechain-types/factories/contracts/interfaces/core/minters/RAACReleaseOrchestrator/IReleaseOrchestrator__factory.d.ts +19 -16
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IBaseVRFv2Consumer__factory.d.ts +52 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IERC20PriceOracle__factory.d.ts +17 -0
- package/dist/types/typechain-types/factories/contracts/{core/vaults/ERC721VaultAdapter.sol/IPriceOracle__factory.d.ts → interfaces/core/oracles/IERC721PriceOracle__factory.d.ts} +8 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePriceOracle__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePriceSyncer__factory.d.ts +59 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/IRAACHousePrices__factory.d.ts +67 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IZKMEVerifyUpgradeable__factory.d.ts +25 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/index.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/ILiquidityPool__factory.d.ts +26 -10
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/IAssetAdapter__factory.d.ts +14 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPoolStorage__factory.d.ts +53 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +113 -92
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/ILiquidationSwap__factory.d.ts +12 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/StabilityPool/IStabilityPool__factory.d.ts +236 -41
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDEToken__factory.d.ts +70 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IDebtToken__factory.d.ts +10 -16
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRAACNFT__factory.d.ts +122 -22
- package/dist/types/typechain-types/factories/contracts/interfaces/core/tokens/IRToken__factory.d.ts +19 -29
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IBaseHybridVault__factory.d.ts +301 -19
- package/dist/types/typechain-types/factories/contracts/interfaces/{IPoolManager__factory.d.ts → core/vaults/IERC721VaultAdapter__factory.d.ts} +20 -22
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/IVaultAssetAdapter__factory.d.ts +0 -4
- package/dist/types/typechain-types/factories/contracts/interfaces/core/vaults/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/curve/ICurveCrvUSDVault__factory.d.ts +64 -0
- package/dist/types/typechain-types/factories/contracts/interfaces/zeno/IAuction__factory.d.ts +4 -0
- 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/math/TimeWeightedAverage__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/pools/LendingPoolFeeLibrary__factory.d.ts +42 -0
- package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/libraries/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +21 -68
- package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockWETH__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveCrvUSDVaultMock__factory.d.ts +651 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/CurveLiquidityGaugeV5Mock.sol/CurveLiquidityGaugeV5Mock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/curve/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockPayableTestTarget__factory.d.ts +65 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/lockers/LLamaLocker.sol/LlamaLocker__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockChainlinkAggregator__factory.d.ts +168 -0
- package/dist/types/typechain-types/factories/contracts/{core/pools/LendingPool/ERC721AssetAdapter.sol/IPriceOracle__factory.d.ts → mocks/core/oracles/MockCurveEMA.sol/ICrvUsdCurveOracle__factory.d.ts} +7 -7
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/MockCurveEMA__factory.d.ts +98 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockCurveEMA.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/{MockERC20PriceOracle.sol/MockERC20PriceOracle__factory.d.ts → MockERC20PriceOracle__factory.d.ts} +3 -3
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
- 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/MockRAACNFTVaultAdapterNAVOracle__factory.d.ts +242 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockZKMEVerifyUpgradeable__factory.d.ts +184 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +203 -28
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +153 -28
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/index.d.ts +5 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/CurveStyleCrvUSDiRAACPool__factory.d.ts +938 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +9 -11
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +114 -83
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +15 -19
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +27 -11
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/MockChainAnalysis__factory.d.ts +50 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/SanctionsList__factory.d.ts +21 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockChainAnalysis.sol/index.d.ts +2 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +15 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDTokenLimited__factory.d.ts +431 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__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/LockManagerMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMockCalculation__factory.d.ts +228 -0
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +23 -5
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/index.d.ts +1 -0
- package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__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 +34 -1
- package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +44 -1
- package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
- package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
- package/dist/types/typechain-types/index.d.ts +88 -18
- package/dist/types/utils/artifacts.d.ts +997 -284
- package/dist/types/utils/contracts.d.ts +4 -2
- package/dist/types/utils/errorDecoder.d.ts +37 -0
- package/dist/types/wallet/assets/approveNFT.d.ts +0 -0
- package/dist/types/wallet/assets/getAllowance.d.ts +1 -1
- package/dist/types/wallet/assets/getBalance.d.ts +3 -3
- package/dist/utils/artifacts.js +16 -0
- package/dist/utils/errorDecoder.js +137 -0
- package/dist/wallet/assets/approveNFT.js +0 -0
- package/dist/wallet/assets/getAllowance.js +3 -3
- package/dist/wallet/assets/getBalance.js +14 -6
- package/package.json +8 -4
- package/dist/pools/lendingPool/getWithdrawRequestInfo.js +0 -25
- package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +0 -8
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface.d.ts +0 -156
- package/dist/types/typechain-types/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/governance/boost/BoostController.d.ts +0 -573
- package/dist/types/typechain-types/contracts/core/governance/boost/index.d.ts +0 -1
- package/dist/types/typechain-types/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/core/pools/StabilityPool/NFTLiquidator.d.ts +0 -283
- package/dist/types/typechain-types/contracts/core/vaults/ERC20VaultAdapter.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/interfaces/IPoolManager.d.ts +0 -37
- package/dist/types/typechain-types/contracts/interfaces/IReserveAllocationLibraryMock.d.ts +0 -164
- package/dist/types/typechain-types/contracts/interfaces/IveRAACDistributor.d.ts +0 -59
- package/dist/types/typechain-types/contracts/interfaces/core/governance/IBoostController.d.ts +0 -269
- package/dist/types/typechain-types/contracts/interfaces/core/governance/gauges/IGauge.d.ts +0 -235
- package/dist/types/typechain-types/contracts/interfaces/core/oracles/IRAACHousePrices.d.ts +0 -117
- package/dist/types/typechain-types/contracts/libraries/governance/Checkpoints.d.ts +0 -55
- package/dist/types/typechain-types/contracts/libraries/governance/RAACVoting.d.ts +0 -45
- package/dist/types/typechain-types/contracts/libraries/governance/VotingPowerLib.d.ts +0 -66
- package/dist/types/typechain-types/contracts/mocks/core/governance/gauges/MockBaseGauge.d.ts +0 -845
- package/dist/types/typechain-types/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/contracts/mocks/core/tokens/MockVeToken.d.ts +0 -510
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/CheckpointsMock.d.ts +0 -83
- package/dist/types/typechain-types/contracts/mocks/libraries/governance/VotingPowerMock.d.ts +0 -281
- package/dist/types/typechain-types/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper.d.ts +0 -100
- package/dist/types/typechain-types/contracts/mocks/tests/VotingPowerFuzzHelper.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/VRFConsumerBaseV2__factory.d.ts +0 -33
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/VRFCoordinatorV2Interface__factory.d.ts +0 -171
- package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/vrf/interfaces/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +0 -26
- package/dist/types/typechain-types/factories/contracts/core/governance/boost/BoostController__factory.d.ts +0 -716
- package/dist/types/typechain-types/factories/contracts/core/governance/boost/index.d.ts +0 -1
- package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/ERC721AssetAdapter.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/NFTLiquidator__factory.d.ts +0 -390
- package/dist/types/typechain-types/factories/contracts/core/tokens/IndexToken__factory.d.ts +0 -602
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter__factory.d.ts +0 -287
- package/dist/types/typechain-types/factories/contracts/core/vaults/ERC721VaultAdapter.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/interfaces/IReserveAllocationLibraryMock__factory.d.ts +0 -189
- package/dist/types/typechain-types/factories/contracts/interfaces/IveRAACDistributor__factory.d.ts +0 -75
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/IBoostController__factory.d.ts +0 -295
- package/dist/types/typechain-types/factories/contracts/interfaces/core/governance/gauges/IGauge__factory.d.ts +0 -307
- package/dist/types/typechain-types/factories/contracts/interfaces/core/oracles/IRAACHousePrices__factory.d.ts +0 -141
- package/dist/types/typechain-types/factories/contracts/libraries/governance/Checkpoints__factory.d.ts +0 -68
- package/dist/types/typechain-types/factories/contracts/libraries/governance/RAACVoting__factory.d.ts +0 -92
- package/dist/types/typechain-types/factories/contracts/libraries/governance/VotingPowerLib__factory.d.ts +0 -74
- package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockBaseGauge__factory.d.ts +0 -1194
- package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockERC20PriceOracle.sol/index.d.ts +0 -2
- package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockVeToken__factory.d.ts +0 -714
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/CheckpointsMock__factory.d.ts +0 -124
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RAACVotingMock__factory.d.ts +0 -70
- package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/VotingPowerMock__factory.d.ts +0 -341
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/IVMTimeControl__factory.d.ts +0 -17
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper__factory.d.ts +0 -113
- package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/index.d.ts +0 -2
- /package/dist/types/pools/{lendingPool → stabilityPool}/requestWithdraw.d.ts +0 -0
- /package/dist/types/typechain-types/contracts/core/{vaults/ERC20VaultAdapter.sol → oracles/RWAIndexTokenOracle.sol}/IPriceOracle.d.ts +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
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.simulate = simulate;
|
|
7
|
+
const functions_toolkit_1 = require("@chainlink/functions-toolkit");
|
|
8
|
+
const config_1 = __importDefault(require("./config"));
|
|
9
|
+
async function simulate(houseId) {
|
|
10
|
+
const { responseBytesHexstring, errorString } = await (0, functions_toolkit_1.simulateScript)({
|
|
11
|
+
...config_1.default,
|
|
12
|
+
args: [houseId],
|
|
13
|
+
});
|
|
14
|
+
if (responseBytesHexstring) {
|
|
15
|
+
console.log(`\nResponse returned by script during local simulation: ${(0, functions_toolkit_1.decodeResult)(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
16
|
+
}
|
|
17
|
+
if (errorString) {
|
|
18
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
19
|
+
}
|
|
20
|
+
console.log("Local simulation of source code completed...");
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const functions_toolkit_1 = require("@chainlink/functions-toolkit");
|
|
4
|
+
const requestConfig = {
|
|
5
|
+
name: "prime-rate",
|
|
6
|
+
sourceURL: "https://emerald-many-grasshopper-318.mypinata.cloud/ipfs/bafkreid3kubchc3f2sspzq25pnmnw3mppkhv46xvzg72xx7zqs2plvjbqu",
|
|
7
|
+
codeLocation: functions_toolkit_1.Location["Inline"],
|
|
8
|
+
// Optional
|
|
9
|
+
secrets: { apiKey: process.env.FRED_API_KEY ?? "" },
|
|
10
|
+
// Optional
|
|
11
|
+
secretsLocation: functions_toolkit_1.Location["DONHosted"],
|
|
12
|
+
args: [],
|
|
13
|
+
codeLanguage: functions_toolkit_1.CodeLanguage.JavaScript,
|
|
14
|
+
expectedReturnType: functions_toolkit_1.ReturnType.uint256,
|
|
15
|
+
};
|
|
16
|
+
exports.default = requestConfig;
|
|
@@ -0,0 +1,149 @@
|
|
|
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.request = request;
|
|
7
|
+
const functions_toolkit_1 = require("@chainlink/functions-toolkit");
|
|
8
|
+
const configs_1 = require("../../configs");
|
|
9
|
+
const getContractAddress_1 = __importDefault(require("../../contracts/getContractAddress"));
|
|
10
|
+
const ethers5_1 = require("ethers5");
|
|
11
|
+
const config_1 = __importDefault(require("./config"));
|
|
12
|
+
const chainlink_networks_config_1 = __importDefault(require("../chainlink-networks-config"));
|
|
13
|
+
const artifacts_1 = require("../../utils/artifacts");
|
|
14
|
+
const subscriptionIds = {
|
|
15
|
+
8453: 4392,
|
|
16
|
+
17000: 4392,
|
|
17
|
+
11155111: 4392,
|
|
18
|
+
18453: 4392,
|
|
19
|
+
};
|
|
20
|
+
async function request(chainId, signerV5) {
|
|
21
|
+
const chain = (0, configs_1.getChainConfig)(chainId);
|
|
22
|
+
const network = chainlink_networks_config_1.default[chainId];
|
|
23
|
+
if (!chain) {
|
|
24
|
+
throw new Error(`Chain configuration not found for chainId: ${chainId}`);
|
|
25
|
+
}
|
|
26
|
+
const sourceFetch = await fetch(config_1.default.sourceURL);
|
|
27
|
+
const source = await sourceFetch.text();
|
|
28
|
+
console.log("Reading source from URL: ", config_1.default.sourceURL);
|
|
29
|
+
// Simulate the request first
|
|
30
|
+
{
|
|
31
|
+
const { responseBytesHexstring, errorString } = await (0, functions_toolkit_1.simulateScript)({
|
|
32
|
+
...config_1.default,
|
|
33
|
+
source,
|
|
34
|
+
});
|
|
35
|
+
if (responseBytesHexstring) {
|
|
36
|
+
console.log(`\nResponse returned by script during local simulation: ${(0, functions_toolkit_1.decodeResult)(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
37
|
+
}
|
|
38
|
+
if (errorString) {
|
|
39
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
40
|
+
}
|
|
41
|
+
console.log("Local simulation of source code completed...");
|
|
42
|
+
}
|
|
43
|
+
// Get the RPC endpoint from the chain config and derive a v5 provider
|
|
44
|
+
const rpcUrl = chain.rpcs?.[0] ?? chain.rpc ?? undefined;
|
|
45
|
+
if (!rpcUrl)
|
|
46
|
+
throw new Error("No RPC URL found in chain configuration");
|
|
47
|
+
const contractAddress = (0, getContractAddress_1.default)(chainId, "raacprimerateoracle");
|
|
48
|
+
const contractAbi = (0, artifacts_1.getABI)("raacprimerateoracle");
|
|
49
|
+
const subscriptionId = subscriptionIds[chainId];
|
|
50
|
+
const slotId = 0;
|
|
51
|
+
const callbackGasLimit = 300_000;
|
|
52
|
+
const consumerContract = new ethers5_1.ethers.Contract(contractAddress, contractAbi, signerV5);
|
|
53
|
+
const linkTokenAddress = network.linkToken;
|
|
54
|
+
const functionsRouterAddress = network.functionsRouter;
|
|
55
|
+
const subscriptionManager = new functions_toolkit_1.SubscriptionManager({
|
|
56
|
+
// Use the v5 signer here (toolkit expects ethers v5 types)
|
|
57
|
+
signer: signerV5,
|
|
58
|
+
linkTokenAddress,
|
|
59
|
+
functionsRouterAddress,
|
|
60
|
+
});
|
|
61
|
+
await subscriptionManager.initialize();
|
|
62
|
+
const donId = network.donId;
|
|
63
|
+
const secretsManager = new functions_toolkit_1.SecretsManager({
|
|
64
|
+
// ethers v5 signer again
|
|
65
|
+
signer: signerV5,
|
|
66
|
+
functionsRouterAddress,
|
|
67
|
+
donId,
|
|
68
|
+
});
|
|
69
|
+
await secretsManager.initialize();
|
|
70
|
+
const subInfo = await subscriptionManager.getSubscriptionInfo(subscriptionId);
|
|
71
|
+
if (!subInfo.consumers
|
|
72
|
+
.map((c) => c.toLowerCase())
|
|
73
|
+
.includes(contractAddress.toLowerCase())) {
|
|
74
|
+
throw Error(`Consumer contract ${contractAddress} has not been added to subscription ${subscriptionId}`);
|
|
75
|
+
}
|
|
76
|
+
// Use the v5 provider for gas data (to avoid type mismatches)
|
|
77
|
+
const { gasPrice } = await signerV5.provider.getFeeData();
|
|
78
|
+
// @ts-ignore
|
|
79
|
+
const gasPriceWei = BigInt(Math.ceil(ethers5_1.ethers.utils.formatUnits(gasPrice, "wei").toString()));
|
|
80
|
+
const estimatedCostJuels = await subscriptionManager.estimateFunctionsRequestCost({
|
|
81
|
+
donId,
|
|
82
|
+
subscriptionId,
|
|
83
|
+
callbackGasLimit,
|
|
84
|
+
gasPriceWei,
|
|
85
|
+
});
|
|
86
|
+
const estimatedCostLink = ethers5_1.ethers.utils.formatUnits(estimatedCostJuels.toString(), 18);
|
|
87
|
+
const subBalanceLink = ethers5_1.ethers.utils.formatUnits(subInfo.balance.toString(), 18);
|
|
88
|
+
if (subInfo.balance <= estimatedCostJuels) {
|
|
89
|
+
throw Error(`Subscription ${subscriptionId} does not have sufficient funds. The estimated cost is ${estimatedCostLink} LINK, but the subscription only has ${subBalanceLink} LINK.`);
|
|
90
|
+
}
|
|
91
|
+
const encryptedSecrets = await secretsManager.encryptSecrets(config_1.default.secrets);
|
|
92
|
+
// DONHoster secrets
|
|
93
|
+
const { version } = await secretsManager.uploadEncryptedSecretsToDON({
|
|
94
|
+
encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
|
|
95
|
+
gatewayUrls: network.gatewayUrls,
|
|
96
|
+
slotId,
|
|
97
|
+
minutesUntilExpiration: 5,
|
|
98
|
+
});
|
|
99
|
+
const encryptedSecretsReference = await secretsManager.buildDONHostedEncryptedSecretsReference({
|
|
100
|
+
slotId,
|
|
101
|
+
version,
|
|
102
|
+
});
|
|
103
|
+
const responseListener = new functions_toolkit_1.ResponseListener({
|
|
104
|
+
provider: signerV5.provider,
|
|
105
|
+
functionsRouterAddress,
|
|
106
|
+
});
|
|
107
|
+
console.log(`Waiting for transaction for RAACPrimeRateOracle contract ${contractAddress} on network ${network.name} to be confirmed...`);
|
|
108
|
+
const overrides = {
|
|
109
|
+
gasLimit: 1_500_000,
|
|
110
|
+
};
|
|
111
|
+
const requestTx = await consumerContract.sendRequest([], [], overrides);
|
|
112
|
+
const requestTxReceipt = await requestTx.wait(1);
|
|
113
|
+
console.log(`Transaction confirmed, see https://sepolia.etherscan.io/tx/${requestTx.hash} for more details.`);
|
|
114
|
+
console.log(`Functions request has been initiated in transaction ${requestTx.hash} with request ID ${requestTxReceipt?.events[2]?.args?.id}. Note the request ID may change if a re-org occurs, but the transaction hash will remain constant.\nWaiting for fulfillment from the Decentralized Oracle Network...\n`);
|
|
115
|
+
try {
|
|
116
|
+
// localFunctionsTestnet needs 0 or 1 confirmations to work correctly as it's local.
|
|
117
|
+
// If on live testnet or mainnet, setting to undefined then uses the functions-toolkit default of 2 confirmations.
|
|
118
|
+
const NUM_CONFIRMATIONS = network.confirmations;
|
|
119
|
+
// Get response data
|
|
120
|
+
const { requestId, totalCostInJuels, responseBytesHexstring, errorString, fulfillmentCode, } = await responseListener.listenForResponseFromTransaction(requestTx.hash, undefined, NUM_CONFIRMATIONS, undefined);
|
|
121
|
+
switch (fulfillmentCode) {
|
|
122
|
+
case functions_toolkit_1.FulfillmentCode.FULFILLED:
|
|
123
|
+
if (responseBytesHexstring !== "0x") {
|
|
124
|
+
console.log(`Request ${requestId} fulfilled!\nResponse has been sent to consumer contract: ${(0, functions_toolkit_1.decodeResult)(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
125
|
+
}
|
|
126
|
+
else if (errorString.length > 0) {
|
|
127
|
+
console.error(`Request ${requestId} fulfilled with error: ${errorString}\n`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.warn(`Request ${requestId} fulfilled with empty response data.\n`);
|
|
131
|
+
}
|
|
132
|
+
const linkCost = ethers5_1.ethers.utils.formatUnits(totalCostInJuels.toString(), 18);
|
|
133
|
+
console.log(`Total request cost: ${linkCost + " LINK"}`);
|
|
134
|
+
break;
|
|
135
|
+
case functions_toolkit_1.FulfillmentCode.USER_CALLBACK_ERROR:
|
|
136
|
+
console.error("Error encountered when calling consumer contract callback.\nEnsure the fulfillRequest function in RAACPrimeRateOracle is correct and the --callbackgaslimit is sufficient.");
|
|
137
|
+
break;
|
|
138
|
+
case functions_toolkit_1.FulfillmentCode.COST_EXCEEDS_COMMITMENT:
|
|
139
|
+
console.error(`Request ${requestId} failed due to a gas price spike when attempting to respond.`);
|
|
140
|
+
break;
|
|
141
|
+
default:
|
|
142
|
+
console.error(`Request ${requestId} failed with fulfillment code: ${fulfillmentCode}. Please contact Chainlink support.`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
console.error("Request fulfillment was not received within 5 minute response period.");
|
|
147
|
+
throw error;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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.simulate = simulate;
|
|
7
|
+
const functions_toolkit_1 = require("@chainlink/functions-toolkit");
|
|
8
|
+
const config_1 = __importDefault(require("./config"));
|
|
9
|
+
async function simulate() {
|
|
10
|
+
// Simulate the request first
|
|
11
|
+
const sourceFetch = await fetch(config_1.default.sourceURL);
|
|
12
|
+
const source = await sourceFetch.text();
|
|
13
|
+
console.log("Reading source from URL: ", config_1.default.sourceURL);
|
|
14
|
+
const { responseBytesHexstring, errorString } = await (0, functions_toolkit_1.simulateScript)({
|
|
15
|
+
...config_1.default,
|
|
16
|
+
source,
|
|
17
|
+
});
|
|
18
|
+
if (responseBytesHexstring) {
|
|
19
|
+
console.log(`\nResponse returned by script during local simulation: ${(0, functions_toolkit_1.decodeResult)(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
20
|
+
}
|
|
21
|
+
if (errorString) {
|
|
22
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
23
|
+
}
|
|
24
|
+
console.log("Local simulation of source code completed...");
|
|
25
|
+
}
|
|
@@ -33,9 +33,8 @@ function getLendingPoolAdapterByAddress(chainId, address) {
|
|
|
33
33
|
throw new Error("Adapter not found in config.");
|
|
34
34
|
return adaptersConfig[matchKey];
|
|
35
35
|
}
|
|
36
|
-
async function getLendingPoolContract(chainId) {
|
|
36
|
+
async function getLendingPoolContract(chainId, providerOrProvider) {
|
|
37
37
|
const lendingPoolAddress = (0, getContractAddress_1.default)(chainId, "lendingpool");
|
|
38
38
|
const lendingPoolABI = (0, artifacts_1.getABI)("lendingpool");
|
|
39
|
-
|
|
40
|
-
return new ethers_1.ethers.Contract(lendingPoolAddress, lendingPoolABI, provider);
|
|
39
|
+
return new ethers_1.ethers.Contract(lendingPoolAddress, lendingPoolABI, providerOrProvider);
|
|
41
40
|
}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
4
|
const artifacts_1 = require("../../../../utils/artifacts");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const getAdapterAddress_1 = require("../../getAdapterAddress");
|
|
6
|
+
async function getERC721AdapterDeposits(chainId, adapterName, userAddress, provider) {
|
|
7
|
+
if (!provider) {
|
|
7
8
|
throw new Error("Wallet not connected");
|
|
8
9
|
}
|
|
9
10
|
try {
|
|
10
11
|
const abi = (0, artifacts_1.getABI)("erc721assetadapter");
|
|
11
|
-
const adapterContract = new ethers_1.ethers.Contract(
|
|
12
|
+
const adapterContract = new ethers_1.ethers.Contract((0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName), abi, provider);
|
|
12
13
|
const depositedTokens = await adapterContract.getDepositedTokens(userAddress);
|
|
13
14
|
return depositedTokens;
|
|
14
15
|
}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
4
|
const artifacts_1 = require("../../../../utils/artifacts");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const getAdapterAddress_1 = require("../../getAdapterAddress");
|
|
6
|
+
async function getERC721AdapterInfo(chainId, adapterName, provider) {
|
|
7
|
+
if (!provider) {
|
|
7
8
|
throw new Error("Wallet not connected");
|
|
8
9
|
}
|
|
9
10
|
try {
|
|
10
11
|
const abi = (0, artifacts_1.getABI)("erc721assetadapter");
|
|
11
|
-
const adapterContract = new ethers_1.ethers.Contract(
|
|
12
|
+
const adapterContract = new ethers_1.ethers.Contract((0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName), abi, provider);
|
|
12
13
|
const [token, priceOracle, lendingPool, assetType, supportsPartialWithdraw] = await Promise.all([
|
|
13
14
|
adapterContract.token(),
|
|
14
15
|
adapterContract.priceOracle(),
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const getAdapterAddress_1 = require("./getAdapterAddress");
|
|
4
4
|
const _helpers_1 = require("./_helpers");
|
|
5
|
-
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
async function borrowFromLendingPool(chainId, adapterName, amount, data, signer) {
|
|
6
7
|
try {
|
|
7
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
8
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
|
|
8
9
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
9
10
|
if (!adapterAddress) {
|
|
10
11
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
11
12
|
}
|
|
12
|
-
const
|
|
13
|
+
const amountInWei = ethers_1.ethers.parseEther(amount);
|
|
14
|
+
const tx = await lendingPoolContract.borrow(adapterAddress, data, amountInWei);
|
|
13
15
|
const receipt = await tx.wait();
|
|
14
16
|
return receipt.status === 1;
|
|
15
17
|
}
|
|
@@ -1,17 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
3
7
|
const getAdapterAddress_1 = require("./getAdapterAddress");
|
|
4
8
|
const _helpers_1 = require("./_helpers");
|
|
9
|
+
const checkAllowance_1 = __importDefault(require("../../methods/commons/checkAllowance"));
|
|
10
|
+
const approveAsset_1 = __importDefault(require("../../wallet/assets/approveAsset"));
|
|
11
|
+
const calculateInsuranceFee_1 = __importDefault(require("./calculateInsuranceFee"));
|
|
12
|
+
const contracts_1 = require("../../utils/contracts");
|
|
5
13
|
// TODO: interface changed
|
|
6
|
-
async function borrowFromLendingPoolWithInsurance(chainId, adapterName, amount, data) {
|
|
14
|
+
async function borrowFromLendingPoolWithInsurance(chainId, adapterName, amount, data, signer) {
|
|
7
15
|
try {
|
|
8
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
16
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
|
|
9
17
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
10
18
|
if (!adapterAddress) {
|
|
11
19
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
12
20
|
}
|
|
13
|
-
const
|
|
21
|
+
const userAddress = await signer.getAddress();
|
|
22
|
+
const lendingPoolAddress = await lendingPoolContract.getAddress();
|
|
23
|
+
const feeCollectorAddress = (0, contracts_1.getContractAddress)(chainId, "feecollector");
|
|
24
|
+
// Calculate the insurance fee they need to pay
|
|
25
|
+
const insuranceFee = await (0, calculateInsuranceFee_1.default)(chainId, adapterName, userAddress, data, amount, signer.provider);
|
|
26
|
+
console.log(`Insurance fee required: ${ethers_1.ethers.formatEther(insuranceFee)} crvUSD`);
|
|
27
|
+
// Check if the user has approved enough crvUSD for the insurance fee
|
|
28
|
+
// TODO: With the new changes, need to check approval towards the lending pool address
|
|
29
|
+
const currentAllowance = await (0, checkAllowance_1.default)(chainId, "crvusd", userAddress, feeCollectorAddress, signer.provider);
|
|
30
|
+
// If allowance is less than the insurance fee, approve it
|
|
31
|
+
if (currentAllowance < insuranceFee) {
|
|
32
|
+
const amountToApprove = insuranceFee;
|
|
33
|
+
await (0, approveAsset_1.default)(chainId, "crvusd",
|
|
34
|
+
// TODO: With the new changes, need to approve towards the lending pool address
|
|
35
|
+
feeCollectorAddress, ethers_1.ethers.formatEther(amountToApprove), signer);
|
|
36
|
+
console.log(`Approved ${ethers_1.ethers.formatEther(insuranceFee)} crvUSD for insurance fee`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log(`Already approved sufficient crvUSD for insurance fee: ${ethers_1.ethers.formatEther(currentAllowance)}`);
|
|
40
|
+
}
|
|
41
|
+
// Now proceed with the borrow transaction
|
|
42
|
+
const amountInWei = ethers_1.ethers.parseEther(amount);
|
|
43
|
+
const tx = await lendingPoolContract.borrowWithInsurance(adapterAddress, data, amountInWei);
|
|
14
44
|
const receipt = await tx.wait();
|
|
45
|
+
console.log(`Borrowed with insurance successfully. Transaction hash: ${receipt?.hash}`);
|
|
15
46
|
return receipt.status === 1;
|
|
16
47
|
}
|
|
17
48
|
catch (error) {
|
|
@@ -10,9 +10,9 @@ async function calculateInsuranceFee(chainId, adapterName, userAddress, data, am
|
|
|
10
10
|
if (!adapterAddress) {
|
|
11
11
|
throw new Error(`Adapter ${adapterName} not found`);
|
|
12
12
|
}
|
|
13
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
13
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
14
14
|
const amountInWei = ethers_1.ethers.parseEther(amount);
|
|
15
|
-
const fee = await lendingPoolContract.calculateInsuranceFee(adapterAddress, userAddress, data, amountInWei
|
|
15
|
+
const fee = await lendingPoolContract.calculateInsuranceFee(adapterAddress, userAddress, data, amountInWei);
|
|
16
16
|
console.log(`Insurance fee: ${ethers_1.ethers.formatEther(fee)}`);
|
|
17
17
|
return fee;
|
|
18
18
|
}
|
|
@@ -11,9 +11,9 @@ const _helpers_1 = require("./_helpers");
|
|
|
11
11
|
* @param data
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
|
-
async function closeLiquidation(chainId, adapterName, data) {
|
|
14
|
+
async function closeLiquidation(chainId, adapterName, data, signer) {
|
|
15
15
|
try {
|
|
16
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
16
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
|
|
17
17
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
18
18
|
if (!adapterAddress) {
|
|
19
19
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const getAdapterAddress_1 = require("./getAdapterAddress");
|
|
4
4
|
const _helpers_1 = require("./_helpers");
|
|
5
5
|
// TODO: interface changed
|
|
6
|
-
async function depositAssetToLendingPool(chainId, adapterName, data) {
|
|
6
|
+
async function depositAssetToLendingPool(chainId, adapterName, data, signer) {
|
|
7
7
|
try {
|
|
8
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
8
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
|
|
9
9
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
10
10
|
if (!adapterAddress) {
|
|
11
11
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ethers_1 = require("ethers");
|
|
4
4
|
const _helpers_1 = require("./_helpers");
|
|
5
|
+
const errorDecoder_1 = require("../../utils/errorDecoder");
|
|
5
6
|
// checked
|
|
6
7
|
async function depositToLendingPool(chainId, amount, signer) {
|
|
7
8
|
if (!signer) {
|
|
8
9
|
throw new Error("Wallet not connected");
|
|
9
10
|
}
|
|
10
11
|
try {
|
|
11
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
12
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, signer);
|
|
12
13
|
const amountInWei = ethers_1.ethers.parseEther(amount);
|
|
13
14
|
// const { maxFeePerGas } = await estimateGasPrice(signer);
|
|
14
15
|
const depositTx = await lendingPoolContract.deposit(amountInWei.toString(), {
|
|
@@ -22,7 +23,8 @@ async function depositToLendingPool(chainId, amount, signer) {
|
|
|
22
23
|
}
|
|
23
24
|
catch (error) {
|
|
24
25
|
console.error(`Lending Pool Deposit error:`, error);
|
|
25
|
-
|
|
26
|
+
const message = (0, errorDecoder_1.attachDecodedError)("Lending Pool Deposit failed", error);
|
|
27
|
+
throw new Error(`${message}: ${error.message}`);
|
|
26
28
|
}
|
|
27
29
|
}
|
|
28
30
|
exports.default = depositToLendingPool;
|
|
@@ -18,16 +18,14 @@ function getAdapterAddress(chainId, adapterName) {
|
|
|
18
18
|
throw new Error(`Chain configuration not found for chain ID ${chainId}`);
|
|
19
19
|
}
|
|
20
20
|
// Search through all adapters in the chain config
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
}
|
|
21
|
+
const poolAdapters = chainConfig.adapters["lendingpool"];
|
|
22
|
+
for (const assetType in poolAdapters) {
|
|
23
|
+
const adapter = poolAdapters[assetType];
|
|
24
|
+
if (adapter.id === adapterName) {
|
|
25
|
+
return {
|
|
26
|
+
address: adapter.contract,
|
|
27
|
+
type: adapter.type
|
|
28
|
+
};
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
return null;
|
|
@@ -4,7 +4,7 @@ const index_1 = require("../../configs/chains/index");
|
|
|
4
4
|
const _helpers_1 = require("./_helpers");
|
|
5
5
|
async function getAdapters(chainId, provider) {
|
|
6
6
|
try {
|
|
7
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
7
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
8
8
|
const adapters = await lendingPoolContract.getAdapters();
|
|
9
9
|
const adapterConfig = index_1.configs[chainId].adapters;
|
|
10
10
|
return {
|
|
@@ -11,7 +11,7 @@ const _helpers_1 = require("./_helpers");
|
|
|
11
11
|
*/
|
|
12
12
|
async function getEligibleUserDeposits(chainId, address, provider) {
|
|
13
13
|
try {
|
|
14
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
14
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
15
15
|
const value = await lendingPoolContract.getEligibleUserDeposits(address);
|
|
16
16
|
console.log(`Eligible user deposits: ${ethers_1.ethers.formatEther(value)}`);
|
|
17
17
|
return value;
|
|
@@ -12,9 +12,9 @@ const _helpers_1 = require("./_helpers");
|
|
|
12
12
|
* @param provider
|
|
13
13
|
* @returns The health factor of a position (0, inf)
|
|
14
14
|
*/
|
|
15
|
-
async function getHealthFactor(chainId, adapterName, userAddress, data) {
|
|
15
|
+
async function getHealthFactor(chainId, adapterName, userAddress, data, provider) {
|
|
16
16
|
try {
|
|
17
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
17
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
18
18
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
19
19
|
if (!adapterAddress) {
|
|
20
20
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
@@ -5,7 +5,7 @@ const _helpers_1 = require("./_helpers");
|
|
|
5
5
|
const artifacts_1 = require("../../utils/artifacts");
|
|
6
6
|
async function getLendingPoolInfo(chainId, userAddress, provider) {
|
|
7
7
|
try {
|
|
8
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
8
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
9
9
|
const handleError = (operation, returnType) => (error) => {
|
|
10
10
|
if (error.code === "BAD_DATA") {
|
|
11
11
|
console.log(`BAD_DATA from ${operation} - Pool empty?`, error.messag);
|
|
@@ -39,20 +39,27 @@ async function getLendingPoolInfo(chainId, userAddress, provider) {
|
|
|
39
39
|
const maxRate = rateData?.maxRate ?? 0n;
|
|
40
40
|
const optimalUtilizationRate = rateData?.optimalUtilizationRate ?? 0n;
|
|
41
41
|
const protocolFeeRate = rateData?.protocolFeeRate ?? 0n;
|
|
42
|
+
const pendingProtocolFeeAmount = reserve?.[8];
|
|
42
43
|
// Compute APY
|
|
43
|
-
let
|
|
44
|
+
let apr;
|
|
44
45
|
if (utilization <= optimalUtilizationRate && optimalUtilizationRate > 0) {
|
|
45
|
-
|
|
46
|
-
const rateIncrease = (utilization * rateSlope) / optimalUtilizationRate;
|
|
47
|
-
apy = baseRate + rateIncrease;
|
|
46
|
+
apr = optimalRate;
|
|
48
47
|
}
|
|
49
48
|
else {
|
|
50
49
|
const excessUtilization = utilization - optimalUtilizationRate;
|
|
51
50
|
const maxExcessUtilization = BigInt(1e27) - optimalUtilizationRate;
|
|
52
|
-
const rateSlope = maxRate -
|
|
51
|
+
const rateSlope = maxRate - optimalRate;
|
|
53
52
|
const rateIncrease = (excessUtilization * rateSlope) / maxExcessUtilization;
|
|
54
|
-
|
|
53
|
+
apr = primeRate + rateIncrease;
|
|
54
|
+
apr = apr > maxRate ? maxRate : apr;
|
|
55
55
|
}
|
|
56
|
+
// compute the APY
|
|
57
|
+
// FIXME: This is not correct
|
|
58
|
+
let apy;
|
|
59
|
+
const grossLiquidityRate = utilization * currentUsageRate / BigInt(1e27);
|
|
60
|
+
const protocolFeeAmount = grossLiquidityRate * protocolFeeRate / BigInt(1e27);
|
|
61
|
+
apy = grossLiquidityRate - protocolFeeAmount;
|
|
62
|
+
console.log("apr", apy);
|
|
56
63
|
let userRedeemable = 0n;
|
|
57
64
|
if (userAddress) {
|
|
58
65
|
// Fetch user's scaled RToken balance
|
|
@@ -71,18 +78,20 @@ async function getLendingPoolInfo(chainId, userAddress, provider) {
|
|
|
71
78
|
utilization: (Number(utilization.toString()) / 1e27).toFixed(6), // Utilization as a decimal value between 0 and 1
|
|
72
79
|
liquidityIndex: (Number(liquidityIndex.toString()) / 1e27).toFixed(6),
|
|
73
80
|
usageIndex: (Number(usageIndex.toString()) / 1e27).toFixed(6),
|
|
74
|
-
currentLiquidityRate: (Number(currentLiquidityRate.toString()) / 1e25).toFixed(2)
|
|
75
|
-
currentUsageRate: (Number(currentUsageRate.toString()) / 1e25).toFixed(2)
|
|
76
|
-
primeRate: (Number(primeRate.toString()) / 1e25).toFixed(2)
|
|
77
|
-
baseRate: (Number(baseRate.toString()) / 1e25).toFixed(2)
|
|
78
|
-
optimalRate: (Number(optimalRate.toString()) / 1e25).toFixed(2)
|
|
79
|
-
maxRate: (Number(maxRate.toString()) / 1e25).toFixed(2)
|
|
81
|
+
currentLiquidityRate: (Number(currentLiquidityRate.toString()) / 1e25).toFixed(2),
|
|
82
|
+
currentUsageRate: (Number(currentUsageRate.toString()) / 1e25).toFixed(2),
|
|
83
|
+
primeRate: (Number(primeRate.toString()) / 1e25).toFixed(2),
|
|
84
|
+
baseRate: (Number(baseRate.toString()) / 1e25).toFixed(2),
|
|
85
|
+
optimalRate: (Number(optimalRate.toString()) / 1e25).toFixed(2),
|
|
86
|
+
maxRate: (Number(maxRate.toString()) / 1e25).toFixed(2),
|
|
80
87
|
optimalUtilizationRate: (Number(optimalUtilizationRate.toString()) / 1e27).toFixed(6),
|
|
81
|
-
protocolFeeRate: (Number(protocolFeeRate.toString()) / 1e25).toFixed(2)
|
|
88
|
+
protocolFeeRate: (Number(protocolFeeRate.toString()) / 1e25).toFixed(2),
|
|
82
89
|
normalizedIncome: (Number(normalizedIncome.toString()) / 1e27).toFixed(6),
|
|
83
90
|
normalizedDebt: (Number(normalizedDebt.toString()) / 1e27).toFixed(6),
|
|
84
|
-
apy: (Number(apy.toString()) / 1e25).toFixed(2)
|
|
91
|
+
apy: (Number(apy.toString()) / 1e25).toFixed(2),
|
|
85
92
|
userRedeemable: ethers_1.ethers.formatEther(userRedeemable ?? 0n),
|
|
93
|
+
apr: (Number(apr.toString()) / 1e25).toFixed(2),
|
|
94
|
+
pendingProtocolFeeAmount: ethers_1.ethers.formatEther(pendingProtocolFeeAmount),
|
|
86
95
|
};
|
|
87
96
|
return result;
|
|
88
97
|
}
|
|
@@ -5,7 +5,7 @@ const _helpers_1 = require("./_helpers");
|
|
|
5
5
|
// @deprecated
|
|
6
6
|
async function getLendingPoolTotalLiquidity(chainId, provider) {
|
|
7
7
|
try {
|
|
8
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
8
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
9
9
|
const reserve = (await lendingPoolContract.reserve());
|
|
10
10
|
const totalLiquidity = reserve.totalLiquidity;
|
|
11
11
|
return totalLiquidity;
|
|
@@ -3,21 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const _helpers_1 = require("./_helpers");
|
|
4
4
|
async function getParameters(chainId, provider) {
|
|
5
5
|
try {
|
|
6
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
7
|
-
const [canPaybackDebt, withdrawalsPaused, liquidationThreshold,
|
|
6
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
7
|
+
const [canPaybackDebt, withdrawalsPaused, liquidationThreshold, liquidationGracePeriod, insuranceFee, depositFee, liquidityBufferRatio, supplyCap, borrowCap, vaultOpeningFee, borrowThreshold,] = await lendingPoolContract.parameters();
|
|
8
8
|
const parameters = {
|
|
9
9
|
canPaybackDebt,
|
|
10
10
|
withdrawalsPaused,
|
|
11
11
|
liquidationThreshold,
|
|
12
|
-
healthFactorLiquidationThreshold,
|
|
13
12
|
liquidationGracePeriod,
|
|
14
13
|
insuranceFee,
|
|
15
14
|
depositFee,
|
|
16
15
|
liquidityBufferRatio,
|
|
17
16
|
supplyCap,
|
|
18
17
|
borrowCap,
|
|
19
|
-
withdrawTimelockDuration,
|
|
20
18
|
vaultOpeningFee,
|
|
19
|
+
borrowThreshold,
|
|
21
20
|
};
|
|
22
21
|
return parameters;
|
|
23
22
|
}
|
|
@@ -10,9 +10,9 @@ const _helpers_1 = require("./_helpers");
|
|
|
10
10
|
* @param provider
|
|
11
11
|
* @returns The raw debt of the user on a NFT
|
|
12
12
|
*/
|
|
13
|
-
async function getPositionDebt(chainId, adapterName, userAddress, data) {
|
|
13
|
+
async function getPositionDebt(chainId, adapterName, userAddress, data, provider) {
|
|
14
14
|
try {
|
|
15
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
15
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
16
16
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
17
17
|
if (!adapterAddress) {
|
|
18
18
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
@@ -12,9 +12,9 @@ const _helpers_1 = require("./_helpers");
|
|
|
12
12
|
* @param data
|
|
13
13
|
* @returns The debt of the user on a NFT with the accured interest
|
|
14
14
|
*/
|
|
15
|
-
async function getPositionScaledDebt(chainId, adapterName, userAddress, data) {
|
|
15
|
+
async function getPositionScaledDebt(chainId, adapterName, userAddress, data, provider) {
|
|
16
16
|
try {
|
|
17
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
17
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
18
18
|
const adapterAddress = (0, getAdapterAddress_1.getAdapterAddressOnly)(chainId, adapterName);
|
|
19
19
|
if (!adapterAddress) {
|
|
20
20
|
throw new Error(`Adapter ${adapterName} not found for chain ${chainId}`);
|
|
@@ -33,7 +33,7 @@ async function getPositionView(chainId, adapterName, userAddress, data, provider
|
|
|
33
33
|
if (!adapterAddress) {
|
|
34
34
|
throw new Error(`Adapter ${adapterName} not found`);
|
|
35
35
|
}
|
|
36
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
36
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
37
37
|
const position = await lendingPoolContract.getPositionView(adapterAddress, userAddress, data);
|
|
38
38
|
return transformPositionView(position);
|
|
39
39
|
}
|
|
@@ -12,7 +12,7 @@ const _helpers_1 = require("./_helpers");
|
|
|
12
12
|
*/
|
|
13
13
|
async function getPositionsScaledDebt(chainId, address, provider) {
|
|
14
14
|
try {
|
|
15
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
15
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
16
16
|
const reward = await lendingPoolContract.getPositionsScaledDebt(address);
|
|
17
17
|
console.log(`getPositionsScaledDebt result: ${ethers_1.ethers.formatEther(reward)}`);
|
|
18
18
|
return reward;
|
|
@@ -5,7 +5,7 @@ const _helpers_1 = require("./_helpers");
|
|
|
5
5
|
// Get the amount of RToken RAW deposit in the lending pool, without the accured interest
|
|
6
6
|
async function getRawUserDepositsInLendingPool(chainId, address, provider) {
|
|
7
7
|
try {
|
|
8
|
-
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId);
|
|
8
|
+
const lendingPoolContract = await (0, _helpers_1.getLendingPoolContract)(chainId, provider);
|
|
9
9
|
const value = await lendingPoolContract.getUserDeposits(address);
|
|
10
10
|
console.log(`User deposits in lending pool: ${ethers_1.ethers.formatEther(value)}`);
|
|
11
11
|
return value;
|