{"file_path":"src/Proxy.sol","creation_status":"success","source_code":"// SPDX-License-Identifier: BUSL-1.1\n\npragma solidity 0.8.23;\n/**\n * @title  Minimal transparent proxy.\n * @author M^0 Labs\n */\ncontract Proxy {\n    /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.\n    uint256 private constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n    /**\n     * @dev   Constructs the contract given the address of some implementation.\n     * @param implementation_ The address of some implementation.\n     */\n    constructor(address implementation_) {\n        if (implementation_ == address(0)) revert();\n\n        assembly {\n            sstore(_IMPLEMENTATION_SLOT, implementation_)\n        }\n    }\n\n    fallback() external payable virtual {\n        bytes32 implementation_;\n\n        assembly {\n            implementation_ := sload(_IMPLEMENTATION_SLOT)\n        }\n\n        assembly {\n            calldatacopy(0, 0, calldatasize())\n\n            let result_ := delegatecall(gas(), implementation_, 0, calldatasize(), 0, 0)\n\n            returndatacopy(0, 0, returndatasize())\n\n            switch result_\n            case 0 {\n                revert(0, returndatasize())\n            }\n            default {\n                return(0, returndatasize())\n            }\n        }\n    }\n}\n","deployed_bytecode":"0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54365f80375f80365f845af43d5f803e808015603f573d5ff35b3d5ffdfea2646970667358221220d2631db1b18b2947844c1d7d37e70f0971180c52e4a2cab755f41723bab4648764736f6c63430008170033","optimization_enabled":true,"verified_twin_address_hash":null,"is_verified":true,"compiler_settings":{"evmVersion":"shanghai","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":999999},"remappings":[":common/=lib/common/src/",":ds-test/=lib/common/lib/forge-std/lib/ds-test/src/",":forge-std/=lib/forge-std/src/"]},"optimization_runs":999999,"sourcify_repo_url":"https://repo.sourcify.dev/contracts/full_match/1/0x437cc33344a0B27A429f795ff6B469C72698B291/","decoded_constructor_args":[["0x813B926B1D096e117721bD1Eb017FbA122302DA0",{"internalType":"address","name":"implementation_","type":"address"}]],"compiler_version":"0.8.23+commit.f704f362","is_verified_via_verifier_alliance":false,"verified_at":"2024-10-28T14:56:33.321246Z","implementations":[{"address_hash":"0x6D9DB63aFCCF515f393D5e65Be69d38Bb3B29D13","name":"WrappedMToken"}],"proxy_type":"eip1967","external_libraries":[],"creation_bytecode":"0x608060405234801561000f575f80fd5b5060405161011938038061011983398101604081905261002e91610067565b6001600160a01b038116610040575f80fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55610094565b5f60208284031215610077575f80fd5b81516001600160a01b038116811461008d575f80fd5b9392505050565b6079806100a05f395ff3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54365f80375f80365f845af43d5f803e808015603f573d5ff35b3d5ffdfea2646970667358221220d2631db1b18b2947844c1d7d37e70f0971180c52e4a2cab755f41723bab4648764736f6c63430008170033000000000000000000000000813b926b1d096e117721bd1eb017fba122302da0","name":"Proxy","is_blueprint":false,"license_type":"none","is_fully_verified":true,"is_verified_via_eth_bytecode_db":true,"language":"solidity","evm_version":"shanghai","can_be_visualized_via_sol2uml":true,"is_verified_via_sourcify":true,"additional_sources":[],"certified":false,"conflicting_implementations":null,"abi":[{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}],"is_changed_bytecode":false,"is_partially_verified":false,"constructor_args":"0x000000000000000000000000813b926b1d096e117721bd1eb017fba122302da0"}