{"abi":[{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ADDRESS_DELEGATECALL_TO_NON_CONTRACT","inputs":[]},{"type":"error","name":"ADDRESS_LOW_LEVEL_CALL_FAILED","inputs":[]},{"type":"error","name":"ERC1967_NEW_IMPL_NOT_CONTRACT","inputs":[]},{"type":"error","name":"ERC1967_NEW_IMPL_NOT_UUPS","inputs":[]},{"type":"error","name":"ERC1967_UNSUPPORTED_PROXIABLEUUID","inputs":[]},{"type":"error","name":"FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY","inputs":[]},{"type":"error","name":"FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL","inputs":[]},{"type":"error","name":"UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"proxiableUUID()":"52d1902d","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ADDRESS_DELEGATECALL_TO_NON_CONTRACT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ADDRESS_LOW_LEVEL_CALL_FAILED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967_NEW_IMPL_NOT_CONTRACT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967_NEW_IMPL_NOT_UUPS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967_UNSUPPORTED_PROXIABLEUUID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable state-variable-assignment\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":0},\"remappings\":[\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@zoralabs/mints-contracts/src/=node_modules/@zoralabs/mints-contracts/src/\",\":@zoralabs/openzeppelin-contracts-upgradeable/=node_modules/@zoralabs/openzeppelin-contracts-upgradeable/\",\":@zoralabs/protocol-rewards/src/=node_modules/@zoralabs/protocol-rewards/src/\",\":@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/\",\":_imagine/=_imagine/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":mint/=_imagine/mint/\",\":solady/=node_modules/solady/src/\",\":solemate/=/node_modules/solemate/src/\",\":solmate/=node_modules/solmate/\"]},\"sources\":{\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x1fb39c4ee00d25b8417b56a6d72ef1210e0713fce561a01e46da9bedb8262292\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d62f1fbfa005d8e1e8d67671199922e078dd094dd510b870ce12678c74ca175\",\"dweb:/ipfs/QmQdyVvGzh6o5M9WoBSRLQX1xvbZdfx9SLdJqUiNeRqoqJ\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x5e725d04c2ab3be6f5f3d88f9765bdc4f348bd1dcc8721988e4b2dc23c9aaafa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30307e26bb2029e987452d3e51e9242694604f53c5ec85e63e60d334e6c03648\",\"dweb:/ipfs/QmPKGiZpSC8LtRWfGhvTbCgefg9TaS9bHfPauJgxmNDiE7\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x162382e4756a38fc4e545d1675a6f03f995308cb048240ef785ccd4a65127d81\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a5f8bace422150c96ed8fd31ed1904b671da38a4a3d586fa9c5e46691efe7e3\",\"dweb:/ipfs/QmcC5umTaTFFh5ZqtczxhWqwxs7kMNpFW6NGvjHwpBeq3w\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0xaa54cafcfb6d757feeb8825e1132a07d2ef781ee592bbf25e23315dff370c711\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b2ed1e19ae2bc575a45c48d8ea7278b56aee35117eeee88c7c89e37abbab4\",\"dweb:/ipfs/QmQRv7zTZ2Draau2RXRdCv9oSvHSgsifrZYJL6Z7EyuaRv\"]},\"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0xb6d6948edfc140a50d8124eb3f921aa630f70fcde4c9e340aa2e126de18dc642\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7514a34b484c75435e64ce2b3948221fd1f7605f62294142d19671c74e5b8e1\",\"dweb:/ipfs/QmVxztY6NsvstBrpTnNxheQJnCtKhLCkAyVee6XiuJXBCj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.17+commit.8df45f5f"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ADDRESS_DELEGATECALL_TO_NON_CONTRACT"},{"inputs":[],"type":"error","name":"ADDRESS_LOW_LEVEL_CALL_FAILED"},{"inputs":[],"type":"error","name":"ERC1967_NEW_IMPL_NOT_CONTRACT"},{"inputs":[],"type":"error","name":"ERC1967_NEW_IMPL_NOT_UUPS"},{"inputs":[],"type":"error","name":"ERC1967_UNSUPPORTED_PROXIABLEUUID"},{"inputs":[],"type":"error","name":"FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY"},{"inputs":[],"type":"error","name":"FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL"},{"inputs":[],"type":"error","name":"UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/","@zoralabs/mints-contracts/src/=node_modules/@zoralabs/mints-contracts/src/","@zoralabs/openzeppelin-contracts-upgradeable/=node_modules/@zoralabs/openzeppelin-contracts-upgradeable/","@zoralabs/protocol-rewards/src/=node_modules/@zoralabs/protocol-rewards/src/","@zoralabs/shared-contracts/=node_modules/@zoralabs/shared-contracts/src/","_imagine/=_imagine/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","mint/=_imagine/mint/","solady/=node_modules/solady/src/","solemate/=/node_modules/solemate/src/","solmate/=node_modules/solmate/"],"optimizer":{"enabled":false,"runs":0},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":"UUPSUpgradeable"},"evmVersion":"london","libraries":{}},"sources":{"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x1fb39c4ee00d25b8417b56a6d72ef1210e0713fce561a01e46da9bedb8262292","urls":["bzz-raw://8d62f1fbfa005d8e1e8d67671199922e078dd094dd510b870ce12678c74ca175","dweb:/ipfs/QmQdyVvGzh6o5M9WoBSRLQX1xvbZdfx9SLdJqUiNeRqoqJ"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x5e725d04c2ab3be6f5f3d88f9765bdc4f348bd1dcc8721988e4b2dc23c9aaafa","urls":["bzz-raw://30307e26bb2029e987452d3e51e9242694604f53c5ec85e63e60d334e6c03648","dweb:/ipfs/QmPKGiZpSC8LtRWfGhvTbCgefg9TaS9bHfPauJgxmNDiE7"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x162382e4756a38fc4e545d1675a6f03f995308cb048240ef785ccd4a65127d81","urls":["bzz-raw://6a5f8bace422150c96ed8fd31ed1904b671da38a4a3d586fa9c5e46691efe7e3","dweb:/ipfs/QmcC5umTaTFFh5ZqtczxhWqwxs7kMNpFW6NGvjHwpBeq3w"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0xaa54cafcfb6d757feeb8825e1132a07d2ef781ee592bbf25e23315dff370c711","urls":["bzz-raw://849b2ed1e19ae2bc575a45c48d8ea7278b56aee35117eeee88c7c89e37abbab4","dweb:/ipfs/QmQRv7zTZ2Draau2RXRdCv9oSvHSgsifrZYJL6Z7EyuaRv"],"license":"MIT"},"node_modules/@zoralabs/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0xb6d6948edfc140a50d8124eb3f921aa630f70fcde4c9e340aa2e126de18dc642","urls":["bzz-raw://f7514a34b484c75435e64ce2b3948221fd1f7605f62294142d19671c74e5b8e1","dweb:/ipfs/QmVxztY6NsvstBrpTnNxheQJnCtKhLCkAyVee6XiuJXBCj"],"license":"MIT"}},"version":1},"id":58}