////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ERC20Minter ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const erc20MinterABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'config', internalType: 'struct IERC20Minter.PremintSalesConfig', type: 'tuple', components: [ { name: 'duration', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'currency', internalType: 'address', type: 'address' }, ], }, ], name: 'buildSalesConfigForPremint', outputs: [ { name: '', internalType: 'struct IERC20Minter.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'currency', internalType: 'address', type: 'address' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'cancelOwnershipTransfer', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'totalReward', internalType: 'uint256', type: 'uint256' }], name: 'computePaidMintRewards', outputs: [ { name: '', internalType: 'struct IERC20Minter.RewardsSettings', type: 'tuple', components: [ { name: 'createReferralReward', internalType: 'uint256', type: 'uint256', }, { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256', }, { name: 'zoraReward', internalType: 'uint256', type: 'uint256' }, { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256', }, ], }, ], }, { stateMutability: 'pure', type: 'function', inputs: [ { name: 'totalReward', internalType: 'uint256', type: 'uint256' }, { name: 'rewardPct', internalType: 'uint256', type: 'uint256' }, ], name: 'computeReward', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'totalValue', internalType: 'uint256', type: 'uint256' }], name: 'computeTotalReward', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'ethRewardAmount', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'getCreateReferral', outputs: [ { name: 'createReferral', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'getERC20MinterConfig', outputs: [ { name: '', internalType: 'struct IERC20Minter.ERC20MinterConfig', type: 'tuple', components: [ { name: 'zoraRewardRecipientAddress', internalType: 'address', type: 'address', }, { name: 'rewardRecipientPercentage', internalType: 'uint256', type: 'uint256', }, { name: 'ethReward', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'getFirstMinter', outputs: [ { name: 'firstMinter', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'wallet', internalType: 'address', type: 'address' }, ], name: 'getMintedPerWallet', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_zoraRewardRecipientAddress', internalType: 'address', type: 'address', }, { name: '_owner', internalType: 'address', type: 'address' }, { name: '_rewardPct', internalType: 'uint256', type: 'uint256' }, { name: '_ethReward', internalType: 'uint256', type: 'uint256' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'tokenAddress', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'totalValue', internalType: 'uint256', type: 'uint256' }, { name: 'currency', internalType: 'address', type: 'address' }, { name: 'mintReferral', internalType: 'address', type: 'address' }, { name: 'comment', internalType: 'string', type: 'string' }, ], name: 'mint', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'minterConfig', outputs: [ { name: 'zoraRewardRecipientAddress', internalType: 'address', type: 'address', }, { name: 'rewardRecipientPercentage', internalType: 'uint256', type: 'uint256', }, { name: 'ethReward', internalType: 'uint256', type: 'uint256' }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'pure', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], name: 'requestMint', outputs: [ { name: '', internalType: 'struct ICreatorCommands.CommandSet', type: 'tuple', components: [ { name: 'commands', internalType: 'struct ICreatorCommands.Command[]', type: 'tuple[]', components: [ { name: 'method', internalType: 'enum ICreatorCommands.CreatorActions', type: 'uint8', }, { name: 'args', internalType: 'bytes', type: 'bytes' }, ], }, { name: 'at', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'resetSale', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'resignOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'safeTransferOwnership', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'sale', outputs: [ { name: '', internalType: 'struct IERC20Minter.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'currency', internalType: 'address', type: 'address' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'config', internalType: 'struct IERC20Minter.ERC20MinterConfig', type: 'tuple', components: [ { name: 'zoraRewardRecipientAddress', internalType: 'address', type: 'address', }, { name: 'rewardRecipientPercentage', internalType: 'uint256', type: 'uint256', }, { name: 'ethReward', internalType: 'uint256', type: 'uint256' }, ], }, ], name: 'setERC20MinterConfig', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'encodedPremintSalesConfig', internalType: 'bytes', type: 'bytes', }, ], name: 'setPremintSale', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'salesConfig', internalType: 'struct IERC20Minter.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'currency', internalType: 'address', type: 'address' }, ], }, ], name: 'setSale', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'totalRewardPct', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], }, { type: 'event', anonymous: false, inputs: [ { name: 'config', internalType: 'struct IERC20Minter.ERC20MinterConfig', type: 'tuple', components: [ { name: 'zoraRewardRecipientAddress', internalType: 'address', type: 'address', }, { name: 'rewardRecipientPercentage', internalType: 'uint256', type: 'uint256', }, { name: 'ethReward', internalType: 'uint256', type: 'uint256' }, ], indexed: false, }, ], name: 'ERC20MinterConfigSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'createReferral', internalType: 'address', type: 'address', indexed: true, }, { name: 'mintReferral', internalType: 'address', type: 'address', indexed: true, }, { name: 'firstMinter', internalType: 'address', type: 'address', indexed: true, }, { name: 'zora', internalType: 'address', type: 'address', indexed: false, }, { name: 'collection', internalType: 'address', type: 'address', indexed: false, }, { name: 'currency', internalType: 'address', type: 'address', indexed: false, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'createReferralReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'zoraReward', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'ERC20RewardsDeposit', }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'sender', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'quantity', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'comment', internalType: 'string', type: 'string', indexed: false, }, ], name: 'MintComment', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'canceledOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerCanceled', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'pendingOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerPending', }, { type: 'event', anonymous: false, inputs: [ { name: 'prevOwner', internalType: 'address', type: 'address', indexed: true, }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'mediaContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'salesConfig', internalType: 'struct IERC20Minter.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'currency', internalType: 'address', type: 'address' }, ], indexed: false, }, ], name: 'SaleSet', }, { type: 'error', inputs: [], name: 'AddressZero' }, { type: 'error', inputs: [], name: 'ERC20TransferSlippage' }, { type: 'error', inputs: [], name: 'FailedToSendEthReward' }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING', }, { type: 'error', inputs: [], name: 'InvalidCurrency' }, { type: 'error', inputs: [ { name: 'expectedValue', internalType: 'uint256', type: 'uint256' }, { name: 'actualValue', internalType: 'uint256', type: 'uint256' }, ], name: 'InvalidETHValue', }, { type: 'error', inputs: [], name: 'InvalidValue' }, { type: 'error', inputs: [], name: 'ONLY_OWNER' }, { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' }, { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'PricePerTokenTooLow' }, { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'limit', internalType: 'uint256', type: 'uint256' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'UserExceedsMintLimit', }, { type: 'error', inputs: [], name: 'WrongValueSent' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // IPremintDefinitions ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const iPremintDefinitionsABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'struct TokenCreationConfig', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, ], }, ], name: 'tokenConfigV1Definition', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'struct TokenCreationConfigV2', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'payoutRecipient', internalType: 'address', type: 'address' }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, { name: 'createReferral', internalType: 'address', type: 'address' }, ], }, ], name: 'tokenConfigV2Definition', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'struct TokenCreationConfigV3', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'payoutRecipient', internalType: 'address', type: 'address' }, { name: 'createReferral', internalType: 'address', type: 'address' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'minter', internalType: 'address', type: 'address' }, { name: 'premintSalesConfig', internalType: 'bytes', type: 'bytes' }, ], }, ], name: 'tokenConfigV3Definition', outputs: [], }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ProtocolRewards ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const protocolRewardsABI = [ { stateMutability: 'payable', type: 'constructor', inputs: [] }, { stateMutability: 'view', type: 'function', inputs: [], name: 'WITHDRAW_TYPEHASH', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'address', type: 'address' }], name: 'balanceOf', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'to', internalType: 'address', type: 'address' }, { name: 'reason', internalType: 'bytes4', type: 'bytes4' }, { name: 'comment', internalType: 'string', type: 'string' }, ], name: 'deposit', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'recipients', internalType: 'address[]', type: 'address[]' }, { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, { name: 'reasons', internalType: 'bytes4[]', type: 'bytes4[]' }, { name: 'comment', internalType: 'string', type: 'string' }, ], name: 'depositBatch', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'creator', internalType: 'address', type: 'address' }, { name: 'creatorReward', internalType: 'uint256', type: 'uint256' }, { name: 'createReferral', internalType: 'address', type: 'address' }, { name: 'createReferralReward', internalType: 'uint256', type: 'uint256', }, { name: 'mintReferral', internalType: 'address', type: 'address' }, { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256' }, { name: 'firstMinter', internalType: 'address', type: 'address' }, { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256' }, { name: 'zora', internalType: 'address', type: 'address' }, { name: 'zoraReward', internalType: 'uint256', type: 'uint256' }, ], name: 'depositRewards', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'eip712Domain', outputs: [ { name: 'fields', internalType: 'bytes1', type: 'bytes1' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'version', internalType: 'string', type: 'string' }, { name: 'chainId', internalType: 'uint256', type: 'uint256' }, { name: 'verifyingContract', internalType: 'address', type: 'address' }, { name: 'salt', internalType: 'bytes32', type: 'bytes32' }, { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' }, ], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'address', type: 'address' }], name: 'nonces', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'totalSupply', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'to', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'withdraw', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'to', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'withdrawFor', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'deadline', internalType: 'uint256', type: 'uint256' }, { name: 'v', internalType: 'uint8', type: 'uint8' }, { name: 'r', internalType: 'bytes32', type: 'bytes32' }, { name: 's', internalType: 'bytes32', type: 'bytes32' }, ], name: 'withdrawWithSig', outputs: [], }, { type: 'event', anonymous: false, inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'reason', internalType: 'bytes4', type: 'bytes4', indexed: true }, { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'comment', internalType: 'string', type: 'string', indexed: false, }, ], name: 'Deposit', }, { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' }, { type: 'event', anonymous: false, inputs: [ { name: 'creator', internalType: 'address', type: 'address', indexed: true, }, { name: 'createReferral', internalType: 'address', type: 'address', indexed: true, }, { name: 'mintReferral', internalType: 'address', type: 'address', indexed: true, }, { name: 'firstMinter', internalType: 'address', type: 'address', indexed: false, }, { name: 'zora', internalType: 'address', type: 'address', indexed: false, }, { name: 'from', internalType: 'address', type: 'address', indexed: false, }, { name: 'creatorReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'createReferralReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'zoraReward', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'RewardsDeposit', }, { type: 'event', anonymous: false, inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'amount', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Withdraw', }, { type: 'error', inputs: [], name: 'ADDRESS_ZERO' }, { type: 'error', inputs: [], name: 'ARRAY_LENGTH_MISMATCH' }, { type: 'error', inputs: [], name: 'INVALID_DEPOSIT' }, { type: 'error', inputs: [], name: 'INVALID_SIGNATURE' }, { type: 'error', inputs: [], name: 'INVALID_WITHDRAW' }, { type: 'error', inputs: [], name: 'InvalidShortString' }, { type: 'error', inputs: [], name: 'SIGNATURE_DEADLINE_EXPIRED' }, { type: 'error', inputs: [{ name: 'str', internalType: 'string', type: 'string' }], name: 'StringTooLong', }, { type: 'error', inputs: [], name: 'TRANSFER_FAILED' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // UpgradeGate ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const upgradeGateABI = [ { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'cancelOwnershipTransfer', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_initialOwner', internalType: 'address', type: 'address' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'address', type: 'address' }, ], name: 'isAllowedUpgrade', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'baseImpl', internalType: 'address', type: 'address' }, { name: 'upgradeImpl', internalType: 'address', type: 'address' }, ], name: 'isRegisteredUpgradePath', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'baseImpls', internalType: 'address[]', type: 'address[]' }, { name: 'upgradeImpl', internalType: 'address', type: 'address' }, ], name: 'registerUpgradePath', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'baseImpl', internalType: 'address', type: 'address' }, { name: 'upgradeImpl', internalType: 'address', type: 'address' }, ], name: 'removeUpgradePath', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'resignOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'safeTransferOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'canceledOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerCanceled', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'pendingOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerPending', }, { type: 'event', anonymous: false, inputs: [ { name: 'prevOwner', internalType: 'address', type: 'address', indexed: true, }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerUpdated', }, { type: 'event', anonymous: false, inputs: [], name: 'UpgradeGateSetup' }, { type: 'event', anonymous: false, inputs: [ { name: 'baseImpl', internalType: 'address', type: 'address', indexed: true, }, { name: 'upgradeImpl', internalType: 'address', type: 'address', indexed: true, }, ], name: 'UpgradeRegistered', }, { type: 'event', anonymous: false, inputs: [ { name: 'baseImpl', internalType: 'address', type: 'address', indexed: true, }, { name: 'upgradeImpl', internalType: 'address', type: 'address', indexed: true, }, ], name: 'UpgradeRemoved', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING', }, { type: 'error', inputs: [], name: 'ONLY_OWNER' }, { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' }, { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreator1155FactoryImpl ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreator1155FactoryImplABI = [ { stateMutability: 'nonpayable', type: 'constructor', inputs: [ { name: '_zora1155Impl', internalType: 'contract IZoraCreator1155', type: 'address', }, { name: '_merkleMinter', internalType: 'contract IMinter1155', type: 'address', }, { name: '_fixedPriceMinter', internalType: 'contract IMinter1155', type: 'address', }, { name: '_redeemMinterFactory', internalType: 'contract IMinter1155', type: 'address', }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'cancelOwnershipTransfer', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'defaultRoyaltyConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, { name: 'defaultAdmin', internalType: 'address payable', type: 'address', }, { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' }, ], name: 'createContract', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'defaultRoyaltyConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, { name: 'defaultAdmin', internalType: 'address payable', type: 'address', }, { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' }, ], name: 'createContractDeterministic', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'defaultMinters', outputs: [ { name: 'minters', internalType: 'contract IMinter1155[]', type: 'address[]', }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'msgSender', internalType: 'address', type: 'address' }, { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'contractAdmin', internalType: 'address', type: 'address' }, ], name: 'deterministicContractAddress', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'msgSender', internalType: 'address', type: 'address' }, { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' }, ], name: 'deterministicContractAddressWithSetupActions', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'fixedPriceMinter', outputs: [ { name: '', internalType: 'contract IMinter1155', type: 'address' }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'expectedContractAddress', internalType: 'address', type: 'address', }, { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'name', internalType: 'string', type: 'string' }, { name: 'defaultRoyaltyConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, { name: 'defaultAdmin', internalType: 'address payable', type: 'address', }, { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' }, ], name: 'getOrCreateContractDeterministic', outputs: [ { name: 'calculatedContractAddress', internalType: 'address', type: 'address', }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'implementation', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_initialOwner', internalType: 'address', type: 'address' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'merkleMinter', outputs: [ { name: '', internalType: 'contract IMinter1155', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'proxiableUUID', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'redeemMinterFactory', outputs: [ { name: '', internalType: 'contract IMinter1155', type: 'address' }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'resignOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'safeTransferOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, ], name: 'upgradeTo', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'upgradeToAndCall', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'zora1155Impl', outputs: [ { name: '', internalType: 'contract IZoraCreator1155', type: 'address' }, ], }, { type: 'event', anonymous: false, inputs: [ { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false, }, { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false, }, ], name: 'AdminChanged', }, { type: 'event', anonymous: false, inputs: [ { name: 'beacon', internalType: 'address', type: 'address', indexed: true, }, ], name: 'BeaconUpgraded', }, { type: 'event', anonymous: false, inputs: [ { name: 'calculatedContractAddress', internalType: 'address', type: 'address', indexed: false, }, ], name: 'ContractAlreadyExistsSkippingDeploy', }, { type: 'event', anonymous: false, inputs: [], name: 'FactorySetup' }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'canceledOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerCanceled', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'pendingOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerPending', }, { type: 'event', anonymous: false, inputs: [ { name: 'prevOwner', internalType: 'address', type: 'address', indexed: true, }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'newContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'creator', internalType: 'address', type: 'address', indexed: true, }, { name: 'defaultAdmin', internalType: 'address', type: 'address', indexed: true, }, { name: 'contractURI', internalType: 'string', type: 'string', indexed: false, }, { name: 'name', internalType: 'string', type: 'string', indexed: false }, { name: 'defaultRoyaltyConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], indexed: false, }, ], name: 'SetupNewContract', }, { type: 'event', anonymous: false, inputs: [ { name: 'implementation', internalType: 'address', type: 'address', indexed: true, }, ], name: 'Upgraded', }, { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' }, { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' }, { type: 'error', inputs: [], name: 'Constructor_ImplCannotBeZero' }, { 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: 'expectedContractAddress', internalType: 'address', type: 'address', }, { name: 'calculcatedContractAddress', internalType: 'address', type: 'address', }, ], name: 'ExpectedContractAddressDoesNotMatchCalculatedContractAddress', }, { 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: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING', }, { type: 'error', inputs: [], name: 'ONLY_OWNER' }, { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' }, { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL', }, { type: 'error', inputs: [ { name: 'expected', internalType: 'string', type: 'string' }, { name: 'actual', internalType: 'string', type: 'string' }, ], name: 'UpgradeToMismatchedContractName', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreator1155Impl ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreator1155ImplABI = [ { stateMutability: 'nonpayable', type: 'constructor', inputs: [ { name: '_mintFeeRecipient', internalType: 'address', type: 'address' }, { name: '_upgradeGate', internalType: 'address', type: 'address' }, { name: '_protocolRewards', internalType: 'address', type: 'address' }, { name: '_timedSaleStrategy', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'payable', type: 'receive' }, { stateMutability: 'view', type: 'function', inputs: [], name: 'CONTRACT_BASE_ID', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'PERMISSION_BIT_ADMIN', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'PERMISSION_BIT_FUNDS_MANAGER', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'PERMISSION_BIT_METADATA', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'PERMISSION_BIT_MINTER', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'PERMISSION_BIT_SALES', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'user', internalType: 'address', type: 'address' }, { name: 'permissionBits', internalType: 'uint256', type: 'uint256' }, ], name: 'addPermission', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'recipient', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'adminMint', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'lastTokenId', internalType: 'uint256', type: 'uint256' }], name: 'assumeLastTokenIdMatches', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'account', internalType: 'address', type: 'address' }, { name: 'id', internalType: 'uint256', type: 'uint256' }, ], name: 'balanceOf', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'accounts', internalType: 'address[]', type: 'address[]' }, { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' }, ], name: 'balanceOfBatch', outputs: [ { name: 'batchBalances', internalType: 'uint256[]', type: 'uint256[]' }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' }, { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, ], name: 'burnBatch', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'callRenderer', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'salesConfig', internalType: 'contract IMinter1155', type: 'address', }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'callSale', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [ { name: 'mintPrice', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, ], name: 'computeTotalReward', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'config', outputs: [ { name: 'owner', internalType: 'address', type: 'address' }, { name: '__gap1', internalType: 'uint96', type: 'uint96' }, { name: 'fundsRecipient', internalType: 'address payable', type: 'address', }, { name: '__gap2', internalType: 'uint96', type: 'uint96' }, { name: 'transferHook', internalType: 'contract ITransferHookReceiver', type: 'address', }, { name: '__gap3', internalType: 'uint96', type: 'uint96' }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'createReferrals', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'customRenderers', outputs: [ { name: '', internalType: 'contract IRenderer1155', type: 'address' }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'premintConfig', internalType: 'bytes', type: 'bytes' }, { name: 'premintVersion', internalType: 'bytes32', type: 'bytes32' }, { name: 'signature', internalType: 'bytes', type: 'bytes' }, { name: 'firstMinter', internalType: 'address', type: 'address' }, { name: 'premintSignerContract', internalType: 'address', type: 'address', }, ], name: 'delegateSetupNewToken', outputs: [{ name: 'newTokenId', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint32', type: 'uint32' }], name: 'delegatedTokenId', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'firstMinters', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'getCreatorRewardRecipient', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'getCustomRenderer', outputs: [ { name: 'customRenderer', internalType: 'contract IRenderer1155', type: 'address', }, ], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'getRoyalties', outputs: [ { name: '', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'getTokenInfo', outputs: [ { name: '', internalType: 'struct IZoraCreator1155TypesV1.TokenData', type: 'tuple', components: [ { name: 'uri', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'totalMinted', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'implementation', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'contractName', internalType: 'string', type: 'string' }, { name: 'newContractURI', internalType: 'string', type: 'string' }, { name: 'defaultRoyaltyConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, { name: 'defaultAdmin', internalType: 'address payable', type: 'address', }, { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'role', internalType: 'uint256', type: 'uint256' }, ], name: 'isAdminOrRole', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'account', internalType: 'address', type: 'address' }, { name: 'operator', internalType: 'address', type: 'address' }, ], name: 'isApprovedForAll', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'metadataRendererContract', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'minter', internalType: 'contract IMinter1155', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'rewardsRecipients', internalType: 'address[]', type: 'address[]', }, { name: 'minterArguments', internalType: 'bytes', type: 'bytes' }, ], name: 'mint', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'mintFee', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }], name: 'multicall', outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'name', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'nextTokenId', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'address', type: 'address' }, ], name: 'permissions', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'proxiableUUID', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'newMaxSupply', internalType: 'uint256', type: 'uint256' }, ], name: 'reduceSupply', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'user', internalType: 'address', type: 'address' }, { name: 'permissionBits', internalType: 'uint256', type: 'uint256' }, ], name: 'removePermission', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'royalties', outputs: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'salePrice', internalType: 'uint256', type: 'uint256' }, ], name: 'royaltyInfo', outputs: [ { name: 'receiver', internalType: 'address', type: 'address' }, { name: 'royaltyAmount', internalType: 'uint256', type: 'uint256' }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' }, { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'safeBatchTransferFrom', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'from', internalType: 'address', type: 'address' }, { name: 'to', internalType: 'address', type: 'address' }, { name: 'id', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'safeTransferFrom', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'operator', internalType: 'address', type: 'address' }, { name: 'approved', internalType: 'bool', type: 'bool' }, ], name: 'setApprovalForAll', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'fundsRecipient', internalType: 'address payable', type: 'address', }, ], name: 'setFundsRecipient', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], name: 'setOwner', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'renderer', internalType: 'contract IRenderer1155', type: 'address', }, ], name: 'setTokenMetadataRenderer', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'transferHook', internalType: 'contract ITransferHookReceiver', type: 'address', }, ], name: 'setTransferHook', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, ], name: 'setupNewToken', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'createReferral', internalType: 'address', type: 'address' }, ], name: 'setupNewTokenWithCreateReferral', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'supportedPremintSignatureVersions', outputs: [{ name: '', internalType: 'string[]', type: 'string[]' }], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'symbol', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_newURI', internalType: 'string', type: 'string' }, { name: '_newName', internalType: 'string', type: 'string' }, ], name: 'updateContractMetadata', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'recipient', internalType: 'address', type: 'address' }, ], name: 'updateCreateReferral', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'newConfiguration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], }, ], name: 'updateRoyaltiesForToken', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: '_newURI', internalType: 'string', type: 'string' }, ], name: 'updateTokenURI', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, ], name: 'upgradeTo', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'upgradeToAndCall', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'uri', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'withdraw', outputs: [], }, { type: 'event', anonymous: false, inputs: [ { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false, }, { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false, }, ], name: 'AdminChanged', }, { type: 'event', anonymous: false, inputs: [ { name: 'account', internalType: 'address', type: 'address', indexed: true, }, { name: 'operator', internalType: 'address', type: 'address', indexed: true, }, { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], name: 'ApprovalForAll', }, { type: 'event', anonymous: false, inputs: [ { name: 'beacon', internalType: 'address', type: 'address', indexed: true, }, ], name: 'BeaconUpgraded', }, { type: 'event', anonymous: false, inputs: [ { name: 'updater', internalType: 'address', type: 'address', indexed: true, }, { name: 'updateType', internalType: 'enum IZoraCreator1155.ConfigUpdate', type: 'uint8', indexed: true, }, { name: 'newConfig', internalType: 'struct IZoraCreator1155TypesV1.ContractConfig', type: 'tuple', components: [ { name: 'owner', internalType: 'address', type: 'address' }, { name: '__gap1', internalType: 'uint96', type: 'uint96' }, { name: 'fundsRecipient', internalType: 'address payable', type: 'address', }, { name: '__gap2', internalType: 'uint96', type: 'uint96' }, { name: 'transferHook', internalType: 'contract ITransferHookReceiver', type: 'address', }, { name: '__gap3', internalType: 'uint96', type: 'uint96' }, ], indexed: false, }, ], name: 'ConfigUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'updater', internalType: 'address', type: 'address', indexed: true, }, { name: 'uri', internalType: 'string', type: 'string', indexed: false }, { name: 'name', internalType: 'string', type: 'string', indexed: false }, ], name: 'ContractMetadataUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'renderer', internalType: 'contract IRenderer1155', type: 'address', indexed: false, }, ], name: 'ContractRendererUpdated', }, { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' }, { type: 'event', anonymous: false, inputs: [ { name: 'structHash', internalType: 'bytes32', type: 'bytes32', indexed: false, }, { name: 'domainName', internalType: 'string', type: 'string', indexed: false, }, { name: 'version', internalType: 'string', type: 'string', indexed: false, }, { name: 'creator', internalType: 'address', type: 'address', indexed: false, }, { name: 'signature', internalType: 'bytes', type: 'bytes', indexed: false, }, ], name: 'CreatorAttribution', }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'lastOwner', internalType: 'address', type: 'address', indexed: false, }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: false, }, ], name: 'OwnershipTransferred', }, { type: 'event', anonymous: false, inputs: [ { name: 'sender', internalType: 'address', type: 'address', indexed: true, }, { name: 'minter', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'quantity', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Purchased', }, { type: 'event', anonymous: false, inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'renderer', internalType: 'address', type: 'address', indexed: true, }, { name: 'user', internalType: 'address', type: 'address', indexed: true }, ], name: 'RendererUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'sender', internalType: 'address', type: 'address', indexed: true, }, { name: 'newURI', internalType: 'string', type: 'string', indexed: false, }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'SetupNewToken', }, { type: 'event', anonymous: false, inputs: [ { name: 'operator', internalType: 'address', type: 'address', indexed: true, }, { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'ids', internalType: 'uint256[]', type: 'uint256[]', indexed: false, }, { name: 'values', internalType: 'uint256[]', type: 'uint256[]', indexed: false, }, ], name: 'TransferBatch', }, { type: 'event', anonymous: false, inputs: [ { name: 'operator', internalType: 'address', type: 'address', indexed: true, }, { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'to', internalType: 'address', type: 'address', indexed: true }, { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false }, { name: 'value', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'TransferSingle', }, { type: 'event', anonymous: false, inputs: [ { name: 'value', internalType: 'string', type: 'string', indexed: false }, { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true }, ], name: 'URI', }, { type: 'event', anonymous: false, inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'permissions', internalType: 'uint256', type: 'uint256', indexed: true, }, ], name: 'UpdatedPermissions', }, { type: 'event', anonymous: false, inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'user', internalType: 'address', type: 'address', indexed: true }, { name: 'configuration', internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration', type: 'tuple', components: [ { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, ], indexed: false, }, ], name: 'UpdatedRoyalties', }, { type: 'event', anonymous: false, inputs: [ { name: 'from', internalType: 'address', type: 'address', indexed: true }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'tokenData', internalType: 'struct IZoraCreator1155TypesV1.TokenData', type: 'tuple', components: [ { name: 'uri', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'totalMinted', internalType: 'uint256', type: 'uint256' }, ], indexed: false, }, ], name: 'UpdatedToken', }, { type: 'event', anonymous: false, inputs: [ { name: 'implementation', internalType: 'address', type: 'address', indexed: true, }, ], name: 'Upgraded', }, { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' }, { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' }, { type: 'error', inputs: [ { name: 'operator', internalType: 'address', type: 'address' }, { name: 'user', internalType: 'address', type: 'address' }, ], name: 'Burn_NotOwnerOrApproved', }, { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' }, { type: 'error', inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }], name: 'CallFailed', }, { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' }, { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' }, { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' }, { type: 'error', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'totalMinted', internalType: 'uint256', type: 'uint256' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, ], name: 'CannotMintMoreTokens', }, { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' }, { type: 'error', inputs: [ { name: 'proposedAddress', internalType: 'address', type: 'address' }, ], name: 'Config_TransferHookNotSupported', }, { type: 'error', inputs: [], name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH', }, { type: 'error', inputs: [], name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER', }, { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' }, { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED', }, { type: 'error', inputs: [], name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS', }, { type: 'error', inputs: [], name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH', }, { type: 'error', inputs: [], name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER', }, { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' }, { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER', }, { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' }, { 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: 'recipient', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'ETHWithdrawFailed', }, { 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: 'FirstMinterAddressZero' }, { type: 'error', inputs: [ { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'contractValue', internalType: 'uint256', type: 'uint256' }, ], name: 'FundsWithdrawInsolvent', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING', }, { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' }, { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' }, { type: 'error', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], name: 'InvalidMerkleProof', }, { type: 'error', inputs: [], name: 'InvalidMintSchedule' }, { type: 'error', inputs: [], name: 'InvalidMintSchedule' }, { type: 'error', inputs: [], name: 'InvalidPremintVersion' }, { type: 'error', inputs: [], name: 'InvalidSignature' }, { type: 'error', inputs: [], name: 'InvalidSignatureVersion' }, { type: 'error', inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }], name: 'InvalidSigner', }, { type: 'error', inputs: [], name: 'MintNotYetStarted' }, { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' }, { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' }, { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' }, { type: 'error', inputs: [], name: 'Mint_UnknownCommand' }, { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' }, { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' }, { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' }, { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' }, { type: 'error', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'NoRendererForToken', }, { type: 'error', inputs: [], name: 'NonEthRedemption' }, { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' }, { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' }, { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' }, { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' }, { type: 'error', inputs: [], name: 'PremintDeleted' }, { type: 'error', inputs: [ { name: 'caller', internalType: 'address', type: 'address' }, { name: 'recipient', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'ProtocolRewardsWithdrawFailed', }, { type: 'error', inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }], name: 'RendererNotValid', }, { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [ { name: 'targetContract', internalType: 'address', type: 'address' }, ], name: 'Sale_CannotCallNonSalesContract', }, { type: 'error', inputs: [ { name: 'expected', internalType: 'uint256', type: 'uint256' }, { name: 'actual', internalType: 'uint256', type: 'uint256' }, ], name: 'TokenIdMismatch', }, { type: 'error', inputs: [], name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL', }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'limit', internalType: 'uint256', type: 'uint256' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'UserExceedsMintLimit', }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'role', internalType: 'uint256', type: 'uint256' }, ], name: 'UserMissingRoleForToken', }, { type: 'error', inputs: [], name: 'WrongValueSent' }, { type: 'error', inputs: [], name: 'premintSignerContractFailedToRecoverSigner', }, { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreator1155PremintExecutorImpl ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreator1155PremintExecutorImplABI = [ { stateMutability: 'nonpayable', type: 'constructor', inputs: [ { name: '_factory', internalType: 'contract IZoraCreator1155Factory', type: 'address', }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'acceptOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'cancelOwnershipTransfer', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, ], }, ], name: 'getContractAddress', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractWithAdditionalAdminsCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, { name: 'additionalAdmins', internalType: 'address[]', type: 'address[]', }, ], }, ], name: 'getContractWithAdditionalAdminsAddress', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'implementation', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_initialOwner', internalType: 'address', type: 'address' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'signer', internalType: 'address', type: 'address' }, { name: 'premintContractConfigContractAdmin', internalType: 'address', type: 'address', }, { name: 'contractAddress', internalType: 'address', type: 'address' }, ], name: 'isAuthorizedToCreatePremint', outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'signer', internalType: 'address', type: 'address' }, { name: 'premintContractConfigContractAdmin', internalType: 'address', type: 'address', }, { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'additionalAdmins', internalType: 'address[]', type: 'address[]', }, ], name: 'isAuthorizedToCreatePremintWithAdditionalAdmins', outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, ], }, { name: 'premintConfig', internalType: 'struct PremintConfig', type: 'tuple', components: [ { name: 'tokenConfig', internalType: 'struct TokenCreationConfig', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, ], }, { name: 'uid', internalType: 'uint32', type: 'uint32' }, { name: 'version', internalType: 'uint32', type: 'uint32' }, { name: 'deleted', internalType: 'bool', type: 'bool' }, ], }, { name: 'signature', internalType: 'bytes', type: 'bytes' }, ], name: 'isValidSignature', outputs: [ { name: 'isValid', internalType: 'bool', type: 'bool' }, { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'recoveredSigner', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'collectionAddress', internalType: 'address', type: 'address' }, ], name: 'mintFee', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'owner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'pendingOwner', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractWithAdditionalAdminsCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, { name: 'additionalAdmins', internalType: 'address[]', type: 'address[]', }, ], }, { name: 'premintCollection', internalType: 'address', type: 'address' }, { name: 'encodedPremintConfig', internalType: 'struct PremintConfigEncoded', type: 'tuple', components: [ { name: 'uid', internalType: 'uint32', type: 'uint32' }, { name: 'version', internalType: 'uint32', type: 'uint32' }, { name: 'deleted', internalType: 'bool', type: 'bool' }, { name: 'tokenConfig', internalType: 'bytes', type: 'bytes' }, { name: 'premintConfigVersion', internalType: 'bytes32', type: 'bytes32', }, ], }, { name: 'signature', internalType: 'bytes', type: 'bytes' }, { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' }, { name: 'mintArguments', internalType: 'struct MintArguments', type: 'tuple', components: [ { name: 'mintRecipient', internalType: 'address', type: 'address' }, { name: 'mintComment', internalType: 'string', type: 'string' }, { name: 'mintRewardsRecipients', internalType: 'address[]', type: 'address[]', }, ], }, { name: 'firstMinter', internalType: 'address', type: 'address' }, { name: 'signerContract', internalType: 'address', type: 'address' }, ], name: 'premint', outputs: [ { name: 'premintResult', internalType: 'struct PremintResult', type: 'tuple', components: [ { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'createdNewContract', internalType: 'bool', type: 'bool' }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'uid', internalType: 'uint32', type: 'uint32' }, ], name: 'premintStatus', outputs: [ { name: 'contractCreated', internalType: 'bool', type: 'bool' }, { name: 'tokenIdForPremint', internalType: 'uint256', type: 'uint256' }, ], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, ], }, { name: 'premintConfig', internalType: 'struct PremintConfig', type: 'tuple', components: [ { name: 'tokenConfig', internalType: 'struct TokenCreationConfig', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, ], }, { name: 'uid', internalType: 'uint32', type: 'uint32' }, { name: 'version', internalType: 'uint32', type: 'uint32' }, { name: 'deleted', internalType: 'bool', type: 'bool' }, ], }, { name: 'signature', internalType: 'bytes', type: 'bytes' }, { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' }, { name: 'mintArguments', internalType: 'struct MintArguments', type: 'tuple', components: [ { name: 'mintRecipient', internalType: 'address', type: 'address' }, { name: 'mintComment', internalType: 'string', type: 'string' }, { name: 'mintRewardsRecipients', internalType: 'address[]', type: 'address[]', }, ], }, ], name: 'premintV1', outputs: [ { name: '', internalType: 'struct PremintResult', type: 'tuple', components: [ { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'createdNewContract', internalType: 'bool', type: 'bool' }, ], }, ], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'contractConfig', internalType: 'struct ContractCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, ], }, { name: 'premintConfig', internalType: 'struct PremintConfigV2', type: 'tuple', components: [ { name: 'tokenConfig', internalType: 'struct TokenCreationConfigV2', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'payoutRecipient', internalType: 'address', type: 'address', }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, { name: 'createReferral', internalType: 'address', type: 'address', }, ], }, { name: 'uid', internalType: 'uint32', type: 'uint32' }, { name: 'version', internalType: 'uint32', type: 'uint32' }, { name: 'deleted', internalType: 'bool', type: 'bool' }, ], }, { name: 'signature', internalType: 'bytes', type: 'bytes' }, { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' }, { name: 'mintArguments', internalType: 'struct MintArguments', type: 'tuple', components: [ { name: 'mintRecipient', internalType: 'address', type: 'address' }, { name: 'mintComment', internalType: 'string', type: 'string' }, { name: 'mintRewardsRecipients', internalType: 'address[]', type: 'address[]', }, ], }, ], name: 'premintV2', outputs: [ { name: '', internalType: 'struct PremintResult', type: 'tuple', components: [ { name: 'contractAddress', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'createdNewContract', internalType: 'bool', type: 'bool' }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'proxiableUUID', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'resignOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'safeTransferOwnership', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'contractAddress', internalType: 'address', type: 'address' }, ], name: 'supportedPremintSignatureVersions', outputs: [{ name: 'versions', internalType: 'string[]', type: 'string[]' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }], name: 'transferOwnership', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, ], name: 'upgradeTo', outputs: [], }, { stateMutability: 'payable', type: 'function', inputs: [ { name: 'newImplementation', internalType: 'address', type: 'address' }, { name: 'data', internalType: 'bytes', type: 'bytes' }, ], name: 'upgradeToAndCall', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'zora1155Factory', outputs: [ { name: '', internalType: 'contract IZoraCreator1155Factory', type: 'address', }, ], }, { type: 'event', anonymous: false, inputs: [ { name: 'previousAdmin', internalType: 'address', type: 'address', indexed: false, }, { name: 'newAdmin', internalType: 'address', type: 'address', indexed: false, }, ], name: 'AdminChanged', }, { type: 'event', anonymous: false, inputs: [ { name: 'beacon', internalType: 'address', type: 'address', indexed: true, }, ], name: 'BeaconUpgraded', }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'canceledOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerCanceled', }, { type: 'event', anonymous: false, inputs: [ { name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { name: 'pendingOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerPending', }, { type: 'event', anonymous: false, inputs: [ { name: 'prevOwner', internalType: 'address', type: 'address', indexed: true, }, { name: 'newOwner', internalType: 'address', type: 'address', indexed: true, }, ], name: 'OwnerUpdated', }, { type: 'event', anonymous: false, inputs: [ { name: 'contractAddress', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'createdNewContract', internalType: 'bool', type: 'bool', indexed: true, }, { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false }, { name: 'contractConfig', internalType: 'struct ContractCreationConfig', type: 'tuple', components: [ { name: 'contractAdmin', internalType: 'address', type: 'address' }, { name: 'contractURI', internalType: 'string', type: 'string' }, { name: 'contractName', internalType: 'string', type: 'string' }, ], indexed: false, }, { name: 'tokenConfig', internalType: 'struct TokenCreationConfig', type: 'tuple', components: [ { name: 'tokenURI', internalType: 'string', type: 'string' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'mintStart', internalType: 'uint64', type: 'uint64' }, { name: 'mintDuration', internalType: 'uint64', type: 'uint64' }, { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32', }, { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' }, { name: 'royaltyRecipient', internalType: 'address', type: 'address', }, { name: 'fixedPriceMinter', internalType: 'address', type: 'address', }, ], indexed: false, }, { name: 'minter', internalType: 'address', type: 'address', indexed: false, }, { name: 'quantityMinted', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'Preminted', }, { type: 'event', anonymous: false, inputs: [ { name: 'contractAddress', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'createdNewContract', internalType: 'bool', type: 'bool', indexed: true, }, { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false }, { name: 'minter', internalType: 'address', type: 'address', indexed: false, }, { name: 'quantityMinted', internalType: 'uint256', type: 'uint256', indexed: false, }, ], name: 'PremintedV2', }, { type: 'event', anonymous: false, inputs: [ { name: 'implementation', internalType: 'address', type: 'address', indexed: true, }, ], name: 'Upgraded', }, { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' }, { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' }, { type: 'error', inputs: [ { name: 'operator', internalType: 'address', type: 'address' }, { name: 'user', internalType: 'address', type: 'address' }, ], name: 'Burn_NotOwnerOrApproved', }, { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' }, { type: 'error', inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }], name: 'CallFailed', }, { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' }, { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' }, { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' }, { type: 'error', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'totalMinted', internalType: 'uint256', type: 'uint256' }, { name: 'maxSupply', internalType: 'uint256', type: 'uint256' }, ], name: 'CannotMintMoreTokens', }, { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' }, { type: 'error', inputs: [ { name: 'proposedAddress', internalType: 'address', type: 'address' }, ], name: 'Config_TransferHookNotSupported', }, { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' }, { 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: 'ERC20TransferSlippage' }, { type: 'error', inputs: [ { name: 'recipient', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'ETHWithdrawFailed', }, { 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: 'FirstMinterAddressZero' }, { type: 'error', inputs: [ { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'contractValue', internalType: 'uint256', type: 'uint256' }, ], name: 'FundsWithdrawInsolvent', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED', }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_INITIALIZING' }, { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING', }, { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' }, { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' }, { type: 'error', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], name: 'InvalidMerkleProof', }, { type: 'error', inputs: [], name: 'InvalidMintSchedule' }, { type: 'error', inputs: [], name: 'InvalidPremintVersion' }, { type: 'error', inputs: [], name: 'InvalidSignature' }, { type: 'error', inputs: [], name: 'InvalidSignatureVersion' }, { type: 'error', inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }], name: 'InvalidSigner', }, { type: 'error', inputs: [], name: 'MintNotYetStarted' }, { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' }, { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' }, { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' }, { type: 'error', inputs: [], name: 'Mint_UnknownCommand' }, { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' }, { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' }, { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' }, { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' }, { type: 'error', inputs: [], name: 'NonEthRedemption' }, { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' }, { type: 'error', inputs: [], name: 'ONLY_OWNER' }, { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' }, { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' }, { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' }, { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' }, { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' }, { type: 'error', inputs: [], name: 'PremintDeleted' }, { type: 'error', inputs: [ { name: 'caller', internalType: 'address', type: 'address' }, { name: 'recipient', internalType: 'address', type: 'address' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, ], name: 'ProtocolRewardsWithdrawFailed', }, { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [ { name: 'targetContract', internalType: 'address', type: 'address' }, ], name: 'Sale_CannotCallNonSalesContract', }, { type: 'error', inputs: [ { name: 'expected', internalType: 'uint256', type: 'uint256' }, { name: 'actual', internalType: 'uint256', type: 'uint256' }, ], name: 'TokenIdMismatch', }, { type: 'error', inputs: [], name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL', }, { type: 'error', inputs: [ { name: 'expected', internalType: 'string', type: 'string' }, { name: 'actual', internalType: 'string', type: 'string' }, ], name: 'UpgradeToMismatchedContractName', }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'limit', internalType: 'uint256', type: 'uint256' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'UserExceedsMintLimit', }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'role', internalType: 'uint256', type: 'uint256' }, ], name: 'UserMissingRoleForToken', }, { type: 'error', inputs: [], name: 'WrongValueSent' }, { type: 'error', inputs: [], name: 'premintSignerContractFailedToRecoverSigner', }, { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreatorFixedPriceSaleStrategy ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreatorFixedPriceSaleStrategyABI = [ { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'wallet', internalType: 'address', type: 'address' }, ], name: 'getMintedPerWallet', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' }, { name: 'minterArguments', internalType: 'bytes', type: 'bytes' }, ], name: 'requestMint', outputs: [ { name: 'commands', internalType: 'struct ICreatorCommands.CommandSet', type: 'tuple', components: [ { name: 'commands', internalType: 'struct ICreatorCommands.Command[]', type: 'tuple[]', components: [ { name: 'method', internalType: 'enum ICreatorCommands.CreatorActions', type: 'uint8', }, { name: 'args', internalType: 'bytes', type: 'bytes' }, ], }, { name: 'at', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'resetSale', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'sale', outputs: [ { name: '', internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'salesConfig', internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, ], }, ], name: 'setSale', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { type: 'event', anonymous: false, inputs: [ { name: 'sender', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'quantity', internalType: 'uint256', type: 'uint256', indexed: false, }, { name: 'comment', internalType: 'string', type: 'string', indexed: false, }, ], name: 'MintComment', }, { type: 'event', anonymous: false, inputs: [ { name: 'mediaContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'salesConfig', internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig', type: 'tuple', components: [ { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'maxTokensPerAddress', internalType: 'uint64', type: 'uint64', }, { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, ], indexed: false, }, ], name: 'SaleSet', }, { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' }, { type: 'error', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], name: 'InvalidMerkleProof', }, { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' }, { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'limit', internalType: 'uint256', type: 'uint256' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'UserExceedsMintLimit', }, { type: 'error', inputs: [], name: 'WrongValueSent' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreatorMerkleMinterStrategy ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreatorMerkleMinterStrategyABI = [ { stateMutability: 'view', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'uint256', type: 'uint256' }, ], name: 'allowedMerkles', outputs: [ { name: 'presaleStart', internalType: 'uint64', type: 'uint64' }, { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'wallet', internalType: 'address', type: 'address' }, ], name: 'getMintedPerWallet', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' }, { name: 'minterArguments', internalType: 'bytes', type: 'bytes' }, ], name: 'requestMint', outputs: [ { name: 'commands', internalType: 'struct ICreatorCommands.CommandSet', type: 'tuple', components: [ { name: 'commands', internalType: 'struct ICreatorCommands.Command[]', type: 'tuple[]', components: [ { name: 'method', internalType: 'enum ICreatorCommands.CreatorActions', type: 'uint8', }, { name: 'args', internalType: 'bytes', type: 'bytes' }, ], }, { name: 'at', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'resetSale', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: 'tokenContract', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], name: 'sale', outputs: [ { name: '', internalType: 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings', type: 'tuple', components: [ { name: 'presaleStart', internalType: 'uint64', type: 'uint64' }, { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], }, ], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'merkleSaleSettings', internalType: 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings', type: 'tuple', components: [ { name: 'presaleStart', internalType: 'uint64', type: 'uint64' }, { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], }, ], name: 'setSale', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { type: 'event', anonymous: false, inputs: [ { name: 'mediaContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'tokenId', internalType: 'uint256', type: 'uint256', indexed: true, }, { name: 'merkleSaleSettings', internalType: 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings', type: 'tuple', components: [ { name: 'presaleStart', internalType: 'uint64', type: 'uint64' }, { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'fundsRecipient', internalType: 'address', type: 'address' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], indexed: false, }, ], name: 'SaleSet', }, { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' }, { type: 'error', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], name: 'InvalidMerkleProof', }, { type: 'error', inputs: [], name: 'MerkleClaimsExceeded' }, { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' }, { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [ { name: 'user', internalType: 'address', type: 'address' }, { name: 'limit', internalType: 'uint256', type: 'uint256' }, { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' }, ], name: 'UserExceedsMintLimit', }, { type: 'error', inputs: [], name: 'WrongValueSent' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreatorRedeemMinterFactory ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreatorRedeemMinterFactoryABI = [ { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, { stateMutability: 'view', type: 'function', inputs: [], name: 'CONTRACT_BASE_ID', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [], name: 'createMinterIfNoneExists', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '_creatorContract', internalType: 'address', type: 'address' }, ], name: 'doesRedeemMinterExistForCreatorContract', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '_creatorContract', internalType: 'address', type: 'address' }, ], name: 'getDeployedRedeemMinterForCreatorContract', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '_creatorContract', internalType: 'address', type: 'address' }, ], name: 'predictMinterAddress', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'sender', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'quantity', internalType: 'uint256', type: 'uint256' }, { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' }, { name: 'minterArguments', internalType: 'bytes', type: 'bytes' }, ], name: 'requestMint', outputs: [ { name: 'commands', internalType: 'struct ICreatorCommands.CommandSet', type: 'tuple', components: [ { name: 'commands', internalType: 'struct ICreatorCommands.Command[]', type: 'tuple[]', components: [ { name: 'method', internalType: 'enum ICreatorCommands.CreatorActions', type: 'uint8', }, { name: 'args', internalType: 'bytes', type: 'bytes' }, ], }, { name: 'at', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'zoraRedeemMinterImplementation', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { type: 'event', anonymous: false, inputs: [ { name: 'creatorContract', internalType: 'address', type: 'address', indexed: true, }, { name: 'minterContract', internalType: 'address', type: 'address', indexed: true, }, ], name: 'RedeemMinterDeployed', }, { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' }, { type: 'error', inputs: [ { name: 'mintTo', internalType: 'address', type: 'address' }, { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' }, { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' }, ], name: 'InvalidMerkleProof', }, { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' }, { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [], name: 'WrongValueSent' }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ZoraCreatorRedeemMinterStrategy ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// export const zoraCreatorRedeemMinterStrategyABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'hashes', internalType: 'bytes32[]', type: 'bytes32[]' }, ], name: 'clearRedeem', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractName', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractURI', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'pure', type: 'function', inputs: [], name: 'contractVersion', outputs: [{ name: '', internalType: 'string', type: 'string' }], }, { stateMutability: 'view', type: 'function', inputs: [], name: 'creatorContract', outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '_creatorContract', internalType: 'address', type: 'address' }, ], name: 'initialize', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [ { name: '_redeemInstructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstructions', type: 'tuple', components: [ { name: 'mintToken', internalType: 'struct ZoraCreatorRedeemMinterStrategy.MintToken', type: 'tuple', components: [ { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, ], }, { name: 'instructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstruction[]', type: 'tuple[]', components: [ { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenIdStart', internalType: 'uint256', type: 'uint256', }, { name: 'tokenIdEnd', internalType: 'uint256', type: 'uint256' }, { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'transferRecipient', internalType: 'address', type: 'address', }, { name: 'burnFunction', internalType: 'bytes4', type: 'bytes4' }, ], }, { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'ethAmount', internalType: 'uint256', type: 'uint256' }, { name: 'ethRecipient', internalType: 'address', type: 'address' }, ], }, ], name: 'redeemInstructionsHash', outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '', internalType: 'uint256', type: 'uint256' }, { name: '', internalType: 'bytes32', type: 'bytes32' }, ], name: 'redeemInstructionsHashIsAllowed', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'sender', internalType: 'address', type: 'address' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' }, { name: 'minterArguments', internalType: 'bytes', type: 'bytes' }, ], name: 'requestMint', outputs: [ { name: 'commands', internalType: 'struct ICreatorCommands.CommandSet', type: 'tuple', components: [ { name: 'commands', internalType: 'struct ICreatorCommands.Command[]', type: 'tuple[]', components: [ { name: 'method', internalType: 'enum ICreatorCommands.CreatorActions', type: 'uint8', }, { name: 'args', internalType: 'bytes', type: 'bytes' }, ], }, { name: 'at', internalType: 'uint256', type: 'uint256' }, ], }, ], }, { stateMutability: 'view', type: 'function', inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], name: 'resetSale', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: '_redeemInstructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstructions', type: 'tuple', components: [ { name: 'mintToken', internalType: 'struct ZoraCreatorRedeemMinterStrategy.MintToken', type: 'tuple', components: [ { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, ], }, { name: 'instructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstruction[]', type: 'tuple[]', components: [ { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenIdStart', internalType: 'uint256', type: 'uint256', }, { name: 'tokenIdEnd', internalType: 'uint256', type: 'uint256' }, { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'transferRecipient', internalType: 'address', type: 'address', }, { name: 'burnFunction', internalType: 'bytes4', type: 'bytes4' }, ], }, { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'ethAmount', internalType: 'uint256', type: 'uint256' }, { name: 'ethRecipient', internalType: 'address', type: 'address' }, ], }, ], name: 'setRedeem', outputs: [], }, { stateMutability: 'pure', type: 'function', inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], name: 'supportsInterface', outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { stateMutability: 'view', type: 'function', inputs: [ { name: '_redeemInstructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstructions', type: 'tuple', components: [ { name: 'mintToken', internalType: 'struct ZoraCreatorRedeemMinterStrategy.MintToken', type: 'tuple', components: [ { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, ], }, { name: 'instructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstruction[]', type: 'tuple[]', components: [ { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenIdStart', internalType: 'uint256', type: 'uint256', }, { name: 'tokenIdEnd', internalType: 'uint256', type: 'uint256' }, { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'transferRecipient', internalType: 'address', type: 'address', }, { name: 'burnFunction', internalType: 'bytes4', type: 'bytes4' }, ], }, { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'ethAmount', internalType: 'uint256', type: 'uint256' }, { name: 'ethRecipient', internalType: 'address', type: 'address' }, ], }, ], name: 'validateRedeemInstructions', outputs: [], }, { type: 'event', anonymous: false, inputs: [ { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, ], name: 'Initialized', }, { type: 'event', anonymous: false, inputs: [ { name: 'target', internalType: 'address', type: 'address', indexed: true, }, { name: 'redeemsInstructionsHash', internalType: 'bytes32', type: 'bytes32', indexed: true, }, { name: 'sender', internalType: 'address', type: 'address', indexed: false, }, { name: 'tokenIds', internalType: 'uint256[][]', type: 'uint256[][]', indexed: false, }, { name: 'amounts', internalType: 'uint256[][]', type: 'uint256[][]', indexed: false, }, ], name: 'RedeemProcessed', }, { type: 'event', anonymous: false, inputs: [ { name: 'target', internalType: 'address', type: 'address', indexed: true, }, { name: 'redeemsInstructionsHash', internalType: 'bytes32', type: 'bytes32', indexed: true, }, { name: 'data', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstructions', type: 'tuple', components: [ { name: 'mintToken', internalType: 'struct ZoraCreatorRedeemMinterStrategy.MintToken', type: 'tuple', components: [ { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, ], }, { name: 'instructions', internalType: 'struct ZoraCreatorRedeemMinterStrategy.RedeemInstruction[]', type: 'tuple[]', components: [ { name: 'tokenType', internalType: 'enum ZoraCreatorRedeemMinterStrategy.TokenType', type: 'uint8', }, { name: 'amount', internalType: 'uint256', type: 'uint256' }, { name: 'tokenIdStart', internalType: 'uint256', type: 'uint256', }, { name: 'tokenIdEnd', internalType: 'uint256', type: 'uint256' }, { name: 'tokenContract', internalType: 'address', type: 'address', }, { name: 'transferRecipient', internalType: 'address', type: 'address', }, { name: 'burnFunction', internalType: 'bytes4', type: 'bytes4' }, ], }, { name: 'saleStart', internalType: 'uint64', type: 'uint64' }, { name: 'saleEnd', internalType: 'uint64', type: 'uint64' }, { name: 'ethAmount', internalType: 'uint256', type: 'uint256' }, { name: 'ethRecipient', internalType: 'address', type: 'address' }, ], indexed: false, }, ], name: 'RedeemSet', }, { type: 'event', anonymous: false, inputs: [ { name: 'target', internalType: 'address', type: 'address', indexed: true, }, { name: 'redeemInstructionsHashes', internalType: 'bytes32[]', type: 'bytes32[]', indexed: true, }, ], name: 'RedeemsCleared', }, { type: 'error', inputs: [], name: 'BurnFailed' }, { type: 'error', inputs: [], name: 'CallerNotCreatorContract' }, { type: 'error', inputs: [], name: 'EmptyRedeemInstructions' }, { type: 'error', inputs: [], name: 'IncorrectBurnOrTransferAmount' }, { type: 'error', inputs: [], name: 'IncorrectMintAmount' }, { type: 'error', inputs: [], name: 'IncorrectNumberOfTokenIds' }, { type: 'error', inputs: [], name: 'InvalidCreatorContract' }, { type: 'error', inputs: [], name: 'InvalidSaleEndOrStart' }, { type: 'error', inputs: [], name: 'InvalidTokenIdsForTokenType' }, { type: 'error', inputs: [], name: 'InvalidTokenType' }, { type: 'error', inputs: [], name: 'MintTokenContractMustBeCreatorContract' }, { type: 'error', inputs: [], name: 'MintTokenTypeMustBeERC1155' }, { type: 'error', inputs: [], name: 'MustBurnOrTransfer' }, { type: 'error', inputs: [], name: 'MustCallClearRedeem' }, { type: 'error', inputs: [], name: 'RedeemInstructionAlreadySet' }, { type: 'error', inputs: [], name: 'RedeemInstructionNotAllowed' }, { type: 'error', inputs: [], name: 'SaleEnded' }, { type: 'error', inputs: [], name: 'SaleHasNotStarted' }, { type: 'error', inputs: [], name: 'SenderIsNotTokenOwner' }, { type: 'error', inputs: [], name: 'TokenIdOutOfRange' }, { type: 'error', inputs: [], name: 'WrongValueSent' }, ] as const