@raac/rpc 1.1.0-beta.9 → 1.1.0-beta.91
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/1.json +197 -0
- package/dist/configs/chains/11155111.json +80 -20
- package/dist/configs/chains/17000.json +35 -0
- package/dist/configs/chains/18453.json +197 -0
- package/dist/configs/chains/8453.json +71 -18
- package/dist/configs/chains/index.js +4 -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 +14 -0
- package/dist/oracles/encryptSecrets.js +15 -0
- package/dist/oracles/houses/config.js +20 -0
- package/dist/oracles/houses/request.js +147 -0
- package/dist/oracles/houses/simulate.js +22 -0
- package/dist/oracles/prime-rate/config.js +17 -0
- package/dist/oracles/prime-rate/request.js +140 -0
- package/dist/oracles/prime-rate/simulate.js +26 -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 +210 -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 +7 -3
- package/dist/types/configs/index.d.ts +3 -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 +2 -0
- package/dist/types/oracles/houses/config.d.ts +12 -0
- package/dist/types/oracles/houses/request.d.ts +3 -0
- package/dist/types/oracles/houses/simulate.d.ts +1 -0
- package/dist/types/oracles/prime-rate/config.d.ts +13 -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 +6 -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 +2 -6
- 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 +9 -5
- package/package.json +11 -8
- 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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encryptSecretURLs = encryptSecretURLs;
|
|
4
|
+
const chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
5
|
+
async function encryptSecretURLs(chainId, urls, signer) {
|
|
6
|
+
const { chain, network } = chainlinkjs_1.utils.getChainAndNetwork(chainId);
|
|
7
|
+
const secretsConnector = new chainlinkjs_1.connectors.ChainlinkSecretsConnector(signer, { chain, network });
|
|
8
|
+
const encryptedSecrets = await secretsConnector.encryptSecretsUrls(urls);
|
|
9
|
+
const isVerified = await secretsConnector.verifyOffchainSecrets(urls);
|
|
10
|
+
if (!isVerified) {
|
|
11
|
+
throw new Error("Offchain secrets verification failed");
|
|
12
|
+
}
|
|
13
|
+
return { encryptedSecrets, isVerified };
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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.encryptSecrets = encryptSecrets;
|
|
7
|
+
const chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
async function encryptSecrets(chainId, secrets, outputFile, signer) {
|
|
10
|
+
const { chain, network } = chainlinkjs_1.utils.getChainAndNetwork(chainId);
|
|
11
|
+
const secretsConnector = new chainlinkjs_1.connectors.ChainlinkSecretsConnector(signer, chain, network);
|
|
12
|
+
const encryptedSecrets = await secretsConnector.encryptSecrets(secrets);
|
|
13
|
+
fs_1.default.writeFileSync(outputFile, JSON.stringify(encryptedSecrets, null, 2), { encoding: 'utf8' });
|
|
14
|
+
return encryptedSecrets;
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
8
|
+
const { Location, ReturnType, CodeLanguage } = chainlinkjs_1.enums;
|
|
9
|
+
const requestConfig = {
|
|
10
|
+
source: fs_1.default.readFileSync("./oracles/houses/api.js").toString(),
|
|
11
|
+
codeLocation: Location.Inline,
|
|
12
|
+
// Optional
|
|
13
|
+
secrets: { apiKey: process.env.RAAC_HOUSING_API_KEY ?? "" },
|
|
14
|
+
// Optional
|
|
15
|
+
secretsLocation: Location.DONHosted,
|
|
16
|
+
args: [],
|
|
17
|
+
codeLanguage: CodeLanguage.JavaScript,
|
|
18
|
+
expectedReturnType: ReturnType.uint256,
|
|
19
|
+
};
|
|
20
|
+
exports.default = requestConfig;
|
|
@@ -0,0 +1,147 @@
|
|
|
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.generateSecretReference = generateSecretReference;
|
|
7
|
+
exports.request = request;
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const ethers_1 = require("ethers");
|
|
10
|
+
const chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
11
|
+
const { decodeResult, simulateScript, decomposeFromChainId } = chainlinkjs_1.utils;
|
|
12
|
+
const { ChainlinkFunctionConnector, ChainlinkSecretsConnector } = chainlinkjs_1.connectors;
|
|
13
|
+
const FulfillmentCode = chainlinkjs_1.enums.FulfillmentCode;
|
|
14
|
+
const ResponseListener = chainlinkjs_1.listeners.ResponseListener;
|
|
15
|
+
const config_1 = __importDefault(require("./config"));
|
|
16
|
+
const getContractAddress_1 = __importDefault(require("../../contracts/getContractAddress"));
|
|
17
|
+
const artifacts_1 = require("../../utils/artifacts");
|
|
18
|
+
const subscriptionIds = {
|
|
19
|
+
8453: 4392,
|
|
20
|
+
17000: 4392,
|
|
21
|
+
11155111: 4392,
|
|
22
|
+
18453: 4392,
|
|
23
|
+
};
|
|
24
|
+
async function generateSecretReference(chainId, secrets, signer) {
|
|
25
|
+
const slotId = 0;
|
|
26
|
+
const { chain, network } = decomposeFromChainId(chainId);
|
|
27
|
+
const secretsManager = new ChainlinkSecretsConnector(signer, { chain, network });
|
|
28
|
+
const encryptedSecrets = await secretsManager.encryptSecrets(secrets);
|
|
29
|
+
fs_1.default.writeFileSync("encryptedFunctionsBeaconSecrets.json", JSON.stringify(encryptedSecrets, null, 2), { encoding: 'utf8' });
|
|
30
|
+
// DONHoster secrets
|
|
31
|
+
// const { version } = await secretsManager.uploadEncryptedSecretsToDON({
|
|
32
|
+
// encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
|
|
33
|
+
// gatewayUrls: network.gatewayUrls,
|
|
34
|
+
// slotId,
|
|
35
|
+
// minutesUntilExpiration: 3600,
|
|
36
|
+
// });
|
|
37
|
+
// const encryptedSecretsReference =
|
|
38
|
+
// await secretsManager.buildDONHostedEncryptedSecretsReference({
|
|
39
|
+
// slotId,
|
|
40
|
+
// version,
|
|
41
|
+
// });
|
|
42
|
+
return encryptedSecrets;
|
|
43
|
+
}
|
|
44
|
+
async function request(chainId, houseId, signer) {
|
|
45
|
+
const { chain, network } = decomposeFromChainId(chainId);
|
|
46
|
+
// Simulate the request first
|
|
47
|
+
{
|
|
48
|
+
const { responseBytesHexstring, errorString } = await simulateScript({
|
|
49
|
+
...config_1.default,
|
|
50
|
+
args: [houseId],
|
|
51
|
+
});
|
|
52
|
+
if (responseBytesHexstring) {
|
|
53
|
+
console.log(`\nResponse returned by script during local simulation: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
54
|
+
}
|
|
55
|
+
if (errorString) {
|
|
56
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
57
|
+
}
|
|
58
|
+
console.log("Local simulation of source code completed...");
|
|
59
|
+
}
|
|
60
|
+
const contractAddress = (0, getContractAddress_1.default)(chainId, "raachousepriceoracle");
|
|
61
|
+
const contractAbi = (0, artifacts_1.getABI)("raachousepriceoracle");
|
|
62
|
+
const subscriptionId = subscriptionIds[chainId];
|
|
63
|
+
const slotId = 0;
|
|
64
|
+
const callbackGasLimit = 300_000;
|
|
65
|
+
const consumerContract = new ethers_1.ethers.Contract(contractAddress, contractAbi, signer);
|
|
66
|
+
const functionsRouterAddress = network.functionsRouter;
|
|
67
|
+
const subscriptionManager = new ChainlinkFunctionConnector(signer, { chain, network });
|
|
68
|
+
const secretsManager = new ChainlinkSecretsConnector(signer, { chain, network });
|
|
69
|
+
const subInfo = await subscriptionManager.getSubscription(subscriptionId);
|
|
70
|
+
if (!subInfo.consumers
|
|
71
|
+
.map((c) => c.toLowerCase())
|
|
72
|
+
.includes(contractAddress.toLowerCase())) {
|
|
73
|
+
throw Error(`Consumer contract ${contractAddress} has not been added to subscription ${subscriptionId}`);
|
|
74
|
+
}
|
|
75
|
+
const { gasPrice } = await signer.provider.getFeeData();
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
const gasPriceWei = BigInt(Math.ceil(ethers_1.ethers.formatUnits(gasPrice, "wei").toString()));
|
|
78
|
+
const estimatedCostJuels = await subscriptionManager.estimateFunctionsRequestCost({
|
|
79
|
+
donId: subscriptionManager.donId,
|
|
80
|
+
subscriptionId,
|
|
81
|
+
callbackGasLimit,
|
|
82
|
+
gasPriceWei,
|
|
83
|
+
});
|
|
84
|
+
const estimatedCostLink = ethers_1.ethers.formatUnits(estimatedCostJuels.toString(), 18);
|
|
85
|
+
const subBalanceLink = ethers_1.ethers.parseUnits(subInfo.balance, 18);
|
|
86
|
+
if (subInfo.balance <= estimatedCostJuels) {
|
|
87
|
+
throw Error(`Subscription ${subscriptionId} does not have sufficient funds. The estimated cost is ${estimatedCostLink} LINK, but the subscription only has ${subBalanceLink} LINK.`);
|
|
88
|
+
}
|
|
89
|
+
const encryptedSecrets = await secretsManager.encryptSecrets(config_1.default.secrets);
|
|
90
|
+
// DONHoster secrets
|
|
91
|
+
const { version } = await secretsManager.uploadEncryptedSecretsToDON({
|
|
92
|
+
encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
|
|
93
|
+
gatewayUrls: network.gatewayUrls,
|
|
94
|
+
slotId,
|
|
95
|
+
minutesUntilExpiration: 86000,
|
|
96
|
+
});
|
|
97
|
+
const encryptedSecretsReference = await secretsManager.buildDONHostedEncryptedSecretsReference({
|
|
98
|
+
slotId,
|
|
99
|
+
version,
|
|
100
|
+
});
|
|
101
|
+
const responseListener = new ResponseListener({
|
|
102
|
+
provider: signer.provider,
|
|
103
|
+
functionsRouterAddress,
|
|
104
|
+
});
|
|
105
|
+
console.log(`Waiting for transaction for RAACHousePriceOracle contract ${contractAddress} on network ${network.name} to be confirmed...`);
|
|
106
|
+
const overrides = {
|
|
107
|
+
gasLimit: 1_500_000,
|
|
108
|
+
};
|
|
109
|
+
const requestTx = await consumerContract.sendRequest([houseId], [], overrides);
|
|
110
|
+
const requestTxReceipt = await requestTx.wait(1);
|
|
111
|
+
console.log(`Transaction confirmed, see https://sepolia.etherscan.io/tx/${requestTx.hash} for more details.`);
|
|
112
|
+
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`);
|
|
113
|
+
try {
|
|
114
|
+
// localFunctionsTestnet needs 0 or 1 confirmations to work correctly as it's local.
|
|
115
|
+
// If on live testnet or mainnet, setting to undefined then uses the functions-toolkit default of 2 confirmations.
|
|
116
|
+
const NUM_CONFIRMATIONS = network.confirmations;
|
|
117
|
+
// Get response data
|
|
118
|
+
const { requestId, totalCostInJuels, responseBytesHexstring, errorString, fulfillmentCode, } = await responseListener.listenForResponseFromTransaction(requestTx.hash, undefined, NUM_CONFIRMATIONS, undefined);
|
|
119
|
+
switch (fulfillmentCode) {
|
|
120
|
+
case FulfillmentCode.FULFILLED:
|
|
121
|
+
if (responseBytesHexstring !== "0x") {
|
|
122
|
+
console.log(`Request ${requestId} fulfilled!\nResponse has been sent to consumer contract: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
123
|
+
}
|
|
124
|
+
else if (errorString.length > 0) {
|
|
125
|
+
console.error(`Request ${requestId} fulfilled with error: ${errorString}\n`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
console.warn(`Request ${requestId} fulfilled with empty response data.\n`);
|
|
129
|
+
}
|
|
130
|
+
const linkCost = ethers_1.ethers.formatUnits(totalCostInJuels.toString(), 18);
|
|
131
|
+
console.log(`Total request cost: ${linkCost + " LINK"}`);
|
|
132
|
+
break;
|
|
133
|
+
case FulfillmentCode.USER_CALLBACK_ERROR:
|
|
134
|
+
console.error("Error encountered when calling consumer contract callback.\nEnsure the fulfillRequest function in RAACHousePriceOracle is correct and the --callbackgaslimit is sufficient.");
|
|
135
|
+
break;
|
|
136
|
+
case FulfillmentCode.COST_EXCEEDS_COMMITMENT:
|
|
137
|
+
console.error(`Request ${requestId} failed due to a gas price spike when attempting to respond.`);
|
|
138
|
+
break;
|
|
139
|
+
default:
|
|
140
|
+
console.error(`Request ${requestId} failed with fulfillment code: ${fulfillmentCode}. Please contact Chainlink support.`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
console.error("Request fulfillment was not received within 5 minute response period.");
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
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 chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
8
|
+
const { simulateScript, decodeResult } = chainlinkjs_1.utils;
|
|
9
|
+
const config_1 = __importDefault(require("./config"));
|
|
10
|
+
async function simulate(houseId) {
|
|
11
|
+
const { responseBytesHexstring, errorString } = await simulateScript({
|
|
12
|
+
...config_1.default,
|
|
13
|
+
args: [houseId],
|
|
14
|
+
});
|
|
15
|
+
if (responseBytesHexstring) {
|
|
16
|
+
console.log(`\nResponse returned by script during local simulation: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
17
|
+
}
|
|
18
|
+
if (errorString) {
|
|
19
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
20
|
+
}
|
|
21
|
+
console.log("Local simulation of source code completed...");
|
|
22
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
4
|
+
const { Location, ReturnType, CodeLanguage } = chainlinkjs_1.enums;
|
|
5
|
+
const requestConfig = {
|
|
6
|
+
name: "prime-rate",
|
|
7
|
+
sourceURL: "https://emerald-many-grasshopper-318.mypinata.cloud/ipfs/bafkreid3kubchc3f2sspzq25pnmnw3mppkhv46xvzg72xx7zqs2plvjbqu",
|
|
8
|
+
codeLocation: Location["Inline"],
|
|
9
|
+
// Optional
|
|
10
|
+
secrets: { apiKey: process.env.FRED_API_KEY ?? "" },
|
|
11
|
+
// Optional
|
|
12
|
+
secretsLocation: Location["DONHosted"],
|
|
13
|
+
args: [],
|
|
14
|
+
codeLanguage: CodeLanguage.JavaScript,
|
|
15
|
+
expectedReturnType: ReturnType.uint256,
|
|
16
|
+
};
|
|
17
|
+
exports.default = requestConfig;
|
|
@@ -0,0 +1,140 @@
|
|
|
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 chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
8
|
+
const { decodeResult, simulateScript, decomposeFromChainId } = chainlinkjs_1.utils;
|
|
9
|
+
const { ChainlinkFunctionConnector, ChainlinkSecretsConnector } = chainlinkjs_1.connectors;
|
|
10
|
+
const FulfillmentCode = chainlinkjs_1.enums.FulfillmentCode;
|
|
11
|
+
const ResponseListener = chainlinkjs_1.listeners.ResponseListener;
|
|
12
|
+
const ethers_1 = require("ethers");
|
|
13
|
+
const configs_1 = require("../../configs");
|
|
14
|
+
const getContractAddress_1 = __importDefault(require("../../contracts/getContractAddress"));
|
|
15
|
+
const config_1 = __importDefault(require("./config"));
|
|
16
|
+
const chainlink_networks_config_1 = __importDefault(require("../chainlink-networks-config"));
|
|
17
|
+
const artifacts_1 = require("../../utils/artifacts");
|
|
18
|
+
const subscriptionIds = {
|
|
19
|
+
8453: 4392,
|
|
20
|
+
17000: 4392,
|
|
21
|
+
11155111: 4392,
|
|
22
|
+
18453: 4392,
|
|
23
|
+
};
|
|
24
|
+
async function request(chainId, signer) {
|
|
25
|
+
const chainConfig = (0, configs_1.getChainConfig)(chainId);
|
|
26
|
+
const networkConfig = chainlink_networks_config_1.default[chainId];
|
|
27
|
+
if (!chainConfig) {
|
|
28
|
+
throw new Error(`Chain configuration not found for chainId: ${chainId}`);
|
|
29
|
+
}
|
|
30
|
+
const sourceFetch = await fetch(config_1.default.sourceURL);
|
|
31
|
+
const source = await sourceFetch.text();
|
|
32
|
+
console.log("Reading source from URL: ", config_1.default.sourceURL);
|
|
33
|
+
// Simulate the request first
|
|
34
|
+
{
|
|
35
|
+
const { responseBytesHexstring, errorString } = await simulateScript({
|
|
36
|
+
...config_1.default,
|
|
37
|
+
source,
|
|
38
|
+
});
|
|
39
|
+
if (responseBytesHexstring) {
|
|
40
|
+
console.log(`\nResponse returned by script during local simulation: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
41
|
+
}
|
|
42
|
+
if (errorString) {
|
|
43
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
44
|
+
}
|
|
45
|
+
console.log("Local simulation of source code completed...");
|
|
46
|
+
}
|
|
47
|
+
// Get the RPC endpoint from the chain config and derive a v5 provider
|
|
48
|
+
const rpcUrl = chainConfig.rpcs?.[0] ?? chainConfig.rpc ?? undefined;
|
|
49
|
+
if (!rpcUrl)
|
|
50
|
+
throw new Error("No RPC URL found in chain configuration");
|
|
51
|
+
const contractAddress = (0, getContractAddress_1.default)(chainId, "raacprimerateoracle");
|
|
52
|
+
const contractAbi = (0, artifacts_1.getABI)("raacprimerateoracle");
|
|
53
|
+
const subscriptionId = subscriptionIds[chainId];
|
|
54
|
+
const slotId = 0;
|
|
55
|
+
const callbackGasLimit = 300_000;
|
|
56
|
+
const consumerContract = new ethers_1.ethers.Contract(contractAddress, contractAbi, signer);
|
|
57
|
+
// const linkTokenAddress = network.linkToken;
|
|
58
|
+
const functionsRouterAddress = networkConfig.functionsRouter;
|
|
59
|
+
const { chain, network } = decomposeFromChainId(chainId);
|
|
60
|
+
const subscriptionManager = new ChainlinkFunctionConnector(signer, { chain, network });
|
|
61
|
+
const secretsManager = new ChainlinkSecretsConnector(signer, { chain, network });
|
|
62
|
+
const subInfo = await subscriptionManager.getSubscriptionInfo(subscriptionId);
|
|
63
|
+
if (!subInfo.consumers
|
|
64
|
+
.map((c) => c.toLowerCase())
|
|
65
|
+
.includes(contractAddress.toLowerCase())) {
|
|
66
|
+
throw Error(`Consumer contract ${contractAddress} has not been added to subscription ${subscriptionId}`);
|
|
67
|
+
}
|
|
68
|
+
const { gasPrice } = await signer.provider.getFeeData();
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
const gasPriceWei = BigInt(Math.ceil(ethers_1.ethers.formatUnits(gasPrice, "wei").toString()));
|
|
71
|
+
const estimatedCostJuels = await subscriptionManager.estimateFunctionsRequestCost({
|
|
72
|
+
donId: subscriptionManager.donId,
|
|
73
|
+
subscriptionId,
|
|
74
|
+
callbackGasLimit,
|
|
75
|
+
gasPriceWei,
|
|
76
|
+
});
|
|
77
|
+
const estimatedCostLink = ethers_1.ethers.formatUnits(estimatedCostJuels.toString(), 18);
|
|
78
|
+
const subBalanceLink = ethers_1.ethers.parseUnits(subInfo.balance.toString(), 18);
|
|
79
|
+
if (subInfo.balance <= estimatedCostJuels) {
|
|
80
|
+
throw Error(`Subscription ${subscriptionId} does not have sufficient funds. The estimated cost is ${estimatedCostLink} LINK, but the subscription only has ${subBalanceLink} LINK.`);
|
|
81
|
+
}
|
|
82
|
+
const encryptedSecrets = await secretsManager.encryptSecrets(config_1.default.secrets);
|
|
83
|
+
// DONHoster secrets
|
|
84
|
+
const { version } = await secretsManager.uploadEncryptedSecretsToDON({
|
|
85
|
+
encryptedSecretsHexstring: encryptedSecrets.encryptedSecrets,
|
|
86
|
+
gatewayUrls: network.gatewayUrls,
|
|
87
|
+
slotId,
|
|
88
|
+
minutesUntilExpiration: 5,
|
|
89
|
+
});
|
|
90
|
+
const encryptedSecretsReference = await secretsManager.buildDONHostedEncryptedSecretsReference({
|
|
91
|
+
slotId,
|
|
92
|
+
version,
|
|
93
|
+
});
|
|
94
|
+
const responseListener = new ResponseListener({
|
|
95
|
+
provider: signer.provider,
|
|
96
|
+
functionsRouterAddress,
|
|
97
|
+
});
|
|
98
|
+
console.log(`Waiting for transaction for RAACPrimeRateOracle contract ${contractAddress} on network ${networkConfig.name} to be confirmed...`);
|
|
99
|
+
const overrides = {
|
|
100
|
+
gasLimit: 1_500_000,
|
|
101
|
+
};
|
|
102
|
+
const requestTx = await consumerContract.sendRequest([], [], overrides);
|
|
103
|
+
const requestTxReceipt = await requestTx.wait(1);
|
|
104
|
+
console.log(`Transaction confirmed, see https://sepolia.etherscan.io/tx/${requestTx.hash} for more details.`);
|
|
105
|
+
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`);
|
|
106
|
+
try {
|
|
107
|
+
// localFunctionsTestnet needs 0 or 1 confirmations to work correctly as it's local.
|
|
108
|
+
// If on live testnet or mainnet, setting to undefined then uses the functions-toolkit default of 2 confirmations.
|
|
109
|
+
const NUM_CONFIRMATIONS = networkConfig.confirmations;
|
|
110
|
+
// Get response data
|
|
111
|
+
const { requestId, totalCostInJuels, responseBytesHexstring, errorString, fulfillmentCode, } = await responseListener.listenForResponseFromTransaction(requestTx.hash, undefined, NUM_CONFIRMATIONS, undefined);
|
|
112
|
+
switch (fulfillmentCode) {
|
|
113
|
+
case FulfillmentCode.FULFILLED:
|
|
114
|
+
if (responseBytesHexstring !== "0x") {
|
|
115
|
+
console.log(`Request ${requestId} fulfilled!\nResponse has been sent to consumer contract: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
116
|
+
}
|
|
117
|
+
else if (errorString.length > 0) {
|
|
118
|
+
console.error(`Request ${requestId} fulfilled with error: ${errorString}\n`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
console.warn(`Request ${requestId} fulfilled with empty response data.\n`);
|
|
122
|
+
}
|
|
123
|
+
const linkCost = ethers_1.ethers.formatUnits(totalCostInJuels.toString(), 18);
|
|
124
|
+
console.log(`Total request cost: ${linkCost + " LINK"}`);
|
|
125
|
+
break;
|
|
126
|
+
case FulfillmentCode.USER_CALLBACK_ERROR:
|
|
127
|
+
console.error("Error encountered when calling consumer contract callback.\nEnsure the fulfillRequest function in RAACPrimeRateOracle is correct and the --callbackgaslimit is sufficient.");
|
|
128
|
+
break;
|
|
129
|
+
case FulfillmentCode.COST_EXCEEDS_COMMITMENT:
|
|
130
|
+
console.error(`Request ${requestId} failed due to a gas price spike when attempting to respond.`);
|
|
131
|
+
break;
|
|
132
|
+
default:
|
|
133
|
+
console.error(`Request ${requestId} failed with fulfillment code: ${fulfillmentCode}. Please contact Chainlink support.`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.error("Request fulfillment was not received within 5 minute response period.");
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 chainlinkjs_1 = require("@raac/chainlinkjs");
|
|
8
|
+
const { simulateScript, decodeResult } = chainlinkjs_1.utils;
|
|
9
|
+
const config_1 = __importDefault(require("./config"));
|
|
10
|
+
async function simulate() {
|
|
11
|
+
// Simulate the request first
|
|
12
|
+
const sourceFetch = await fetch(config_1.default.sourceURL);
|
|
13
|
+
const source = await sourceFetch.text();
|
|
14
|
+
console.log("Reading source from URL: ", config_1.default.sourceURL);
|
|
15
|
+
const { responseBytesHexstring, errorString } = await simulateScript({
|
|
16
|
+
...config_1.default,
|
|
17
|
+
source,
|
|
18
|
+
});
|
|
19
|
+
if (responseBytesHexstring) {
|
|
20
|
+
console.log(`\nResponse returned by script during local simulation: ${decodeResult(responseBytesHexstring, config_1.default.expectedReturnType).toString()}\n`);
|
|
21
|
+
}
|
|
22
|
+
if (errorString) {
|
|
23
|
+
console.log(`\nError returned by simulated script:\n${errorString}\n`);
|
|
24
|
+
}
|
|
25
|
+
console.log("Local simulation of source code completed...");
|
|
26
|
+
}
|
|
@@ -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 {
|