From e033cbd1c49b2721cde518f925b9fbe073f8e9d4 Mon Sep 17 00:00:00 2001 From: xiaoJ <1143020035@qq.com> Date: Mon, 9 Mar 2026 10:30:50 +0800 Subject: [PATCH] add view function --- .openzeppelin/bsc-testnet.json | 183 +++++++++++++++++- abis/IYTPoolManager.json | 58 ++++++ abis/YTPoolManager.json | 58 ++++++ cache_forge/solidity-files-cache.json | 2 +- contracts/interfaces/IYTPoolManager.sol | 5 +- contracts/ytLp/core/YTPoolManager.sol | 54 +++++- deployments-ytlp.json | 14 +- ...5d09c259d5f.json => eabedd7944f1777c.json} | 2 +- out/test.s.sol/TestFun.json | 2 +- scripts/test.s.sol | 2 +- scripts/upgrade/upgradeYTPoolManager.ts | 2 +- 11 files changed, 369 insertions(+), 13 deletions(-) rename out/build-info/{d81065d09c259d5f.json => eabedd7944f1777c.json} (90%) diff --git a/.openzeppelin/bsc-testnet.json b/.openzeppelin/bsc-testnet.json index 0b725f9..f89dd6b 100644 --- a/.openzeppelin/bsc-testnet.json +++ b/.openzeppelin/bsc-testnet.json @@ -3181,7 +3181,7 @@ "label": "bool", "numberOfBytes": "1" }, - "t_struct(InitializableStorage)119_storage": { + "t_struct(InitializableStorage)73_storage": { "label": "struct Initializable.InitializableStorage", "members": [ { @@ -3199,7 +3199,7 @@ ], "numberOfBytes": "32" }, - "t_struct(ReentrancyGuardStorage)527_storage": { + "t_struct(ReentrancyGuardStorage)288_storage": { "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", "members": [ { @@ -4394,6 +4394,185 @@ ] } } + }, + "dc3d954e8140fb833cc048d63ec3b0b1c2bae49df5774f288830e88ab47eea38": { + "address": "0xf4cE104E687F5d2064481cbD5B24ED52d7C324b0", + "txHash": "0x254270c14cb61720fc0be515fb41c1ce98a62c5ae6bd9505cde700dcf0b4233e", + "layout": { + "solcVersion": "0.8.28", + "storage": [ + { + "label": "gov", + "offset": 0, + "slot": "0", + "type": "t_address", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:40" + }, + { + "label": "ytVault", + "offset": 0, + "slot": "1", + "type": "t_address", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:41" + }, + { + "label": "usdy", + "offset": 0, + "slot": "2", + "type": "t_address", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:42" + }, + { + "label": "ytLP", + "offset": 0, + "slot": "3", + "type": "t_address", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:44" + }, + { + "label": "cooldownDuration", + "offset": 0, + "slot": "4", + "type": "t_uint256", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:45" + }, + { + "label": "lastAddedAt", + "offset": 0, + "slot": "5", + "type": "t_mapping(t_address,t_uint256)", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:45" + }, + { + "label": "isHandler", + "offset": 0, + "slot": "6", + "type": "t_mapping(t_address,t_bool)", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:47" + }, + { + "label": "aumAddition", + "offset": 0, + "slot": "7", + "type": "t_uint256", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:50" + }, + { + "label": "aumDeduction", + "offset": 0, + "slot": "8", + "type": "t_uint256", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:52" + }, + { + "label": "__gap", + "offset": 0, + "slot": "9", + "type": "t_array(t_uint256)50_storage", + "contract": "YTPoolManager", + "src": "contracts/ytLp/core/YTPoolManager.sol:345" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_struct(InitializableStorage)7_storage": { + "label": "struct Initializable.InitializableStorage", + "members": [ + { + "label": "_initialized", + "type": "t_uint64", + "offset": 0, + "slot": "0" + }, + { + "label": "_initializing", + "type": "t_bool", + "offset": 8, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(ReentrancyGuardStorage)222_storage": { + "label": "struct ReentrancyGuardUpgradeable.ReentrancyGuardStorage", + "members": [ + { + "label": "_status", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint64": { + "label": "uint64", + "numberOfBytes": "8" + }, + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + } + }, + "namespaces": { + "erc7201:openzeppelin.storage.ReentrancyGuard": [ + { + "contract": "ReentrancyGuardUpgradeable", + "label": "_status", + "type": "t_uint256", + "src": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol:43", + "offset": 0, + "slot": "0" + } + ], + "erc7201:openzeppelin.storage.Initializable": [ + { + "contract": "Initializable", + "label": "_initialized", + "type": "t_uint64", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:69", + "offset": 0, + "slot": "0" + }, + { + "contract": "Initializable", + "label": "_initializing", + "type": "t_bool", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:73", + "offset": 8, + "slot": "0" + } + ] + } + } } } } diff --git a/abis/IYTPoolManager.json b/abis/IYTPoolManager.json index bdd9288..7dc9b15 100644 --- a/abis/IYTPoolManager.json +++ b/abis/IYTPoolManager.json @@ -43,6 +43,35 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "getAddLiquidityOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "usdyAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ytLPMintAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -81,6 +110,35 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_ytLPAmount", + "type": "uint256" + } + ], + "name": "getRemoveLiquidityOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "usdyAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { diff --git a/abis/YTPoolManager.json b/abis/YTPoolManager.json index 1fa4f7a..f08f8a7 100644 --- a/abis/YTPoolManager.json +++ b/abis/YTPoolManager.json @@ -480,6 +480,35 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "getAddLiquidityOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "usdyAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ytLPMintAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -518,6 +547,35 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenOut", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_ytLPAmount", + "type": "uint256" + } + ], + "name": "getRemoveLiquidityOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "usdyAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "gov", diff --git a/cache_forge/solidity-files-cache.json b/cache_forge/solidity-files-cache.json index 649d19b..5555b07 100644 --- a/cache_forge/solidity-files-cache.json +++ b/cache_forge/solidity-files-cache.json @@ -1 +1 @@ -{"_format":"","paths":{"artifacts":"out","build_infos":"out/build-info","sources":"contracts","tests":"test","scripts":"script","libraries":["lib","node_modules"]},"files":{"contracts/interfaces/ILending.sol":{"lastModificationDate":1767842610799,"contentHash":"f06be45a5443d7d6","interfaceReprHash":null,"sourceName":"contracts/interfaces/ILending.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"ILending":{"0.8.30":{"default":{"path":"ILending.sol/ILending.json","build_id":"69af2c0c93fea5ba"}}}},"seenByCompiler":true},"contracts/interfaces/IUSDY.sol":{"lastModificationDate":1765346253809,"contentHash":"8a3477ede7cfaa0c","interfaceReprHash":null,"sourceName":"contracts/interfaces/IUSDY.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IUSDY":{"0.8.30":{"default":{"path":"IUSDY.sol/IUSDY.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTAssetVault.sol":{"lastModificationDate":1766556379840,"contentHash":"dbc395c5be412774","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTAssetVault.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTAssetVault":{"0.8.30":{"default":{"path":"IYTAssetVault.sol/IYTAssetVault.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTLPToken.sol":{"lastModificationDate":1765346253809,"contentHash":"abee9b90e9f12f15","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTLPToken.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTLPToken":{"0.8.30":{"default":{"path":"IYTLPToken.sol/IYTLPToken.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTLendingPriceFeed.sol":{"lastModificationDate":1766474994409,"contentHash":"b7c0a318dc7af2e0","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTLendingPriceFeed.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTLendingPriceFeed":{"0.8.30":{"default":{"path":"IYTLendingPriceFeed.sol/IYTLendingPriceFeed.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTPoolManager.sol":{"lastModificationDate":1768190035750,"contentHash":"016f00c3ff7fc3df","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTPoolManager.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTPoolManager":{"0.8.30":{"default":{"path":"IYTPoolManager.sol/IYTPoolManager.json","build_id":"d1a89c054fac217c"}}}},"seenByCompiler":true},"contracts/interfaces/IYTPriceFeed.sol":{"lastModificationDate":1766474288042,"contentHash":"50441a6eeecde2e0","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTPriceFeed.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTPriceFeed":{"0.8.30":{"default":{"path":"IYTPriceFeed.sol/IYTPriceFeed.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTVault.sol":{"lastModificationDate":1772529343663,"contentHash":"673f1234da4d13e4","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTVault.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTVault":{"0.8.30":{"default":{"path":"IYTVault.sol/IYTVault.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLending/Configurator.sol":{"lastModificationDate":1767063651925,"contentHash":"d2e99e5b5625f774","interfaceReprHash":null,"sourceName":"contracts/ytLending/Configurator.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/ConfiguratorStorage.sol","contracts/ytLending/Lending.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingFactory.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/access/Ownable.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"Configurator":{"0.8.30":{"default":{"path":"Configurator.sol/Configurator.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/ConfiguratorStorage.sol":{"lastModificationDate":1766977808196,"contentHash":"a747affe3faecf79","interfaceReprHash":null,"sourceName":"contracts/ytLending/ConfiguratorStorage.sol","imports":["contracts/ytLending/LendingConfiguration.sol"],"versionRequirement":"^0.8.0","artifacts":{"ConfiguratorStorage":{"0.8.30":{"default":{"path":"ConfiguratorStorage.sol/ConfiguratorStorage.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLending/Lending.sol":{"lastModificationDate":1772178299722,"contentHash":"f4df6f681ed6df2b","interfaceReprHash":null,"sourceName":"contracts/ytLending/Lending.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"Lending":{"0.8.30":{"default":{"path":"Lending.sol/Lending.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/LendingConfiguration.sol":{"lastModificationDate":1766989288055,"contentHash":"843c397d4f340b4d","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingConfiguration.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"LendingConfiguration":{"0.8.30":{"default":{"path":"LendingConfiguration.sol/LendingConfiguration.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLending/LendingFactory.sol":{"lastModificationDate":1767063651927,"contentHash":"28aee6210eb5dfe1","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingFactory.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/Lending.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/access/Ownable.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingFactory":{"0.8.30":{"default":{"path":"LendingFactory.sol/LendingFactory.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/LendingMath.sol":{"lastModificationDate":1766477048954,"contentHash":"b0fcaa142fb630a4","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingMath.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"LendingMath":{"0.8.30":{"default":{"path":"LendingMath.sol/LendingMath.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/ytLending/LendingPriceFeed.sol":{"lastModificationDate":1768196714509,"contentHash":"cdabdd8519d0681a","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingPriceFeed.sol","imports":["contracts/interfaces/IYTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingPriceFeed":{"0.8.30":{"default":{"path":"LendingPriceFeed.sol/LendingPriceFeed.json","build_id":"6ba94da2911232d8"}}}},"seenByCompiler":true},"contracts/ytLending/LendingStorage.sol":{"lastModificationDate":1766989289324,"contentHash":"aa862ada10a4554d","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingStorage.sol","imports":["contracts/ytLending/LendingConfiguration.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingStorage":{"0.8.30":{"default":{"path":"LendingStorage.sol/LendingStorage.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTPoolManager.sol":{"lastModificationDate":1768190300199,"contentHash":"ba34c28523444225","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTPoolManager.sol","imports":["contracts/interfaces/IUSDY.sol","contracts/interfaces/IYTLPToken.sol","contracts/interfaces/IYTVault.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTPoolManager":{"0.8.30":{"default":{"path":"YTPoolManager.sol/YTPoolManager.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTPriceFeed.sol":{"lastModificationDate":1768275200375,"contentHash":"57500f5a5e1f991e","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTPriceFeed.sol","imports":["contracts/interfaces/IYTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTPriceFeed":{"0.8.30":{"default":{"path":"YTPriceFeed.sol/YTPriceFeed.json","build_id":"d5a7e9e3c83edc8e"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTRewardRouter.sol":{"lastModificationDate":1767063651928,"contentHash":"979f866ec51f5c6e","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTRewardRouter.sol","imports":["contracts/interfaces/IYTPoolManager.sol","contracts/interfaces/IYTVault.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTRewardRouter":{"0.8.30":{"default":{"path":"YTRewardRouter.sol/YTRewardRouter.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTVault.sol":{"lastModificationDate":1772529408272,"contentHash":"cecee5a9cc2db3a9","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTVault.sol","imports":["contracts/interfaces/IUSDY.sol","contracts/interfaces/IYTPriceFeed.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTVault":{"0.8.30":{"default":{"path":"YTVault.sol/YTVault.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/tokens/USDY.sol":{"lastModificationDate":1766473332939,"contentHash":"73e9abc74180985f","interfaceReprHash":null,"sourceName":"contracts/ytLp/tokens/USDY.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"USDY":{"0.8.30":{"default":{"path":"USDY.sol/USDY.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/ytLp/tokens/YTLPToken.sol":{"lastModificationDate":1768789622011,"contentHash":"f71a105771e8abe8","interfaceReprHash":null,"sourceName":"contracts/ytLp/tokens/YTLPToken.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTLPToken":{"0.8.30":{"default":{"path":"YTLPToken.sol/YTLPToken.json","build_id":"b2340d25e843370e"}}}},"seenByCompiler":true},"contracts/ytVault/YTAssetFactory.sol":{"lastModificationDate":1768272434559,"contentHash":"f6a45b207162e2ea","interfaceReprHash":null,"sourceName":"contracts/ytVault/YTAssetFactory.sol","imports":["contracts/ytVault/YTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTAssetFactory":{"0.8.30":{"default":{"path":"YTAssetFactory.sol/YTAssetFactory.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true},"contracts/ytVault/YTAssetVault.sol":{"lastModificationDate":1768272743637,"contentHash":"fada13af96bdea9d","interfaceReprHash":null,"sourceName":"contracts/ytVault/YTAssetVault.sol","imports":["node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTAssetVault":{"0.8.30":{"default":{"path":"YTAssetVault.sol/YTAssetVault.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true},"lib/forge-std/src/Base.sol":{"lastModificationDate":1765292993531,"contentHash":"f4bd67fdeb49a95a","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Base.sol","imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"CommonBase":{"0.8.30":{"default":{"path":"Base.sol/CommonBase.json","build_id":"6db9ae5799194aa4"}}},"ScriptBase":{"0.8.30":{"default":{"path":"Base.sol/ScriptBase.json","build_id":"6db9ae5799194aa4"}}},"TestBase":{"0.8.30":{"default":{"path":"Base.sol/TestBase.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Script.sol":{"lastModificationDate":1765292993531,"contentHash":"654eb74437773a2d","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Script.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Script":{"0.8.30":{"default":{"path":"Script.sol/Script.json","build_id":"da83adcdc70e9c94"}}}},"seenByCompiler":true},"lib/forge-std/src/StdAssertions.sol":{"lastModificationDate":1765292993531,"contentHash":"0724d2db3ccc96e9","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdAssertions.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdAssertions":{"0.8.30":{"default":{"path":"StdAssertions.sol/StdAssertions.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdChains.sol":{"lastModificationDate":1765292993531,"contentHash":"a0a8f8a4df5a6447","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdChains.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdChains":{"0.8.30":{"default":{"path":"StdChains.sol/StdChains.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdCheats.sol":{"lastModificationDate":1765292993532,"contentHash":"485a3e65b817d82d","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdCheats.sol","imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdCheats":{"0.8.30":{"default":{"path":"StdCheats.sol/StdCheats.json","build_id":"6db9ae5799194aa4"}}},"StdCheatsSafe":{"0.8.30":{"default":{"path":"StdCheats.sol/StdCheatsSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdConstants.sol":{"lastModificationDate":1765292993532,"contentHash":"23303eb7e922efe4","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdConstants.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdConstants":{"0.8.30":{"default":{"path":"StdConstants.sol/StdConstants.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdError.sol":{"lastModificationDate":1765292993532,"contentHash":"a1a86c7115e2cdf3","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdError.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdError":{"0.8.30":{"default":{"path":"StdError.sol/stdError.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdInvariant.sol":{"lastModificationDate":1765292993532,"contentHash":"0111ef959dff6f54","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdInvariant.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdInvariant":{"0.8.30":{"default":{"path":"StdInvariant.sol/StdInvariant.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdJson.sol":{"lastModificationDate":1765292993532,"contentHash":"cf004d5a53f1973f","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdJson.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdJson":{"0.8.30":{"default":{"path":"StdJson.sol/stdJson.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdMath.sol":{"lastModificationDate":1765292993532,"contentHash":"def316fb9d1b99f6","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdMath.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdMath":{"0.8.30":{"default":{"path":"StdMath.sol/stdMath.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStorage.sol":{"lastModificationDate":1765292993532,"contentHash":"f9ec7128e19ad224","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdStorage.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdStorage":{"0.8.30":{"default":{"path":"StdStorage.sol/stdStorage.json","build_id":"6db9ae5799194aa4"}}},"stdStorageSafe":{"0.8.30":{"default":{"path":"StdStorage.sol/stdStorageSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStyle.sol":{"lastModificationDate":1765292993533,"contentHash":"ee166ef95092736e","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdStyle.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"StdStyle":{"0.8.30":{"default":{"path":"StdStyle.sol/StdStyle.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdToml.sol":{"lastModificationDate":1765292993533,"contentHash":"fbba550b9a85e818","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdToml.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdToml":{"0.8.30":{"default":{"path":"StdToml.sol/stdToml.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdUtils.sol":{"lastModificationDate":1765292993533,"contentHash":"bc149bce5e4175c8","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdUtils.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdUtils":{"0.8.30":{"default":{"path":"StdUtils.sol/StdUtils.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Test.sol":{"lastModificationDate":1765292993533,"contentHash":"f56119a09f81c62c","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Test.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Test":{"0.8.30":{"default":{"path":"Test.sol/Test.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Vm.sol":{"lastModificationDate":1765292993533,"contentHash":"00c7599a02739501","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Vm.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Vm":{"0.8.30":{"default":{"path":"Vm.sol/Vm.json","build_id":"6db9ae5799194aa4"}}},"VmSafe":{"0.8.30":{"default":{"path":"Vm.sol/VmSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/console.sol":{"lastModificationDate":1765292993534,"contentHash":"bae85493a76fb054","interfaceReprHash":null,"sourceName":"lib/forge-std/src/console.sol","imports":[],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"console":{"0.8.30":{"default":{"path":"console.sol/console.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/console2.sol":{"lastModificationDate":1765292993534,"contentHash":"49a7da3dfc404603","interfaceReprHash":null,"sourceName":"lib/forge-std/src/console2.sol","imports":["lib/forge-std/src/console.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{},"seenByCompiler":true},"lib/forge-std/src/interfaces/IMulticall3.sol":{"lastModificationDate":1765292993535,"contentHash":"475b6cd2060f8001","interfaceReprHash":null,"sourceName":"lib/forge-std/src/interfaces/IMulticall3.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"IMulticall3":{"0.8.30":{"default":{"path":"IMulticall3.sol/IMulticall3.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/safeconsole.sol":{"lastModificationDate":1765292993535,"contentHash":"621653b34a6691ea","interfaceReprHash":null,"sourceName":"lib/forge-std/src/safeconsole.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"safeconsole":{"0.8.30":{"default":{"path":"safeconsole.sol/safeconsole.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol":{"lastModificationDate":1766546386401,"contentHash":"fdea4477636f062c","interfaceReprHash":null,"sourceName":"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"AggregatorV3Interface":{"0.8.30":{"default":{"path":"AggregatorV3Interface.sol/AggregatorV3Interface.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"lastModificationDate":1765941979471,"contentHash":"aeede215495e3727","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/access/Ownable.sol","imports":["node_modules/@openzeppelin/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"Ownable":{"0.8.30":{"default":{"path":"Ownable.sol/Ownable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"lastModificationDate":1765941979293,"contentHash":"1822a75bab6fed91","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC1363":{"0.8.30":{"default":{"path":"IERC1363.sol/IERC1363.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"lastModificationDate":1765941979303,"contentHash":"1a826f6d4b769022","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","imports":["node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"lastModificationDate":1765941979321,"contentHash":"ae7885d5bfccd2c9","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","imports":[],"versionRequirement":">=0.4.11","artifacts":{"IERC1967":{"0.8.30":{"default":{"path":"IERC1967.sol/IERC1967.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"lastModificationDate":1765941979324,"contentHash":"e318fc72a6d9cc43","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","imports":["node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"lastModificationDate":1765941978659,"contentHash":"7978860927b16795","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC1822Proxiable":{"0.8.30":{"default":{"path":"draft-IERC1822.sol/IERC1822Proxiable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"lastModificationDate":1765941978665,"contentHash":"9c740010cc7bb5db","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","imports":[],"versionRequirement":">=0.8.4","artifacts":{"IERC1155Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC1155Errors.json","build_id":"6db9ae5799194aa4"}}},"IERC20Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC20Errors.json","build_id":"6db9ae5799194aa4"}}},"IERC721Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC721Errors.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"lastModificationDate":1765941978854,"contentHash":"6f944b6db35e2072","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol"],"versionRequirement":"^0.8.22","artifacts":{"ERC1967Proxy":{"0.8.30":{"default":{"path":"ERC1967Proxy.sol/ERC1967Proxy.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"lastModificationDate":1765941978860,"contentHash":"4c17afdc9af158b0","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol"],"versionRequirement":"^0.8.21","artifacts":{"ERC1967Utils":{"0.8.30":{"default":{"path":"ERC1967Utils.sol/ERC1967Utils.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"lastModificationDate":1765941979488,"contentHash":"d6410a5092021245","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/Proxy.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Proxy":{"0.8.30":{"default":{"path":"Proxy.sol/Proxy.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"lastModificationDate":1765941979213,"contentHash":"ac349d9fb9a6fdba","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IBeacon":{"0.8.30":{"default":{"path":"IBeacon.sol/IBeacon.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"lastModificationDate":1765941978897,"contentHash":"93d784d4e49c0d24","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC20":{"0.8.30":{"default":{"path":"ERC20.sol/ERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"lastModificationDate":1765941979326,"contentHash":"1dcd768972ff31b3","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC20":{"0.8.30":{"default":{"path":"IERC20.sol/IERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"lastModificationDate":1765941979329,"contentHash":"c0fde354a75fbdc6","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","imports":["node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC20Metadata":{"0.8.30":{"default":{"path":"IERC20Metadata.sol/IERC20Metadata.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"lastModificationDate":1765941979520,"contentHash":"98b74406aabb3d8f","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"SafeERC20":{"0.8.30":{"default":{"path":"SafeERC20.sol/SafeERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"lastModificationDate":1765941978457,"contentHash":"3a8447ab9fbdeb3c","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Address.sol","imports":["node_modules/@openzeppelin/contracts/utils/Errors.sol"],"versionRequirement":"^0.8.20","artifacts":{"Address":{"0.8.30":{"default":{"path":"Address.sol/Address.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"lastModificationDate":1765941978577,"contentHash":"16db1f8b2f7183f5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Context.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Context":{"0.8.30":{"default":{"path":"Context.sol/Context.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"lastModificationDate":1765941979086,"contentHash":"3c9245fed7a7e4ab","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Errors.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Errors":{"0.8.30":{"default":{"path":"Errors.sol/Errors.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"lastModificationDate":1765941979541,"contentHash":"261e9fcb6515866e","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"StorageSlot":{"0.8.30":{"default":{"path":"StorageSlot.sol/StorageSlot.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"lastModificationDate":1765941979305,"contentHash":"021ac46c8076d0ee","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC165":{"0.8.30":{"default":{"path":"IERC165.sol/IERC165.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"lastModificationDate":1765941978457,"contentHash":"26b4289f55358df5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"OwnableUpgradeable":{"0.8.30":{"default":{"path":"OwnableUpgradeable.sol/OwnableUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"lastModificationDate":1765941978414,"contentHash":"6f3b98bf791c0f0c","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Initializable":{"0.8.30":{"default":{"path":"Initializable.sol/Initializable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"lastModificationDate":1765941978492,"contentHash":"37e0c31acc385d0b","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.22","artifacts":{"UUPSUpgradeable":{"0.8.30":{"default":{"path":"UUPSUpgradeable.sol/UUPSUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol":{"lastModificationDate":1765941978108,"contentHash":"5767651c8b83bf46","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC20Upgradeable":{"0.8.30":{"default":{"path":"ERC20Upgradeable.sol/ERC20Upgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"lastModificationDate":1765941977847,"contentHash":"2459bbe8cace6a48","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ContextUpgradeable":{"0.8.30":{"default":{"path":"ContextUpgradeable.sol/ContextUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol":{"lastModificationDate":1765941978466,"contentHash":"878bd4f789d4acb0","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"PausableUpgradeable":{"0.8.30":{"default":{"path":"PausableUpgradeable.sol/PausableUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"lastModificationDate":1765941978472,"contentHash":"d6d9d821da6818b5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ReentrancyGuardUpgradeable":{"0.8.30":{"default":{"path":"ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"scripts/test.s.sol":{"lastModificationDate":1772610482706,"contentHash":"e914ffdc1244936b","interfaceReprHash":null,"sourceName":"scripts/test.s.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/Script.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":"^0.8.20","artifacts":{"TestFun":{"0.8.30":{"default":{"path":"test.s.sol/TestFun.json","build_id":"d81065d09c259d5f"}}}},"seenByCompiler":true},"test/YtVault.t.sol":{"lastModificationDate":1766548343731,"contentHash":"77c51456a2396333","interfaceReprHash":null,"sourceName":"test/YtVault.t.sol","imports":["contracts/ytVault/YTAssetFactory.sol","contracts/ytVault/YTAssetVault.sol","lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Test.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"MockChainlinkPriceFeed":{"0.8.30":{"default":{"path":"YtVault.t.sol/MockChainlinkPriceFeed.json","build_id":"80549191a8197f3c"}}},"MockUSDC":{"0.8.30":{"default":{"path":"YtVault.t.sol/MockUSDC.json","build_id":"80549191a8197f3c"}}},"VaultTest":{"0.8.30":{"default":{"path":"YtVault.t.sol/VaultTest.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true}},"builds":["3dc62104ba72c6eb","69af2c0c93fea5ba","6ba94da2911232d8","6db9ae5799194aa4","7a3a00b0088e087b","80549191a8197f3c","ae1b940c327ca4d8","b2340d25e843370e","d1a89c054fac217c","d5a7e9e3c83edc8e","d81065d09c259d5f","da83adcdc70e9c94"],"profiles":{"default":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"prague","viaIR":true,"libraries":{}},"vyper":{"evmVersion":"prague","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}}},"preprocessed":false,"mocks":[]} \ No newline at end of file +{"_format":"","paths":{"artifacts":"out","build_infos":"out/build-info","sources":"contracts","tests":"test","scripts":"script","libraries":["lib","node_modules"]},"files":{"contracts/interfaces/ILending.sol":{"lastModificationDate":1767842610799,"contentHash":"f06be45a5443d7d6","interfaceReprHash":null,"sourceName":"contracts/interfaces/ILending.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"ILending":{"0.8.30":{"default":{"path":"ILending.sol/ILending.json","build_id":"69af2c0c93fea5ba"}}}},"seenByCompiler":true},"contracts/interfaces/IUSDY.sol":{"lastModificationDate":1765346253809,"contentHash":"8a3477ede7cfaa0c","interfaceReprHash":null,"sourceName":"contracts/interfaces/IUSDY.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IUSDY":{"0.8.30":{"default":{"path":"IUSDY.sol/IUSDY.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTAssetVault.sol":{"lastModificationDate":1766556379840,"contentHash":"dbc395c5be412774","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTAssetVault.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTAssetVault":{"0.8.30":{"default":{"path":"IYTAssetVault.sol/IYTAssetVault.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTLPToken.sol":{"lastModificationDate":1765346253809,"contentHash":"abee9b90e9f12f15","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTLPToken.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTLPToken":{"0.8.30":{"default":{"path":"IYTLPToken.sol/IYTLPToken.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTLendingPriceFeed.sol":{"lastModificationDate":1766474994409,"contentHash":"b7c0a318dc7af2e0","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTLendingPriceFeed.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTLendingPriceFeed":{"0.8.30":{"default":{"path":"IYTLendingPriceFeed.sol/IYTLendingPriceFeed.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTPoolManager.sol":{"lastModificationDate":1768190035750,"contentHash":"016f00c3ff7fc3df","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTPoolManager.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTPoolManager":{"0.8.30":{"default":{"path":"IYTPoolManager.sol/IYTPoolManager.json","build_id":"d1a89c054fac217c"}}}},"seenByCompiler":true},"contracts/interfaces/IYTPriceFeed.sol":{"lastModificationDate":1766474288042,"contentHash":"50441a6eeecde2e0","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTPriceFeed.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTPriceFeed":{"0.8.30":{"default":{"path":"IYTPriceFeed.sol/IYTPriceFeed.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/interfaces/IYTVault.sol":{"lastModificationDate":1772529343663,"contentHash":"673f1234da4d13e4","interfaceReprHash":null,"sourceName":"contracts/interfaces/IYTVault.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"IYTVault":{"0.8.30":{"default":{"path":"IYTVault.sol/IYTVault.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLending/Configurator.sol":{"lastModificationDate":1767063651925,"contentHash":"d2e99e5b5625f774","interfaceReprHash":null,"sourceName":"contracts/ytLending/Configurator.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/ConfiguratorStorage.sol","contracts/ytLending/Lending.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingFactory.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/access/Ownable.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"Configurator":{"0.8.30":{"default":{"path":"Configurator.sol/Configurator.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/ConfiguratorStorage.sol":{"lastModificationDate":1766977808196,"contentHash":"a747affe3faecf79","interfaceReprHash":null,"sourceName":"contracts/ytLending/ConfiguratorStorage.sol","imports":["contracts/ytLending/LendingConfiguration.sol"],"versionRequirement":"^0.8.0","artifacts":{"ConfiguratorStorage":{"0.8.30":{"default":{"path":"ConfiguratorStorage.sol/ConfiguratorStorage.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLending/Lending.sol":{"lastModificationDate":1772178299722,"contentHash":"f4df6f681ed6df2b","interfaceReprHash":null,"sourceName":"contracts/ytLending/Lending.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"Lending":{"0.8.30":{"default":{"path":"Lending.sol/Lending.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/LendingConfiguration.sol":{"lastModificationDate":1766989288055,"contentHash":"843c397d4f340b4d","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingConfiguration.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"LendingConfiguration":{"0.8.30":{"default":{"path":"LendingConfiguration.sol/LendingConfiguration.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLending/LendingFactory.sol":{"lastModificationDate":1767063651927,"contentHash":"28aee6210eb5dfe1","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingFactory.sol","imports":["contracts/interfaces/ILending.sol","contracts/interfaces/IYTLendingPriceFeed.sol","contracts/ytLending/Lending.sol","contracts/ytLending/LendingConfiguration.sol","contracts/ytLending/LendingMath.sol","contracts/ytLending/LendingStorage.sol","node_modules/@openzeppelin/contracts/access/Ownable.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingFactory":{"0.8.30":{"default":{"path":"LendingFactory.sol/LendingFactory.json","build_id":"3dc62104ba72c6eb"}}}},"seenByCompiler":true},"contracts/ytLending/LendingMath.sol":{"lastModificationDate":1766477048954,"contentHash":"b0fcaa142fb630a4","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingMath.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"LendingMath":{"0.8.30":{"default":{"path":"LendingMath.sol/LendingMath.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/ytLending/LendingPriceFeed.sol":{"lastModificationDate":1768196714509,"contentHash":"cdabdd8519d0681a","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingPriceFeed.sol","imports":["contracts/interfaces/IYTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingPriceFeed":{"0.8.30":{"default":{"path":"LendingPriceFeed.sol/LendingPriceFeed.json","build_id":"6ba94da2911232d8"}}}},"seenByCompiler":true},"contracts/ytLending/LendingStorage.sol":{"lastModificationDate":1766989289324,"contentHash":"aa862ada10a4554d","interfaceReprHash":null,"sourceName":"contracts/ytLending/LendingStorage.sol","imports":["contracts/ytLending/LendingConfiguration.sol"],"versionRequirement":"^0.8.0","artifacts":{"LendingStorage":{"0.8.30":{"default":{"path":"LendingStorage.sol/LendingStorage.json","build_id":"ae1b940c327ca4d8"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTPoolManager.sol":{"lastModificationDate":1768190300199,"contentHash":"ba34c28523444225","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTPoolManager.sol","imports":["contracts/interfaces/IUSDY.sol","contracts/interfaces/IYTLPToken.sol","contracts/interfaces/IYTVault.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTPoolManager":{"0.8.30":{"default":{"path":"YTPoolManager.sol/YTPoolManager.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTPriceFeed.sol":{"lastModificationDate":1768275200375,"contentHash":"57500f5a5e1f991e","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTPriceFeed.sol","imports":["contracts/interfaces/IYTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTPriceFeed":{"0.8.30":{"default":{"path":"YTPriceFeed.sol/YTPriceFeed.json","build_id":"d5a7e9e3c83edc8e"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTRewardRouter.sol":{"lastModificationDate":1767063651928,"contentHash":"979f866ec51f5c6e","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTRewardRouter.sol","imports":["contracts/interfaces/IYTPoolManager.sol","contracts/interfaces/IYTVault.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTRewardRouter":{"0.8.30":{"default":{"path":"YTRewardRouter.sol/YTRewardRouter.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/core/YTVault.sol":{"lastModificationDate":1772529408272,"contentHash":"cecee5a9cc2db3a9","interfaceReprHash":null,"sourceName":"contracts/ytLp/core/YTVault.sol","imports":["contracts/interfaces/IUSDY.sol","contracts/interfaces/IYTPriceFeed.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTVault":{"0.8.30":{"default":{"path":"YTVault.sol/YTVault.json","build_id":"7a3a00b0088e087b"}}}},"seenByCompiler":true},"contracts/ytLp/tokens/USDY.sol":{"lastModificationDate":1766473332939,"contentHash":"73e9abc74180985f","interfaceReprHash":null,"sourceName":"contracts/ytLp/tokens/USDY.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"USDY":{"0.8.30":{"default":{"path":"USDY.sol/USDY.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"contracts/ytLp/tokens/YTLPToken.sol":{"lastModificationDate":1768789622011,"contentHash":"f71a105771e8abe8","interfaceReprHash":null,"sourceName":"contracts/ytLp/tokens/YTLPToken.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTLPToken":{"0.8.30":{"default":{"path":"YTLPToken.sol/YTLPToken.json","build_id":"b2340d25e843370e"}}}},"seenByCompiler":true},"contracts/ytVault/YTAssetFactory.sol":{"lastModificationDate":1768272434559,"contentHash":"f6a45b207162e2ea","interfaceReprHash":null,"sourceName":"contracts/ytVault/YTAssetFactory.sol","imports":["contracts/ytVault/YTAssetVault.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTAssetFactory":{"0.8.30":{"default":{"path":"YTAssetFactory.sol/YTAssetFactory.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true},"contracts/ytVault/YTAssetVault.sol":{"lastModificationDate":1768272743637,"contentHash":"fada13af96bdea9d","interfaceReprHash":null,"sourceName":"contracts/ytVault/YTAssetVault.sol","imports":["node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"YTAssetVault":{"0.8.30":{"default":{"path":"YTAssetVault.sol/YTAssetVault.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true},"lib/forge-std/src/Base.sol":{"lastModificationDate":1765292993531,"contentHash":"f4bd67fdeb49a95a","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Base.sol","imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"CommonBase":{"0.8.30":{"default":{"path":"Base.sol/CommonBase.json","build_id":"6db9ae5799194aa4"}}},"ScriptBase":{"0.8.30":{"default":{"path":"Base.sol/ScriptBase.json","build_id":"6db9ae5799194aa4"}}},"TestBase":{"0.8.30":{"default":{"path":"Base.sol/TestBase.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Script.sol":{"lastModificationDate":1765292993531,"contentHash":"654eb74437773a2d","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Script.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Script":{"0.8.30":{"default":{"path":"Script.sol/Script.json","build_id":"da83adcdc70e9c94"}}}},"seenByCompiler":true},"lib/forge-std/src/StdAssertions.sol":{"lastModificationDate":1765292993531,"contentHash":"0724d2db3ccc96e9","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdAssertions.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdAssertions":{"0.8.30":{"default":{"path":"StdAssertions.sol/StdAssertions.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdChains.sol":{"lastModificationDate":1765292993531,"contentHash":"a0a8f8a4df5a6447","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdChains.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdChains":{"0.8.30":{"default":{"path":"StdChains.sol/StdChains.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdCheats.sol":{"lastModificationDate":1765292993532,"contentHash":"485a3e65b817d82d","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdCheats.sol","imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdCheats":{"0.8.30":{"default":{"path":"StdCheats.sol/StdCheats.json","build_id":"6db9ae5799194aa4"}}},"StdCheatsSafe":{"0.8.30":{"default":{"path":"StdCheats.sol/StdCheatsSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdConstants.sol":{"lastModificationDate":1765292993532,"contentHash":"23303eb7e922efe4","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdConstants.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdConstants":{"0.8.30":{"default":{"path":"StdConstants.sol/StdConstants.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdError.sol":{"lastModificationDate":1765292993532,"contentHash":"a1a86c7115e2cdf3","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdError.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdError":{"0.8.30":{"default":{"path":"StdError.sol/stdError.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdInvariant.sol":{"lastModificationDate":1765292993532,"contentHash":"0111ef959dff6f54","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdInvariant.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdInvariant":{"0.8.30":{"default":{"path":"StdInvariant.sol/StdInvariant.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdJson.sol":{"lastModificationDate":1765292993532,"contentHash":"cf004d5a53f1973f","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdJson.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdJson":{"0.8.30":{"default":{"path":"StdJson.sol/stdJson.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdMath.sol":{"lastModificationDate":1765292993532,"contentHash":"def316fb9d1b99f6","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdMath.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdMath":{"0.8.30":{"default":{"path":"StdMath.sol/stdMath.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStorage.sol":{"lastModificationDate":1765292993532,"contentHash":"f9ec7128e19ad224","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdStorage.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdStorage":{"0.8.30":{"default":{"path":"StdStorage.sol/stdStorage.json","build_id":"6db9ae5799194aa4"}}},"stdStorageSafe":{"0.8.30":{"default":{"path":"StdStorage.sol/stdStorageSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStyle.sol":{"lastModificationDate":1765292993533,"contentHash":"ee166ef95092736e","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdStyle.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"StdStyle":{"0.8.30":{"default":{"path":"StdStyle.sol/StdStyle.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdToml.sol":{"lastModificationDate":1765292993533,"contentHash":"fbba550b9a85e818","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdToml.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdToml":{"0.8.30":{"default":{"path":"StdToml.sol/stdToml.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/StdUtils.sol":{"lastModificationDate":1765292993533,"contentHash":"bc149bce5e4175c8","interfaceReprHash":null,"sourceName":"lib/forge-std/src/StdUtils.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdUtils":{"0.8.30":{"default":{"path":"StdUtils.sol/StdUtils.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Test.sol":{"lastModificationDate":1765292993533,"contentHash":"f56119a09f81c62c","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Test.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Test":{"0.8.30":{"default":{"path":"Test.sol/Test.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/Vm.sol":{"lastModificationDate":1765292993533,"contentHash":"00c7599a02739501","interfaceReprHash":null,"sourceName":"lib/forge-std/src/Vm.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Vm":{"0.8.30":{"default":{"path":"Vm.sol/Vm.json","build_id":"6db9ae5799194aa4"}}},"VmSafe":{"0.8.30":{"default":{"path":"Vm.sol/VmSafe.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/console.sol":{"lastModificationDate":1765292993534,"contentHash":"bae85493a76fb054","interfaceReprHash":null,"sourceName":"lib/forge-std/src/console.sol","imports":[],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"console":{"0.8.30":{"default":{"path":"console.sol/console.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/console2.sol":{"lastModificationDate":1765292993534,"contentHash":"49a7da3dfc404603","interfaceReprHash":null,"sourceName":"lib/forge-std/src/console2.sol","imports":["lib/forge-std/src/console.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{},"seenByCompiler":true},"lib/forge-std/src/interfaces/IMulticall3.sol":{"lastModificationDate":1765292993535,"contentHash":"475b6cd2060f8001","interfaceReprHash":null,"sourceName":"lib/forge-std/src/interfaces/IMulticall3.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"IMulticall3":{"0.8.30":{"default":{"path":"IMulticall3.sol/IMulticall3.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"lib/forge-std/src/safeconsole.sol":{"lastModificationDate":1765292993535,"contentHash":"621653b34a6691ea","interfaceReprHash":null,"sourceName":"lib/forge-std/src/safeconsole.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"safeconsole":{"0.8.30":{"default":{"path":"safeconsole.sol/safeconsole.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol":{"lastModificationDate":1766546386401,"contentHash":"fdea4477636f062c","interfaceReprHash":null,"sourceName":"node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","imports":[],"versionRequirement":"^0.8.0","artifacts":{"AggregatorV3Interface":{"0.8.30":{"default":{"path":"AggregatorV3Interface.sol/AggregatorV3Interface.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"lastModificationDate":1765941979471,"contentHash":"aeede215495e3727","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/access/Ownable.sol","imports":["node_modules/@openzeppelin/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"Ownable":{"0.8.30":{"default":{"path":"Ownable.sol/Ownable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"lastModificationDate":1765941979293,"contentHash":"1822a75bab6fed91","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC1363":{"0.8.30":{"default":{"path":"IERC1363.sol/IERC1363.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"lastModificationDate":1765941979303,"contentHash":"1a826f6d4b769022","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","imports":["node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"lastModificationDate":1765941979321,"contentHash":"ae7885d5bfccd2c9","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","imports":[],"versionRequirement":">=0.4.11","artifacts":{"IERC1967":{"0.8.30":{"default":{"path":"IERC1967.sol/IERC1967.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"lastModificationDate":1765941979324,"contentHash":"e318fc72a6d9cc43","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","imports":["node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"lastModificationDate":1765941978659,"contentHash":"7978860927b16795","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC1822Proxiable":{"0.8.30":{"default":{"path":"draft-IERC1822.sol/IERC1822Proxiable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"lastModificationDate":1765941978665,"contentHash":"9c740010cc7bb5db","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","imports":[],"versionRequirement":">=0.8.4","artifacts":{"IERC1155Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC1155Errors.json","build_id":"6db9ae5799194aa4"}}},"IERC20Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC20Errors.json","build_id":"6db9ae5799194aa4"}}},"IERC721Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC721Errors.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"lastModificationDate":1765941978854,"contentHash":"6f944b6db35e2072","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol"],"versionRequirement":"^0.8.22","artifacts":{"ERC1967Proxy":{"0.8.30":{"default":{"path":"ERC1967Proxy.sol/ERC1967Proxy.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"lastModificationDate":1765941978860,"contentHash":"4c17afdc9af158b0","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol"],"versionRequirement":"^0.8.21","artifacts":{"ERC1967Utils":{"0.8.30":{"default":{"path":"ERC1967Utils.sol/ERC1967Utils.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/Proxy.sol":{"lastModificationDate":1765941979488,"contentHash":"d6410a5092021245","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/Proxy.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Proxy":{"0.8.30":{"default":{"path":"Proxy.sol/Proxy.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"lastModificationDate":1765941979213,"contentHash":"ac349d9fb9a6fdba","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IBeacon":{"0.8.30":{"default":{"path":"IBeacon.sol/IBeacon.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"lastModificationDate":1765941978897,"contentHash":"93d784d4e49c0d24","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC20":{"0.8.30":{"default":{"path":"ERC20.sol/ERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"lastModificationDate":1765941979326,"contentHash":"1dcd768972ff31b3","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC20":{"0.8.30":{"default":{"path":"IERC20.sol/IERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"lastModificationDate":1765941979329,"contentHash":"c0fde354a75fbdc6","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","imports":["node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC20Metadata":{"0.8.30":{"default":{"path":"IERC20Metadata.sol/IERC20Metadata.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"lastModificationDate":1765941979520,"contentHash":"98b74406aabb3d8f","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"SafeERC20":{"0.8.30":{"default":{"path":"SafeERC20.sol/SafeERC20.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"lastModificationDate":1765941978457,"contentHash":"3a8447ab9fbdeb3c","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Address.sol","imports":["node_modules/@openzeppelin/contracts/utils/Errors.sol"],"versionRequirement":"^0.8.20","artifacts":{"Address":{"0.8.30":{"default":{"path":"Address.sol/Address.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"lastModificationDate":1765941978577,"contentHash":"16db1f8b2f7183f5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Context.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Context":{"0.8.30":{"default":{"path":"Context.sol/Context.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"lastModificationDate":1765941979086,"contentHash":"3c9245fed7a7e4ab","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/Errors.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Errors":{"0.8.30":{"default":{"path":"Errors.sol/Errors.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"lastModificationDate":1765941979541,"contentHash":"261e9fcb6515866e","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"StorageSlot":{"0.8.30":{"default":{"path":"StorageSlot.sol/StorageSlot.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"lastModificationDate":1765941979305,"contentHash":"021ac46c8076d0ee","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC165":{"0.8.30":{"default":{"path":"IERC165.sol/IERC165.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol":{"lastModificationDate":1765941978457,"contentHash":"26b4289f55358df5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"OwnableUpgradeable":{"0.8.30":{"default":{"path":"OwnableUpgradeable.sol/OwnableUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"lastModificationDate":1765941978414,"contentHash":"6f3b98bf791c0f0c","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Initializable":{"0.8.30":{"default":{"path":"Initializable.sol/Initializable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"lastModificationDate":1765941978492,"contentHash":"37e0c31acc385d0b","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.22","artifacts":{"UUPSUpgradeable":{"0.8.30":{"default":{"path":"UUPSUpgradeable.sol/UUPSUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol":{"lastModificationDate":1765941978108,"contentHash":"5767651c8b83bf46","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","imports":["node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC20Upgradeable":{"0.8.30":{"default":{"path":"ERC20Upgradeable.sol/ERC20Upgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"lastModificationDate":1765941977847,"contentHash":"2459bbe8cace6a48","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ContextUpgradeable":{"0.8.30":{"default":{"path":"ContextUpgradeable.sol/ContextUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol":{"lastModificationDate":1765941978466,"contentHash":"878bd4f789d4acb0","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol"],"versionRequirement":"^0.8.20","artifacts":{"PausableUpgradeable":{"0.8.30":{"default":{"path":"PausableUpgradeable.sol/PausableUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol":{"lastModificationDate":1765941978472,"contentHash":"d6d9d821da6818b5","interfaceReprHash":null,"sourceName":"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol","imports":["node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"],"versionRequirement":"^0.8.20","artifacts":{"ReentrancyGuardUpgradeable":{"0.8.30":{"default":{"path":"ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json","build_id":"6db9ae5799194aa4"}}}},"seenByCompiler":true},"scripts/test.s.sol":{"lastModificationDate":1772775156842,"contentHash":"031798f11a466b6f","interfaceReprHash":null,"sourceName":"scripts/test.s.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/Script.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":"^0.8.20","artifacts":{"TestFun":{"0.8.30":{"default":{"path":"test.s.sol/TestFun.json","build_id":"eabedd7944f1777c"}}}},"seenByCompiler":true},"test/YtVault.t.sol":{"lastModificationDate":1766548343731,"contentHash":"77c51456a2396333","interfaceReprHash":null,"sourceName":"test/YtVault.t.sol","imports":["contracts/ytVault/YTAssetFactory.sol","contracts/ytVault/YTAssetVault.sol","lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Test.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/safeconsole.sol","node_modules/@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol","node_modules/@openzeppelin/contracts/interfaces/IERC165.sol","node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol","node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol","node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol","node_modules/@openzeppelin/contracts/proxy/Proxy.sol","node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol","node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","node_modules/@openzeppelin/contracts/utils/Address.sol","node_modules/@openzeppelin/contracts/utils/Context.sol","node_modules/@openzeppelin/contracts/utils/Errors.sol","node_modules/@openzeppelin/contracts/utils/StorageSlot.sol","node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol","node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol"],"versionRequirement":"^0.8.0","artifacts":{"MockChainlinkPriceFeed":{"0.8.30":{"default":{"path":"YtVault.t.sol/MockChainlinkPriceFeed.json","build_id":"80549191a8197f3c"}}},"MockUSDC":{"0.8.30":{"default":{"path":"YtVault.t.sol/MockUSDC.json","build_id":"80549191a8197f3c"}}},"VaultTest":{"0.8.30":{"default":{"path":"YtVault.t.sol/VaultTest.json","build_id":"80549191a8197f3c"}}}},"seenByCompiler":true}},"builds":["3dc62104ba72c6eb","69af2c0c93fea5ba","6ba94da2911232d8","6db9ae5799194aa4","7a3a00b0088e087b","80549191a8197f3c","ae1b940c327ca4d8","b2340d25e843370e","d1a89c054fac217c","d5a7e9e3c83edc8e","da83adcdc70e9c94","eabedd7944f1777c"],"profiles":{"default":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"prague","viaIR":true,"libraries":{}},"vyper":{"evmVersion":"prague","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}}},"preprocessed":false,"mocks":[]} \ No newline at end of file diff --git a/contracts/interfaces/IYTPoolManager.sol b/contracts/interfaces/IYTPoolManager.sol index 239d11e..311f36d 100644 --- a/contracts/interfaces/IYTPoolManager.sol +++ b/contracts/interfaces/IYTPoolManager.sol @@ -21,6 +21,7 @@ interface IYTPoolManager { function getPrice(bool _maximise) external view returns (uint256); function getAumInUsdy(bool _maximise) external view returns (uint256); + function getAddLiquidityOutput(address _token, uint256 _amount) external view returns (uint256 usdyAmount, uint256 ytLPMintAmount); + function getRemoveLiquidityOutput(address _tokenOut, uint256 _ytLPAmount) external view returns (uint256 usdyAmount, uint256 amountOut); function onLPTransfer(address _from, address _to) external; -} - +} \ No newline at end of file diff --git a/contracts/ytLp/core/YTPoolManager.sol b/contracts/ytLp/core/YTPoolManager.sol index 95ae72b..11d433a 100644 --- a/contracts/ytLp/core/YTPoolManager.sol +++ b/contracts/ytLp/core/YTPoolManager.sol @@ -286,10 +286,60 @@ contract YTPoolManager is Initializable, UUPSUpgradeable, ReentrancyGuardUpgrade return aum; } + /** + * @notice 预估添加流动性能获得的 ytLP 数量 + * @param _token 存入的 token 地址 + * @param _amount 存入的 token 数量 + * @return usdyAmount 扣除手续费后实际得到的 USDY 数量 + * @return ytLPMintAmount 预计铸造的 ytLP 数量 + */ + function getAddLiquidityOutput( + address _token, + uint256 _amount + ) external view returns (uint256 usdyAmount, uint256 ytLPMintAmount) { + // 模拟 buyUSDY:token → USDY(含动态手续费) + uint256 price = IYTVault(ytVault).getMinPrice(_token); + uint256 rawUsdyAmount = _amount * price / PRICE_PRECISION; + uint256 feeBasisPoints = IYTVault(ytVault).getSwapFeeBasisPoints(_token, usdy, rawUsdyAmount); + uint256 amountAfterFees = _amount - (_amount * feeBasisPoints / BASIS_POINTS_DIVISOR); + usdyAmount = amountAfterFees * price / PRICE_PRECISION; + + // 模拟 _addLiquidity:USDY → ytLP mint 数量 + uint256 aumInUsdy = getAumInUsdy(true); + uint256 ytLPSupply = IERC20(ytLP).totalSupply(); + if (ytLPSupply == 0) { + ytLPMintAmount = usdyAmount; + } else { + ytLPMintAmount = usdyAmount * ytLPSupply / aumInUsdy; + } + } + + /** + * @notice 预估移除流动性能获得的 token 数量 + * @param _tokenOut 取出的 token 地址 + * @param _ytLPAmount 销毁的 ytLP 数量 + * @return usdyAmount ytLP 对应的 USDY 价值 + * @return amountOut 扣除手续费后实际获得的 token 数量 + */ + function getRemoveLiquidityOutput( + address _tokenOut, + uint256 _ytLPAmount + ) external view returns (uint256 usdyAmount, uint256 amountOut) { + // 模拟 _removeLiquidity:ytLP → USDY + uint256 aumInUsdy = getAumInUsdy(false); + uint256 ytLPSupply = IERC20(ytLP).totalSupply(); + usdyAmount = _ytLPAmount * aumInUsdy / ytLPSupply; + + // 模拟 sellUSDY:USDY → token(含动态手续费) + uint256 price = IYTVault(ytVault).getMaxPrice(_tokenOut); + uint256 redemptionAmount = usdyAmount * PRICE_PRECISION / price; + uint256 feeBasisPoints = IYTVault(ytVault).getRedemptionFeeBasisPoints(_tokenOut, redemptionAmount); + amountOut = redemptionAmount * (BASIS_POINTS_DIVISOR - feeBasisPoints) / BASIS_POINTS_DIVISOR; + } + /** * @dev 预留存储空间,用于未来升级时添加新的状态变量 * 50个slot = 50 * 32 bytes = 1600 bytes */ uint256[50] private __gap; -} - +} \ No newline at end of file diff --git a/deployments-ytlp.json b/deployments-ytlp.json index 58876ca..c4b9750 100644 --- a/deployments-ytlp.json +++ b/deployments-ytlp.json @@ -22,11 +22,21 @@ }, "YTPoolManager": { "proxy": "0xb11824eAA659F8A4648711709dA60720d5Cdabd2", - "implementation": "0x144cC96e9b1DC5EC118DF49167DA83048A3050ae" + "implementation": "0xf4cE104E687F5d2064481cbD5B24ED52d7C324b0" }, "YTRewardRouter": { "proxy": "0x5af5A51F7702024E7387bba7497DC9965C00F16E", "implementation": "0x3688CDd7A25613E7b1E7E0ee1aA46c21F66D27F3" } - } + }, + "upgradeHistory": [ + { + "timestamp": "2026-03-09T02:23:16.418Z", + "contract": "YTPoolManager", + "oldImplementation": "0x144cC96e9b1DC5EC118DF49167DA83048A3050ae", + "newImplementation": "0xf4cE104E687F5d2064481cbD5B24ED52d7C324b0", + "upgrader": "0xa013422A5918CD099C63c8CC35283EACa99a705d" + } + ], + "lastUpdate": "2026-03-09T02:23:16.418Z" } \ No newline at end of file diff --git a/out/build-info/d81065d09c259d5f.json b/out/build-info/eabedd7944f1777c.json similarity index 90% rename from out/build-info/d81065d09c259d5f.json rename to out/build-info/eabedd7944f1777c.json index 8d40b3e..8ffb0ea 100644 --- a/out/build-info/d81065d09c259d5f.json +++ b/out/build-info/eabedd7944f1777c.json @@ -1 +1 @@ -{"id":"d81065d09c259d5f","source_id_to_path":{"0":"lib/forge-std/src/Base.sol","1":"lib/forge-std/src/Script.sol","2":"lib/forge-std/src/StdChains.sol","3":"lib/forge-std/src/StdCheats.sol","4":"lib/forge-std/src/StdConstants.sol","5":"lib/forge-std/src/StdJson.sol","6":"lib/forge-std/src/StdMath.sol","7":"lib/forge-std/src/StdStorage.sol","8":"lib/forge-std/src/StdStyle.sol","9":"lib/forge-std/src/StdUtils.sol","10":"lib/forge-std/src/Vm.sol","11":"lib/forge-std/src/console.sol","12":"lib/forge-std/src/console2.sol","13":"lib/forge-std/src/interfaces/IMulticall3.sol","14":"lib/forge-std/src/safeconsole.sol","15":"scripts/test.s.sol"},"language":"Solidity"} \ No newline at end of file +{"id":"eabedd7944f1777c","source_id_to_path":{"0":"lib/forge-std/src/Base.sol","1":"lib/forge-std/src/Script.sol","2":"lib/forge-std/src/StdChains.sol","3":"lib/forge-std/src/StdCheats.sol","4":"lib/forge-std/src/StdConstants.sol","5":"lib/forge-std/src/StdJson.sol","6":"lib/forge-std/src/StdMath.sol","7":"lib/forge-std/src/StdStorage.sol","8":"lib/forge-std/src/StdStyle.sol","9":"lib/forge-std/src/StdUtils.sol","10":"lib/forge-std/src/Vm.sol","11":"lib/forge-std/src/console.sol","12":"lib/forge-std/src/console2.sol","13":"lib/forge-std/src/interfaces/IMulticall3.sol","14":"lib/forge-std/src/safeconsole.sol","15":"scripts/test.s.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/out/test.s.sol/TestFun.json b/out/test.s.sol/TestFun.json index 89e4e10..c7d926d 100644 --- a/out/test.s.sol/TestFun.json +++ b/out/test.s.sol/TestFun.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608080604052346026576201000162ff00ff19600c541617600c55610379908161002b8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063c0406226146100585763f8ccbf4714610030575f80fd5b34610055578060031936011261005557602060ff600c5460101c166040519015158152f35b80fd5b50346102e5575f3660031901126102e557604051906100786060836102e9565b60248252630de0b6b3631c8a6f0f60e21b01602083019081526129d960f21b604084015291737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156102e5576040516303223eab60e11b815273a013422a5918cd099c63c8cc35283eaca99a705d60048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102da576102c5575b5081928291519082737f9eea491ee53045594ee4669327f0355acd0e585af13d156102bd573d9067ffffffffffffffff82116102a95760405191610155601f8201601f1916602001846102e9565b82523d83602084013e5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029a576040516390c5013b60e01b81528390818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561029e57610285575b5061026d5f93849361025f935084806102126102286040948551906101d687836102e9565b600d82526c21b0b6361039bab1b1b2b9b99d60991b6020830152865193849263c3b5563560e01b6020850152886024850152606484019061031f565b901515604483015203601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa50519283916305f3bfab60e11b602084015260206024840152604483019061031f565b03601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa5080f35b8161028f916102e9565b61029a57825f6101b1565b8280fd5b6040513d84823e3d90fd5b634e487b7160e01b83526041600452602483fd5b60609061015f565b6102d29192505f906102e9565b5f905f610107565b6040513d5f823e3d90fd5b5f80fd5b90601f8019910116810190811067ffffffffffffffff82111761030b57604052565b634e487b7160e01b5f52604160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f191601019056fea2646970667358221220c6ef90690d692a76520973567680e23967d1fd071b98047f9395c9fef4be2a6c64736f6c634300081e0033","sourceMap":"245:495:15:-:0;;;;;;;;;;3200:4:2;245:495:15;;;3200:4:2;245:495:15;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c8063c0406226146100585763f8ccbf4714610030575f80fd5b34610055578060031936011261005557602060ff600c5460101c166040519015158152f35b80fd5b50346102e5575f3660031901126102e557604051906100786060836102e9565b60248252630de0b6b3631c8a6f0f60e21b01602083019081526129d960f21b604084015291737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156102e5576040516303223eab60e11b815273a013422a5918cd099c63c8cc35283eaca99a705d60048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102da576102c5575b5081928291519082737f9eea491ee53045594ee4669327f0355acd0e585af13d156102bd573d9067ffffffffffffffff82116102a95760405191610155601f8201601f1916602001846102e9565b82523d83602084013e5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029a576040516390c5013b60e01b81528390818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561029e57610285575b5061026d5f93849361025f935084806102126102286040948551906101d687836102e9565b600d82526c21b0b6361039bab1b1b2b9b99d60991b6020830152865193849263c3b5563560e01b6020850152886024850152606484019061031f565b901515604483015203601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa50519283916305f3bfab60e11b602084015260206024840152604483019061031f565b03601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa5080f35b8161028f916102e9565b61029a57825f6101b1565b8280fd5b6040513d84823e3d90fd5b634e487b7160e01b83526041600452602483fd5b60609061015f565b6102d29192505f906102e9565b5f905f610107565b6040513d5f823e3d90fd5b5f80fd5b90601f8019910116810190811067ffffffffffffffff82111761030b57604052565b634e487b7160e01b5f52604160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f191601019056fea2646970667358221220c6ef90690d692a76520973567680e23967d1fd071b98047f9395c9fef4be2a6c64736f6c634300081e0033","sourceMap":"245:495:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:1;245:495:15;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;245:495:15;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;245:495:15;;;;;;-1:-1:-1;;;245:495:15;;;;;336:42:0;558:19:15;;;;245:495;;-1:-1:-1;;;558:19:15;;328:42;245:495;558:19;;2030:14:0;-1:-1:-1;245:495:15;;;-1:-1:-1;336:42:0;558:19:15;;;;;;;;245:495;618:13;;;;;;;;396:42;618:13;;2030:14:0;;;;;245:495:15;;;;;;;;;;;;;-1:-1:-1;;245:495:15;;;;;:::i;:::-;;;2030:14:0;;245:495:15;2030:14:0;;;;336:42;642:14:15;;;;245:495;;-1:-1:-1;;;642:14:15;;245:495;;;;;;;336:42:0;642:14:15;;;;;;;;2030::0;245:495:15;1793:41:11;358:279;245:495:15;;;;;;;;;7675:51:11;245:495:15;;;;;;;;;:::i;:::-;2030:14:0;245:495:15;;-1:-1:-1;;;245:495:15;2030:14:0;;;245:495:15;;7675:51:11;;;;;;245:495:15;7675:51:11;;;;245:495:15;7675:51:11;;245:495:15;;;;;;:::i;:::-;;;;;;;;7675:51:11;245:495:15;;7675:51:11;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;245:495:15;1793:41:11;;;;;;245:495:15;1793:41:11;;;245:495:15;;1793:41:11;;245:495:15;;;;;;:::i;:::-;1793:41:11;245:495:15;;1793:41:11;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;245:495:15;;642:14;;;;;:::i;:::-;245:495;;642:14;;;;245:495;;;;642:14;245:495;;2030:14:0;245:495:15;;2030:14:0;;;;245:495:15;-1:-1:-1;;;245:495:15;;;;;;;;2030:14:0;245:495:15;2030:14:0;;;558:19:15;;;;;245:495;558:19;;:::i;:::-;245:495;558:19;;;;;245:495;;2030:14:0;245:495:15;2030:14:0;;;;;558:19:15;245:495;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;245:495:15;;;;;-1:-1:-1;245:495:15;;;;;;;;;;;;;;;;;;-1:-1:-1;245:495:15;;;;;;;;-1:-1:-1;;245:495:15;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/test.s.sol\":\"TestFun\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=node_modules/solady/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x8bed7472cb417f0e55ea37fe8cd34a54788d06a13de7c96e1448eae041744568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf07369fee84b74edd61c8eb08bf71e3f4fdbb6ad24061996b4e2bfd42f3f69\",\"dweb:/ipfs/QmQhyYedzf8GtTc51495Lek1rZBQ6nigrGFXUpwHhN3RLa\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e\",\"dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a\",\"dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xddd9f444525fe3b2db77df55bde598676784b13bd19ead1d19b95802de0eacdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53770fa34bf0d75fd2946b71335ce6e6001053595e6dd78e7af9baf7a5270616\",\"dweb:/ipfs/QmVvfuJi928Hw6i44oUArYeAP8Pst1bvQvUeJ3CTdh1yUZ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4b541d0e4758fbbefeb1f2d547c864b2cb7cc35fcd6ff81772a44cc86344e19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f2271f9441041fe761879924bcd027cdb0145586a9769d2043fe551cf78c6a7\",\"dweb:/ipfs/QmZP6jjnsTH7L3T8P9ecJXqg9o5P3sa1FbCG6DY3HYYcfx\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x1f3cfde19cafbd145904bfb00581a10ca7667186276e8c91dc2943ec559de88a\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://bdf9afa0df475e5ea0aa1f5feb27987499051a1a85a9177d3d01e131ff0f1af2\",\"dweb:/ipfs/QmdQfAdeU4PtQSHs1mMwoEUpdFfbrgRdJuhVXeaxeb5dxV\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28\",\"dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"scripts/test.s.sol\":{\"keccak256\":\"0xcbc113d8760ae722485bfd96153e5635018544eb26c626fe4035da5965ce2be8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e38921e86984e328524ef0dc55984f91c76102bb6df5c54a06f72006615be3f\",\"dweb:/ipfs/Qme4KqeFFgr7CSnbPiQYHWApZaxt5z1QFtoCviXJAPsXip\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@arbitrum/=node_modules/@arbitrum/","@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/","@offchainlabs/=node_modules/@offchainlabs/","@openzeppelin/=node_modules/@openzeppelin/","@scroll-tech/=node_modules/@scroll-tech/","@zksync/=node_modules/@zksync/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"scripts/test.s.sol":"TestFun"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b","urls":["bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98","dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x8bed7472cb417f0e55ea37fe8cd34a54788d06a13de7c96e1448eae041744568","urls":["bzz-raw://6bf07369fee84b74edd61c8eb08bf71e3f4fdbb6ad24061996b4e2bfd42f3f69","dweb:/ipfs/QmQhyYedzf8GtTc51495Lek1rZBQ6nigrGFXUpwHhN3RLa"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c","urls":["bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e","dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589","urls":["bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a","dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85","urls":["bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6","dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xddd9f444525fe3b2db77df55bde598676784b13bd19ead1d19b95802de0eacdc","urls":["bzz-raw://53770fa34bf0d75fd2946b71335ce6e6001053595e6dd78e7af9baf7a5270616","dweb:/ipfs/QmVvfuJi928Hw6i44oUArYeAP8Pst1bvQvUeJ3CTdh1yUZ"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4b541d0e4758fbbefeb1f2d547c864b2cb7cc35fcd6ff81772a44cc86344e19c","urls":["bzz-raw://3f2271f9441041fe761879924bcd027cdb0145586a9769d2043fe551cf78c6a7","dweb:/ipfs/QmZP6jjnsTH7L3T8P9ecJXqg9o5P3sa1FbCG6DY3HYYcfx"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x1f3cfde19cafbd145904bfb00581a10ca7667186276e8c91dc2943ec559de88a","urls":["bzz-raw://bdf9afa0df475e5ea0aa1f5feb27987499051a1a85a9177d3d01e131ff0f1af2","dweb:/ipfs/QmdQfAdeU4PtQSHs1mMwoEUpdFfbrgRdJuhVXeaxeb5dxV"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a","urls":["bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28","dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"scripts/test.s.sol":{"keccak256":"0xcbc113d8760ae722485bfd96153e5635018544eb26c626fe4035da5965ce2be8","urls":["bzz-raw://3e38921e86984e328524ef0dc55984f91c76102bb6df5c54a06f72006615be3f","dweb:/ipfs/Qme4KqeFFgr7CSnbPiQYHWApZaxt5z1QFtoCviXJAPsXip"],"license":"MIT"}},"version":1},"id":15} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608080604052346026576201000162ff00ff19600c541617600c55610379908161002b8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063c0406226146100585763f8ccbf4714610030575f80fd5b34610055578060031936011261005557602060ff600c5460101c166040519015158152f35b80fd5b50346102e5575f3660031901126102e557604051906100786060836102e9565b60248252630de0b6b3631c8a6f0f60e21b01602083019081526129d960f21b604084015291737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156102e5576040516303223eab60e11b815273a013422a5918cd099c63c8cc35283eaca99a705d60048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102da576102c5575b50819282915190827320b94c5e5b7361552e0548161a58696aa6fedbd45af13d156102bd573d9067ffffffffffffffff82116102a95760405191610155601f8201601f1916602001846102e9565b82523d83602084013e5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029a576040516390c5013b60e01b81528390818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561029e57610285575b5061026d5f93849361025f935084806102126102286040948551906101d687836102e9565b600d82526c21b0b6361039bab1b1b2b9b99d60991b6020830152865193849263c3b5563560e01b6020850152886024850152606484019061031f565b901515604483015203601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa50519283916305f3bfab60e11b602084015260206024840152604483019061031f565b03601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa5080f35b8161028f916102e9565b61029a57825f6101b1565b8280fd5b6040513d84823e3d90fd5b634e487b7160e01b83526041600452602483fd5b60609061015f565b6102d29192505f906102e9565b5f905f610107565b6040513d5f823e3d90fd5b5f80fd5b90601f8019910116810190811067ffffffffffffffff82111761030b57604052565b634e487b7160e01b5f52604160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f191601019056fea26469706673582212200c093fc4f2c9df1fceb9c0985a5760c444323a95fe3aae557c3e958dc0bfeeda64736f6c634300081e0033","sourceMap":"245:495:15:-:0;;;;;;;;;;3200:4:2;245:495:15;;;3200:4:2;245:495:15;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c8063c0406226146100585763f8ccbf4714610030575f80fd5b34610055578060031936011261005557602060ff600c5460101c166040519015158152f35b80fd5b50346102e5575f3660031901126102e557604051906100786060836102e9565b60248252630de0b6b3631c8a6f0f60e21b01602083019081526129d960f21b604084015291737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156102e5576040516303223eab60e11b815273a013422a5918cd099c63c8cc35283eaca99a705d60048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102da576102c5575b50819282915190827320b94c5e5b7361552e0548161a58696aa6fedbd45af13d156102bd573d9067ffffffffffffffff82116102a95760405191610155601f8201601f1916602001846102e9565b82523d83602084013e5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561029a576040516390c5013b60e01b81528390818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561029e57610285575b5061026d5f93849361025f935084806102126102286040948551906101d687836102e9565b600d82526c21b0b6361039bab1b1b2b9b99d60991b6020830152865193849263c3b5563560e01b6020850152886024850152606484019061031f565b901515604483015203601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa50519283916305f3bfab60e11b602084015260206024840152604483019061031f565b03601f1981018352826102e9565b6020815191016a636f6e736f6c652e6c6f675afa5080f35b8161028f916102e9565b61029a57825f6101b1565b8280fd5b6040513d84823e3d90fd5b634e487b7160e01b83526041600452602483fd5b60609061015f565b6102d29192505f906102e9565b5f905f610107565b6040513d5f823e3d90fd5b5f80fd5b90601f8019910116810190811067ffffffffffffffff82111761030b57604052565b634e487b7160e01b5f52604160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f191601019056fea26469706673582212200c093fc4f2c9df1fceb9c0985a5760c444323a95fe3aae557c3e958dc0bfeeda64736f6c634300081e0033","sourceMap":"245:495:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:1;245:495:15;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;245:495:15;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;245:495:15;;;;;;-1:-1:-1;;;245:495:15;;;;;336:42:0;558:19:15;;;;245:495;;-1:-1:-1;;;558:19:15;;328:42;245:495;558:19;;2030:14:0;-1:-1:-1;245:495:15;;;-1:-1:-1;336:42:0;558:19:15;;;;;;;;245:495;618:13;;;;;;;;396:42;618:13;;2030:14:0;;;;;245:495:15;;;;;;;;;;;;;-1:-1:-1;;245:495:15;;;;;:::i;:::-;;;2030:14:0;;245:495:15;2030:14:0;;;;336:42;642:14:15;;;;245:495;;-1:-1:-1;;;642:14:15;;245:495;;;;;;;336:42:0;642:14:15;;;;;;;;2030::0;245:495:15;1793:41:11;358:279;245:495:15;;;;;;;;;7675:51:11;245:495:15;;;;;;;;;:::i;:::-;2030:14:0;245:495:15;;-1:-1:-1;;;245:495:15;2030:14:0;;;245:495:15;;7675:51:11;;;;;;245:495:15;7675:51:11;;;;245:495:15;7675:51:11;;245:495:15;;;;;;:::i;:::-;;;;;;;;7675:51:11;245:495:15;;7675:51:11;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;245:495:15;1793:41:11;;;;;;245:495:15;1793:41:11;;;245:495:15;;1793:41:11;;245:495:15;;;;;;:::i;:::-;1793:41:11;245:495:15;;1793:41:11;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;245:495:15;;642:14;;;;;:::i;:::-;245:495;;642:14;;;;245:495;;;;642:14;245:495;;2030:14:0;245:495:15;;2030:14:0;;;;245:495:15;-1:-1:-1;;;245:495:15;;;;;;;;2030:14:0;245:495:15;2030:14:0;;;558:19:15;;;;;245:495;558:19;;:::i;:::-;245:495;558:19;;;;;245:495;;2030:14:0;245:495:15;2030:14:0;;;;;558:19:15;245:495;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;245:495:15;;;;;-1:-1:-1;245:495:15;;;;;;;;;;;;;;;;;;-1:-1:-1;245:495:15;;;;;;;;-1:-1:-1;;245:495:15;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/test.s.sol\":\"TestFun\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=node_modules/solady/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x8bed7472cb417f0e55ea37fe8cd34a54788d06a13de7c96e1448eae041744568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf07369fee84b74edd61c8eb08bf71e3f4fdbb6ad24061996b4e2bfd42f3f69\",\"dweb:/ipfs/QmQhyYedzf8GtTc51495Lek1rZBQ6nigrGFXUpwHhN3RLa\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e\",\"dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a\",\"dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xddd9f444525fe3b2db77df55bde598676784b13bd19ead1d19b95802de0eacdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53770fa34bf0d75fd2946b71335ce6e6001053595e6dd78e7af9baf7a5270616\",\"dweb:/ipfs/QmVvfuJi928Hw6i44oUArYeAP8Pst1bvQvUeJ3CTdh1yUZ\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x4b541d0e4758fbbefeb1f2d547c864b2cb7cc35fcd6ff81772a44cc86344e19c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f2271f9441041fe761879924bcd027cdb0145586a9769d2043fe551cf78c6a7\",\"dweb:/ipfs/QmZP6jjnsTH7L3T8P9ecJXqg9o5P3sa1FbCG6DY3HYYcfx\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x1f3cfde19cafbd145904bfb00581a10ca7667186276e8c91dc2943ec559de88a\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://bdf9afa0df475e5ea0aa1f5feb27987499051a1a85a9177d3d01e131ff0f1af2\",\"dweb:/ipfs/QmdQfAdeU4PtQSHs1mMwoEUpdFfbrgRdJuhVXeaxeb5dxV\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28\",\"dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"scripts/test.s.sol\":{\"keccak256\":\"0x4a0115dc658d1b3f51d200c14faa0b407e0a793c4df9e0b005a80e10e3e337b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6dae0bd3447765c3390b8068682ec80afcb31303e11271dee1e62580c04a4b\",\"dweb:/ipfs/QmPFVJHK3W5khiwV5oqfLRbv9xFFbw2q6VKPSKBsJDqA54\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@arbitrum/=node_modules/@arbitrum/","@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@eth-optimism/=node_modules/@chainlink/contracts/node_modules/@eth-optimism/","@offchainlabs/=node_modules/@offchainlabs/","@openzeppelin/=node_modules/@openzeppelin/","@scroll-tech/=node_modules/@scroll-tech/","@zksync/=node_modules/@zksync/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"scripts/test.s.sol":"TestFun"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf","urls":["bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d","dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b","urls":["bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98","dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x8bed7472cb417f0e55ea37fe8cd34a54788d06a13de7c96e1448eae041744568","urls":["bzz-raw://6bf07369fee84b74edd61c8eb08bf71e3f4fdbb6ad24061996b4e2bfd42f3f69","dweb:/ipfs/QmQhyYedzf8GtTc51495Lek1rZBQ6nigrGFXUpwHhN3RLa"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x07852d61fcf2fe5e25fa66e607f52cb97eab8adaf2e3fd4cb8404eb69baee90c","urls":["bzz-raw://ed97c9c7372b77a0b417c1285f631aa1396d8c3104f14b80abd559f305d67d1e","dweb:/ipfs/QmeHLpi3g9XKLT8z76AF5ofwrXQm2yxPDpWztCZ2wPDW6i"],"license":"MIT"},"lib/forge-std/src/StdConstants.sol":{"keccak256":"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534","urls":["bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc","dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9de30197a56fe90c443948c3feeb20e9a29e0e9c0b8fa893e8ac4c1344acd589","urls":["bzz-raw://444783bd32a8abfd3fbcf16c5d1cdccef5608b2a9cfddd789fa1b045b077ed2a","dweb:/ipfs/QmY94NxHDFW1Knxs9GcgFhq2QZQpRXgor4NMamKQ9CCVyp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85","urls":["bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6","dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xddd9f444525fe3b2db77df55bde598676784b13bd19ead1d19b95802de0eacdc","urls":["bzz-raw://53770fa34bf0d75fd2946b71335ce6e6001053595e6dd78e7af9baf7a5270616","dweb:/ipfs/QmVvfuJi928Hw6i44oUArYeAP8Pst1bvQvUeJ3CTdh1yUZ"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x4b541d0e4758fbbefeb1f2d547c864b2cb7cc35fcd6ff81772a44cc86344e19c","urls":["bzz-raw://3f2271f9441041fe761879924bcd027cdb0145586a9769d2043fe551cf78c6a7","dweb:/ipfs/QmZP6jjnsTH7L3T8P9ecJXqg9o5P3sa1FbCG6DY3HYYcfx"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x1f3cfde19cafbd145904bfb00581a10ca7667186276e8c91dc2943ec559de88a","urls":["bzz-raw://bdf9afa0df475e5ea0aa1f5feb27987499051a1a85a9177d3d01e131ff0f1af2","dweb:/ipfs/QmdQfAdeU4PtQSHs1mMwoEUpdFfbrgRdJuhVXeaxeb5dxV"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5","urls":["bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57","dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f","urls":["bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d","dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0xeb0daba50f85adb160209f03ebf7b3b548e09651aa799087795daf17b1495c7a","urls":["bzz-raw://8b5b356871e51267728d69c662d8d8ce653dd0a8edc47098b6f8064ea1173e28","dweb:/ipfs/QmRJTAmV68NYGSkDGKrGpsJnEZ8wQF4dDCevXGtNU4RWtQ"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11","urls":["bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab","dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"],"license":"MIT"},"scripts/test.s.sol":{"keccak256":"0x4a0115dc658d1b3f51d200c14faa0b407e0a793c4df9e0b005a80e10e3e337b1","urls":["bzz-raw://eb6dae0bd3447765c3390b8068682ec80afcb31303e11271dee1e62580c04a4b","dweb:/ipfs/QmPFVJHK3W5khiwV5oqfLRbv9xFFbw2q6VKPSKBsJDqA54"],"license":"MIT"}},"version":1},"id":15} \ No newline at end of file diff --git a/scripts/test.s.sol b/scripts/test.s.sol index 4358a8f..af3641a 100644 --- a/scripts/test.s.sol +++ b/scripts/test.s.sol @@ -12,7 +12,7 @@ contract TestFun is Script { function run() external { address from = 0xa013422A5918CD099C63c8CC35283EACa99a705d; - address to = 0x7f9eEA491eE53045594ee4669327f0355aCd0e58; + address to = 0x20B94C5E5b7361552E0548161a58696aA6FeDBd4; bytes memory data = hex"7229bc3c0000000000000000000000000000000000000000000000000de0b6b3a7640000"; diff --git a/scripts/upgrade/upgradeYTPoolManager.ts b/scripts/upgrade/upgradeYTPoolManager.ts index 26ba16f..4fd08f2 100644 --- a/scripts/upgrade/upgradeYTPoolManager.ts +++ b/scripts/upgrade/upgradeYTPoolManager.ts @@ -59,7 +59,7 @@ async function main() { console.log("🔄 Phase 2: 验证升级结果"); console.log(" YTPoolManager Proxy (不变):", upgradedYTPoolManagerAddress); - console.log(" Owner:", await upgradedYTPoolManager.owner()); + console.log(" Gov:", await upgradedYTPoolManager.gov()); console.log(""); // ========== 保存更新的部署信息 ==========