{"abi":[{"type":"function","name":"getContractAddress","inputs":[{"name":"contractConfig","type":"tuple","internalType":"struct ContractCreationConfig","components":[{"name":"contractAdmin","type":"address","internalType":"address"},{"name":"contractURI","type":"string","internalType":"string"},{"name":"contractName","type":"string","internalType":"string"}]}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getContractWithAdditionalAdminsAddress","inputs":[{"name":"contractConfig","type":"tuple","internalType":"struct ContractWithAdditionalAdminsCreationConfig","components":[{"name":"contractAdmin","type":"address","internalType":"address"},{"name":"contractURI","type":"string","internalType":"string"},{"name":"contractName","type":"string","internalType":"string"},{"name":"additionalAdmins","type":"address[]","internalType":"address[]"}]}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"premint","inputs":[{"name":"contractConfig","type":"tuple","internalType":"struct ContractWithAdditionalAdminsCreationConfig","components":[{"name":"contractAdmin","type":"address","internalType":"address"},{"name":"contractURI","type":"string","internalType":"string"},{"name":"contractName","type":"string","internalType":"string"},{"name":"additionalAdmins","type":"address[]","internalType":"address[]"}]},{"name":"premintCollection","type":"address","internalType":"address"},{"name":"premintConfigEncoded","type":"tuple","internalType":"struct PremintConfigEncoded","components":[{"name":"uid","type":"uint32","internalType":"uint32"},{"name":"version","type":"uint32","internalType":"uint32"},{"name":"deleted","type":"bool","internalType":"bool"},{"name":"tokenConfig","type":"bytes","internalType":"bytes"},{"name":"premintConfigVersion","type":"bytes32","internalType":"bytes32"}]},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"quantityToMint","type":"uint256","internalType":"uint256"},{"name":"mintArguments","type":"tuple","internalType":"struct MintArguments","components":[{"name":"mintRecipient","type":"address","internalType":"address"},{"name":"mintComment","type":"string","internalType":"string"},{"name":"mintRewardsRecipients","type":"address[]","internalType":"address[]"}]},{"name":"firstMinter","type":"address","internalType":"address"},{"name":"signerContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PremintResult","components":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"createdNewContract","type":"bool","internalType":"bool"}]}],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getContractAddress((address,string,string))":"2fc02bc2","getContractWithAdditionalAdminsAddress((address,string,string,address[]))":"76436a6d","premint((address,string,string,address[]),address,(uint32,uint32,bool,bytes,bytes32),bytes,uint256,(address,string,address[]),address,address)":"0a8945df"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"internalType\":\"struct ContractCreationConfig\",\"name\":\"contractConfig\",\"type\":\"tuple\"}],\"name\":\"getContractAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"additionalAdmins\",\"type\":\"address[]\"}],\"internalType\":\"struct ContractWithAdditionalAdminsCreationConfig\",\"name\":\"contractConfig\",\"type\":\"tuple\"}],\"name\":\"getContractWithAdditionalAdminsAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAdmin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"additionalAdmins\",\"type\":\"address[]\"}],\"internalType\":\"struct ContractWithAdditionalAdminsCreationConfig\",\"name\":\"contractConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"premintCollection\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"uid\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"version\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"tokenConfig\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"premintConfigVersion\",\"type\":\"bytes32\"}],\"internalType\":\"struct PremintConfigEncoded\",\"name\":\"premintConfigEncoded\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"quantityToMint\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"mintRecipient\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"mintComment\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"mintRewardsRecipients\",\"type\":\"address[]\"}],\"internalType\":\"struct MintArguments\",\"name\":\"mintArguments\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"firstMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"signerContract\",\"type\":\"address\"}],\"name\":\"premint\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"createdNewContract\",\"type\":\"bool\"}],\"internalType\":\"struct PremintResult\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"premint((address,string,string,address[]),address,(uint32,uint32,bool,bytes,bytes32),bytes,uint256,(address,string,address[]),address,address)\":{\"details\":\"For use with of any version of premint config\",\"params\":{\"contractConfig\":\"Parameters for creating a new contract, if one doesn't exist yet.  Used to resolve the deterministic contract address.\",\"firstMinter\":\"account to get the firstMinter reward for the token\",\"mintArguments\":\"mint arguments specifying the token mint recipient, mint comment, and mint referral\",\"premintCollection\":\"If this parameter is provided, the premint will be executed against this contract address, and the contractConfig will be ignored.\",\"premintConfigEncoded\":\"abi encoded premint config\",\"quantityToMint\":\"How many tokens to mint to the mintRecipient\",\"signature\":\"Signature of the creator of the token, which must match the signer of the premint config, or have permission to create new tokens on the erc1155 contract if it's already been created\",\"signerContract\":\"If a smart wallet was used to create the premint, the address of that smart wallet. Otherwise, set to address(0)\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"premint((address,string,string,address[]),address,(uint32,uint32,bool,bytes,bytes32),bytes,uint256,(address,string,address[]),address,address)\":{\"notice\":\"Creates a new token on the given erc1155 contract on behalf of a creator, and mints x tokens to the executor of this transaction. If a premintCollectionparameter is provided, it will execute the premint against the contract at that address. If the premintCollection parameter is not provided, it will get or create an 1155 contract at a deterministic address using the contractConfig. The creator must sign the intent to create the token, and must have mint new token permission on the erc1155 contract, or match the contract admin on the contract creation config if the contract hasn't been created yet. Contract address of the created contract is deterministically generated from the contract config and this contract's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@zoralabs/shared-contracts/src/interfaces/IZoraCreator1155PremintExecutorAllVersions.sol\":\"IZoraCreator1155PremintExecutorAllVersions\"},\"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/shared-contracts/src/entities/Premint.sol\":{\"keccak256\":\"0xc6848a26d110f420e71a6ee1a76046e6b5734e088f0c16bc4e37588a4e7e607d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc647d37f63a988d293257d4e7ad57ab79b5f232f4191943061c2eebf0e33b\",\"dweb:/ipfs/QmV2EfrA8opYnHF3quR7mQ7zuji4B42mkvYsQKgeVXevab\"]},\"node_modules/@zoralabs/shared-contracts/src/interfaces/IGetContractAddress.sol\":{\"keccak256\":\"0x7c307fc0ca2d4f88dc1fdc1c758e4f9da114ae67ac388e2fd0cfefb8c5922a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be2513396c1c3a22bce490472889fce7f955145f3e22fe74955ef00b63ad2972\",\"dweb:/ipfs/QmZ6s6jWsAZ8mbcap6q96BZGQ69L5JYZxj7Ngv2NdVJu6A\"]},\"node_modules/@zoralabs/shared-contracts/src/interfaces/IZoraCreator1155PremintExecutorAllVersions.sol\":{\"keccak256\":\"0x6daf65d2e9846920fefcd24156fc1db6bc1358137820122720f426ccbe37b490\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce83eae729b354e669e35e08dd71866485c54c86cf8c5f9064c9c11983939177\",\"dweb:/ipfs/QmSK4hpqSR9Hppy7np6sGThb9y6FYm5Arpo6B52p2cRyWt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.17+commit.8df45f5f"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct ContractCreationConfig","name":"contractConfig","type":"tuple","components":[{"internalType":"address","name":"contractAdmin","type":"address"},{"internalType":"string","name":"contractURI","type":"string"},{"internalType":"string","name":"contractName","type":"string"}]}],"stateMutability":"view","type":"function","name":"getContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct ContractWithAdditionalAdminsCreationConfig","name":"contractConfig","type":"tuple","components":[{"internalType":"address","name":"contractAdmin","type":"address"},{"internalType":"string","name":"contractURI","type":"string"},{"internalType":"string","name":"contractName","type":"string"},{"internalType":"address[]","name":"additionalAdmins","type":"address[]"}]}],"stateMutability":"view","type":"function","name":"getContractWithAdditionalAdminsAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct ContractWithAdditionalAdminsCreationConfig","name":"contractConfig","type":"tuple","components":[{"internalType":"address","name":"contractAdmin","type":"address"},{"internalType":"string","name":"contractURI","type":"string"},{"internalType":"string","name":"contractName","type":"string"},{"internalType":"address[]","name":"additionalAdmins","type":"address[]"}]},{"internalType":"address","name":"premintCollection","type":"address"},{"internalType":"struct PremintConfigEncoded","name":"premintConfigEncoded","type":"tuple","components":[{"internalType":"uint32","name":"uid","type":"uint32"},{"internalType":"uint32","name":"version","type":"uint32"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"bytes","name":"tokenConfig","type":"bytes"},{"internalType":"bytes32","name":"premintConfigVersion","type":"bytes32"}]},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"uint256","name":"quantityToMint","type":"uint256"},{"internalType":"struct MintArguments","name":"mintArguments","type":"tuple","components":[{"internalType":"address","name":"mintRecipient","type":"address"},{"internalType":"string","name":"mintComment","type":"string"},{"internalType":"address[]","name":"mintRewardsRecipients","type":"address[]"}]},{"internalType":"address","name":"firstMinter","type":"address"},{"internalType":"address","name":"signerContract","type":"address"}],"stateMutability":"payable","type":"function","name":"premint","outputs":[{"internalType":"struct PremintResult","name":"","type":"tuple","components":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bool","name":"createdNewContract","type":"bool"}]}]}],"devdoc":{"kind":"dev","methods":{"premint((address,string,string,address[]),address,(uint32,uint32,bool,bytes,bytes32),bytes,uint256,(address,string,address[]),address,address)":{"details":"For use with of any version of premint config","params":{"contractConfig":"Parameters for creating a new contract, if one doesn't exist yet.  Used to resolve the deterministic contract address.","firstMinter":"account to get the firstMinter reward for the token","mintArguments":"mint arguments specifying the token mint recipient, mint comment, and mint referral","premintCollection":"If this parameter is provided, the premint will be executed against this contract address, and the contractConfig will be ignored.","premintConfigEncoded":"abi encoded premint config","quantityToMint":"How many tokens to mint to the mintRecipient","signature":"Signature of the creator of the token, which must match the signer of the premint config, or have permission to create new tokens on the erc1155 contract if it's already been created","signerContract":"If a smart wallet was used to create the premint, the address of that smart wallet. Otherwise, set to address(0)"}}},"version":1},"userdoc":{"kind":"user","methods":{"premint((address,string,string,address[]),address,(uint32,uint32,bool,bytes,bytes32),bytes,uint256,(address,string,address[]),address,address)":{"notice":"Creates a new token on the given erc1155 contract on behalf of a creator, and mints x tokens to the executor of this transaction. If a premintCollectionparameter is provided, it will execute the premint against the contract at that address. If the premintCollection parameter is not provided, it will get or create an 1155 contract at a deterministic address using the contractConfig. The creator must sign the intent to create the token, and must have mint new token permission on the erc1155 contract, or match the contract admin on the contract creation config if the contract hasn't been created yet. Contract address of the created contract is deterministically generated from the contract config and this contract's address."}},"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/shared-contracts/src/interfaces/IZoraCreator1155PremintExecutorAllVersions.sol":"IZoraCreator1155PremintExecutorAllVersions"},"evmVersion":"london","libraries":{}},"sources":{"node_modules/@zoralabs/shared-contracts/src/entities/Premint.sol":{"keccak256":"0xc6848a26d110f420e71a6ee1a76046e6b5734e088f0c16bc4e37588a4e7e607d","urls":["bzz-raw://bacc647d37f63a988d293257d4e7ad57ab79b5f232f4191943061c2eebf0e33b","dweb:/ipfs/QmV2EfrA8opYnHF3quR7mQ7zuji4B42mkvYsQKgeVXevab"],"license":"MIT"},"node_modules/@zoralabs/shared-contracts/src/interfaces/IGetContractAddress.sol":{"keccak256":"0x7c307fc0ca2d4f88dc1fdc1c758e4f9da114ae67ac388e2fd0cfefb8c5922a15","urls":["bzz-raw://be2513396c1c3a22bce490472889fce7f955145f3e22fe74955ef00b63ad2972","dweb:/ipfs/QmZ6s6jWsAZ8mbcap6q96BZGQ69L5JYZxj7Ngv2NdVJu6A"],"license":"MIT"},"node_modules/@zoralabs/shared-contracts/src/interfaces/IZoraCreator1155PremintExecutorAllVersions.sol":{"keccak256":"0x6daf65d2e9846920fefcd24156fc1db6bc1358137820122720f426ccbe37b490","urls":["bzz-raw://ce83eae729b354e669e35e08dd71866485c54c86cf8c5f9064c9c11983939177","dweb:/ipfs/QmSK4hpqSR9Hppy7np6sGThb9y6FYm5Arpo6B52p2cRyWt"],"license":"MIT"}},"version":1},"id":97}