{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"depositVault","type":"address"},{"internalType":"address","name":"adapter","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ADAPTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_VAULT","outputs":[{"internalType":"contract IERC4626","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MORPHO","outputs":[{"internalType":"contract IMorpho","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"bool","name":"max","type":"bool"},{"internalType":"address","name":"withdrawVault","type":"address"},{"internalType":"bytes32","name":"marketId","type":"bytes32"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"bool","name":"max","type":"bool"},{"internalType":"address","name":"withdrawVault","type":"address"},{"internalType":"bytes32","name":"marketId","type":"bytes32"},{"internalType":"bytes","name":"permitData","type":"bytes"}],"name":"exitWithPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onMorphoFlashLoan","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"kind":"dev","methods":{"exit(uint256,bool,address,bytes32)":{"params":{"assets":"Amount of underlying token to flashloan."}},"onMorphoFlashLoan(uint256,bytes)":{"details":"The callback is called only if data is not empty.","params":{"assets":"The amount of assets that was flash loaned.","data":"Arbitrary data passed to the `flashLoan` function."}}},"version":1},"userdoc":{"kind":"user","methods":{"exit(uint256,bool,address,bytes32)":{"notice":"Flashloan `assets` of the underlying token, deposit into DEPOSIT_VAULT,         withdraw from WITHDRAW_VAULT on behalf of msg.sender, then repay."},"onMorphoFlashLoan(uint256,bytes)":{"notice":"Callback called when a flash loan occurs."}},"version":1}},"settings":{"compilationTarget":{"src/VaultExit.sol":"VaultExit"},"evmVersion":"osaka","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":false,"runs":200},"remappings":[":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",":ds-test/=lib/morpho-blue/lib/forge-std/lib/ds-test/src/",":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",":forge-std/=lib/forge-std/src/",":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",":metamorpho-v1.1/=lib/vault-v2/lib/metamorpho-v1.1/",":metamorpho/=lib/vault-v2/lib/metamorpho/",":morpho-blue-irm/=lib/vault-v2/lib/morpho-blue-irm/",":morpho-blue/=lib/morpho-blue/",":openzeppelin-contracts/=lib/openzeppelin-contracts/",":solmate/=lib/vault-v2/lib/morpho-blue-irm/lib/solmate/src/",":vault-v2/=lib/vault-v2/"]},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x5945813ecc305238ca86d7a211a52f300e41173e34d39166f99758a857717dec","license":"MIT OR Apache-2.0","urls":["bzz-raw://2ace7b2e42fa6f84f660987cc3020d1494ba0fe4d558b4a64ab875d15a177f17","dweb:/ipfs/QmYR74diY5XWmkmmzCnboAYzeU9HtPun6qXVTUF51AspxN"]},"lib/forge-std/src/interfaces/IERC4626.sol":{"keccak256":"0x948e66d3831c603863dd81f1202f5b941e9d95041a8d2ec1af6a3cd08b3983df","license":"MIT OR Apache-2.0","urls":["bzz-raw://8dfff0e41b5bafa852bbf0c8fa6c2178ffa4b3316b8f320fe324829f0d9ae2eb","dweb:/ipfs/QmeeqJPmx6w66UV5oBvEtYTZQX3LXeSXsBaYZm5xXLdeey"]},"lib/morpho-blue/src/interfaces/IMorpho.sol":{"keccak256":"0xee9fbe10e0cd31b8d4c2c2effadaf337a6c6c43c9bdb94d2cad79fdffc47a86e","license":"GPL-2.0-or-later","urls":["bzz-raw://bc94b9b24900994cba898911edf82545052e738f6c9c2a7a56589c122014d363","dweb:/ipfs/QmXp9qkTnoPoio6KvdCFnCVW6Tjfb4Kbd4zByuiwQwwmwx"]},"lib/morpho-blue/src/interfaces/IMorphoCallbacks.sol":{"keccak256":"0x6baa2f223dac77e9a6cc9f729951467332bf6fda9f3dcf92d6f70b86692b12bd","license":"GPL-2.0-or-later","urls":["bzz-raw://b2e1cd9d9a4b4a63f95d35938c3fd2ab2a69797674d444c23441e0afa121d11c","dweb:/ipfs/QmU4sqFX974a2YAsyYsCuomrC9r67aQxnh9pBnBKmmd68H"]},"lib/morpho-blue/src/libraries/MarketParamsLib.sol":{"keccak256":"0x6c8e25952be253b960283e8caecf8fe3138e1b2ab0595e67055d56a3eeabeffc","license":"GPL-2.0-or-later","urls":["bzz-raw://e48bddc9a1d7e498e5ffdbf15f04e3bcb82f4ddf68cced61f753bb7ac4a50fa3","dweb:/ipfs/QmRePVj1gAnvDNV613ZRQkcZt9QGmgPeMeFBtKpyyfHDxM"]},"src/VaultExit.sol":{"keccak256":"0xafb3f30bb30e01c2b384b0bb51864b48901fcccddb85accf3dafbd569d0a8b62","license":"UNLICENSED","urls":["bzz-raw://1ed666bf810be1cfeb7c3768cbf23f233d2eed81f3d1a5f09d5f9eaa51928fec","dweb:/ipfs/QmYue8tJG9qc4KKpvsxwWLjQD8fcoKZirSmVYiYi11a48n"]}},"version":1}