Completed clean root directory structure: - Root now contains only: .git, .env, docs/, orig/ - Moved all remaining files and directories to orig/: - Config files (.claude, .dockerignore, .drone.yml, etc.) - All .env variants (except active .env) - Git config (.gitconfig, .github, .gitignore, etc.) - Tool configs (.golangci.yml, .revive.toml, etc.) - Documentation (*.md files, @prompts) - Build files (Dockerfiles, Makefile, go.mod, go.sum) - Docker compose files - All source directories (scripts, tests, tools, etc.) - Runtime directories (logs, monitoring, reports) - Dependency files (node_modules, lib, cache) - Special files (--delete) - Removed empty runtime directories (bin/, data/) V2 structure is now clean: - docs/planning/ - V2 planning documents - orig/ - Complete V1 codebase preserved - .env - Active environment config (not in git) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 line
24 KiB
JSON
1 line
24 KiB
JSON
{"_format":"","paths":{"artifacts":"tests/out","build_infos":"tests/out/build-info","sources":"tests/contracts","tests":"tests","scripts":"script","libraries":["lib"]},"files":{"contracts/balancer/FlashLoanReceiverSecure.sol":{"lastModificationDate":1761659984189,"contentHash":"22974c60c585c1bc6efbb85697edc25f","sourceName":"contracts/balancer/FlashLoanReceiverSecure.sol","imports":["lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.0","artifacts":{"FlashLoanReceiverSecure":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.sol/FlashLoanReceiverSecure.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}},"IBalancerVault":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.sol/IBalancerVault.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}},"IUniswapV2Router":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.sol/IUniswapV2Router.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}},"IUniswapV3Router":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.sol/IUniswapV3Router.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/forge-std/src/Base.sol":{"lastModificationDate":1761648015735,"contentHash":"b1b5beeab652757bdfaec31f7a9251e2","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"ScriptBase":{"0.8.30":{"default":{"path":"Base.sol/ScriptBase.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"TestBase":{"0.8.30":{"default":{"path":"Base.sol/TestBase.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/Script.sol":{"lastModificationDate":1761648015735,"contentHash":"1d11dd99b6b917f2de20017e94d9de06","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":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/forge-std/src/StdAssertions.sol":{"lastModificationDate":1761648015925,"contentHash":"e8c5b1b6de52763f94b08617ca1ececf","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdChains.sol":{"lastModificationDate":1761648015925,"contentHash":"daca906801288892aa95703954814979","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdCheats.sol":{"lastModificationDate":1761648015925,"contentHash":"88408106c41697153142f6a6eeb06728","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"StdCheatsSafe":{"0.8.30":{"default":{"path":"StdCheats.sol/StdCheatsSafe.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdConstants.sol":{"lastModificationDate":1761648015739,"contentHash":"14edb96ae3a9171cd6885d775e077b2b","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdError.sol":{"lastModificationDate":1761648015739,"contentHash":"64c896e1276a291776e5ea5aecb3870a","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdInvariant.sol":{"lastModificationDate":1761648015739,"contentHash":"f16837d0e7cb829544ae1f1319ea7643","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdJson.sol":{"lastModificationDate":1761648015929,"contentHash":"02209da5708eaee03e24a9c24a687370","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdMath.sol":{"lastModificationDate":1761648015929,"contentHash":"9da8f453eba6bb98f3d75bc6822bfb29","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStorage.sol":{"lastModificationDate":1761648015742,"contentHash":"53aa00a3240368c82e3a65df0e436f1c","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"stdStorageSafe":{"0.8.30":{"default":{"path":"StdStorage.sol/stdStorageSafe.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStyle.sol":{"lastModificationDate":1761648015742,"contentHash":"6281165a12aa639705c691fccefd855e","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdToml.sol":{"lastModificationDate":1761648015929,"contentHash":"4bce85a4c60f2c073e651ee8140bcb4d","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/StdUtils.sol":{"lastModificationDate":1761648015742,"contentHash":"f1a8c6395edfc4c923075b730db41e0a","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/Test.sol":{"lastModificationDate":1761648015742,"contentHash":"462f6d9c84257bc12355e8533c3bcc96","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/Vm.sol":{"lastModificationDate":1761648015932,"contentHash":"d7868f9eb2aaeafd63b87e74d4aa3a15","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"VmSafe":{"0.8.30":{"default":{"path":"Vm.sol/VmSafe.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/console.sol":{"lastModificationDate":1761648015749,"contentHash":"ce19a9e49945b42118379ff99d853c05","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/console2.sol":{"lastModificationDate":1761648015749,"contentHash":"f65ad21034b111e70fb5342d5771efcd","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":1761648015935,"contentHash":"7b131ca1ca32ef6378b7b9ad5488b901","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/forge-std/src/safeconsole.sol":{"lastModificationDate":1761648015762,"contentHash":"1445aa2f47000e212173e0cefd6c7a77","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":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"lastModificationDate":1761659842104,"contentHash":"a7fd0f05e36b0d0a21c75340c9c639ec","sourceName":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","imports":["lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC1363":{"0.8.30":{"default":{"path":"IERC1363.sol/IERC1363.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"lastModificationDate":1761659842104,"contentHash":"947853028399b7de34bcc3704ee06e99","sourceName":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","imports":["lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"lastModificationDate":1761659842104,"contentHash":"68620db2da7583d9a4919096ac77f577","sourceName":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","imports":["lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.4.16","artifacts":{},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"lastModificationDate":1761659842944,"contentHash":"5041977bbe908de2e6ed0270447f79ad","sourceName":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","imports":[],"versionRequirement":">=0.8.4","artifacts":{"IERC1155Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC1155Errors.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}},"IERC20Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC20Errors.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}},"IERC721Errors":{"0.8.30":{"default":{"path":"draft-IERC6093.sol/IERC721Errors.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"lastModificationDate":1761659842971,"contentHash":"59dfce11284f2636db261df9b6a18f81","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","imports":["lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","lib/openzeppelin-contracts/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC20":{"0.8.30":{"default":{"path":"ERC20.sol/ERC20.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"lastModificationDate":1761659842171,"contentHash":"9261adf6457863de3e9892f51317ec89","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC20":{"0.8.30":{"default":{"path":"IERC20.sol/IERC20.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"lastModificationDate":1761659842174,"contentHash":"513778b30d2750f5d2b9b19bbcf748a5","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","imports":["lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC20Metadata":{"0.8.30":{"default":{"path":"IERC20Metadata.sol/IERC20Metadata.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"lastModificationDate":1761659842974,"contentHash":"1fb9edee1d763745a62d0b1954998792","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","imports":["lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"SafeERC20":{"0.8.30":{"default":{"path":"SafeERC20.sol/SafeERC20.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"lastModificationDate":1761659842188,"contentHash":"67bfbc07588eb8683b3fd8f6f909563e","sourceName":"lib/openzeppelin-contracts/contracts/utils/Context.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"Context":{"0.8.30":{"default":{"path":"Context.sol/Context.json","build_id":"4674cd6ed25dd9943fb376eddec40312"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"lastModificationDate":1761659842988,"contentHash":"190613e556d509d9e9a0ea43dc5d891d","sourceName":"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"ReentrancyGuard":{"0.8.30":{"default":{"path":"ReentrancyGuard.sol/ReentrancyGuard.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"lastModificationDate":1761659842204,"contentHash":"7074c93b1ea0a122063f26ddd1db1032","sourceName":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","imports":[],"versionRequirement":">=0.4.16","artifacts":{"IERC165":{"0.8.30":{"default":{"path":"IERC165.sol/IERC165.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"scripts/DeployFlashLoanSecure.s.sol":{"lastModificationDate":1761663771384,"contentHash":"d8d94479e89e43efdb7c60742b45a1ec","sourceName":"scripts/DeployFlashLoanSecure.s.sol","imports":["contracts/balancer/FlashLoanReceiverSecure.sol","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","lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.0","artifacts":{"DeployFlashLoanSecure":{"0.8.30":{"default":{"path":"DeployFlashLoanSecure.s.sol/DeployFlashLoanSecure.json","build_id":"75eba169c7ecefc5c5c6cce7bfe23e9b"}}}},"seenByCompiler":true},"tests/contracts/ArbitrageTest.sol":{"lastModificationDate":1761648231541,"contentHash":"96906a4faac9f53260c2cb300530c40a","sourceName":"tests/contracts/ArbitrageTest.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/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"],"versionRequirement":"^0.8.19","artifacts":{"ArbitrageTest":{"0.8.30":{"default":{"path":"ArbitrageTest.sol/ArbitrageTest.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"IERC20":{"0.8.30":{"default":{"path":"ArbitrageTest.sol/IERC20.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}},"IUniswapV3Pool":{"0.8.30":{"default":{"path":"ArbitrageTest.sol/IUniswapV3Pool.json","build_id":"fc12a9179396bf92ca4ad204c6ccc8f9"}}}},"seenByCompiler":true},"tests/contracts/FlashLoanReceiverSecure.integration.t.sol":{"lastModificationDate":1761667453399,"contentHash":"53c7cc7b724da336fe2ef845977b40ff","sourceName":"tests/contracts/FlashLoanReceiverSecure.integration.t.sol","imports":["contracts/balancer/FlashLoanReceiverSecure.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","lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.0","artifacts":{"FlashLoanReceiverSecureIntegrationTest":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.integration.t.sol/FlashLoanReceiverSecureIntegrationTest.json","build_id":"a6db85c3069f61dd280608edb91dffd6"}}},"IERC20Metadata":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.integration.t.sol/IERC20Metadata.json","build_id":"a6db85c3069f61dd280608edb91dffd6"}}}},"seenByCompiler":true},"tests/contracts/FlashLoanReceiverSecure.t.sol":{"lastModificationDate":1761667316784,"contentHash":"32cdb667659e1c530f13f881cda9ec68","sourceName":"tests/contracts/FlashLoanReceiverSecure.t.sol","imports":["contracts/balancer/FlashLoanReceiverSecure.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","lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","lib/openzeppelin-contracts/contracts/utils/Context.sol","lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.0","artifacts":{"FlashLoanReceiverSecureTest":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.t.sol/FlashLoanReceiverSecureTest.json","build_id":"aa1ce55cacb31fe9e0afe52cbcdcde9c"}}},"IFlashLoanRecipient":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.t.sol/IFlashLoanRecipient.json","build_id":"aa1ce55cacb31fe9e0afe52cbcdcde9c"}}},"MockBalancerVault":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.t.sol/MockBalancerVault.json","build_id":"aa1ce55cacb31fe9e0afe52cbcdcde9c"}}},"MockERC20":{"0.8.30":{"default":{"path":"FlashLoanReceiverSecure.t.sol/MockERC20.json","build_id":"aa1ce55cacb31fe9e0afe52cbcdcde9c"}}}},"seenByCompiler":true}},"builds":["4674cd6ed25dd9943fb376eddec40312","75eba169c7ecefc5c5c6cce7bfe23e9b","a6db85c3069f61dd280608edb91dffd6","aa1ce55cacb31fe9e0afe52cbcdcde9c","fc12a9179396bf92ca4ad204c6ccc8f9"],"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":"cancun","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"cancun","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}}}} |