{"abi":[{"type":"function","name":"IMPLEMENTATION","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"CloneDeployed","inputs":[{"name":"clone","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IMPLEMENTATION()":"3a4741bd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"CloneDeployed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IMPLEMENTATION\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides functionality to deploy minimal proxy contracts using a standard implementation address.\",\"events\":{\"CloneDeployed(address)\":{\"params\":{\"clone\":\"Address of the deployed clone contract.\"}}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_implementation\":\"Address of the logic contract to use for clones.\"}}},\"stateVariables\":{\"IMPLEMENTATION\":{\"details\":\"This address is immutable and defines the logic contract for all clones deployed by the factory.\"}},\"title\":\"Factory\",\"version\":1},\"userdoc\":{\"events\":{\"CloneDeployed(address)\":{\"notice\":\"Emitted when a new clone contract is successfully deployed.\"}},\"kind\":\"user\",\"methods\":{\"IMPLEMENTATION()\":{\"notice\":\"Address of the implementation contract used for cloning.\"},\"constructor\":{\"notice\":\"Initializes the factory with the implementation contract address.\"}},\"notice\":\"Abstract base contract for deploying clone contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/proxy/Factory.sol\":\"Factory\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@semaphore-protocol/=node_modules/@semaphore-protocol/\",\":@solady/=node_modules/solady/\",\":@zk-kit/=node_modules/@zk-kit/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=node_modules/forge-std/\",\":hardhat/=node_modules/hardhat/\",\":poseidon-solidity/=node_modules/poseidon-solidity/\",\":solady/=node_modules/solady/\"]},\"sources\":{\"contracts/interfaces/IFactory.sol\":{\"keccak256\":\"0xd15d88cf9a282b37e2db7893d94bac0439356e73b34bb7dd8a963bdd75aa524f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2c2aa12be714aed211f9ed24782896dd798efd0ed5e698b6c67d38239e680c\",\"dweb:/ipfs/QmZeWkBmSUTEThB7ZkhbFb7G8pc7oi6PepkcoaLWo3CQe1\"]},\"contracts/proxy/Factory.sol\":{\"keccak256\":\"0xf4aba22b178615c690d48ac5e6fb955e7d5e3bf094b5d1fef46f0e8d829b3089\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f34fd368825331e2c957998e036d1398d39abc4c09f5b3de7670f11627c1e\",\"dweb:/ipfs/QmR3L4kw7MQgK1b7TPR5tD2bowam5aQpTSdRu1AoBjNzrv\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5\",\"dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"clone","type":"address","indexed":true}],"type":"event","name":"CloneDeployed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IMPLEMENTATION","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_implementation":"Address of the logic contract to use for clones."}}},"version":1},"userdoc":{"kind":"user","methods":{"IMPLEMENTATION()":{"notice":"Address of the implementation contract used for cloning."},"constructor":{"notice":"Initializes the factory with the implementation contract address."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@semaphore-protocol/=node_modules/@semaphore-protocol/","@solady/=node_modules/solady/","@zk-kit/=node_modules/@zk-kit/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=node_modules/forge-std/","hardhat/=node_modules/hardhat/","poseidon-solidity/=node_modules/poseidon-solidity/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/proxy/Factory.sol":"Factory"},"evmVersion":"prague","libraries":{}},"sources":{"contracts/interfaces/IFactory.sol":{"keccak256":"0xd15d88cf9a282b37e2db7893d94bac0439356e73b34bb7dd8a963bdd75aa524f","urls":["bzz-raw://ae2c2aa12be714aed211f9ed24782896dd798efd0ed5e698b6c67d38239e680c","dweb:/ipfs/QmZeWkBmSUTEThB7ZkhbFb7G8pc7oi6PepkcoaLWo3CQe1"],"license":"MIT"},"contracts/proxy/Factory.sol":{"keccak256":"0xf4aba22b178615c690d48ac5e6fb955e7d5e3bf094b5d1fef46f0e8d829b3089","urls":["bzz-raw://513f34fd368825331e2c957998e036d1398d39abc4c09f5b3de7670f11627c1e","dweb:/ipfs/QmR3L4kw7MQgK1b7TPR5tD2bowam5aQpTSdRu1AoBjNzrv"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":64}