@zoralabs/protocol-deployments 0.3.11 → 0.4.0-DEV.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generated/wagmi.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/errors/unit.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/utils/unit/parseUnits.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/utils/unit/parseEther.ts","../src/types.ts","../src/typedData.ts","../src/encoding.ts","../src/generated/1155.ts","../src/generated/sparks.ts"],"sourcesContent":["//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// CallerAndCommenter\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_comments', internalType: 'address', type: 'address' },\n { name: '_zoraTimedSale', internalType: 'address', type: 'address' },\n { name: '_swapHelper', internalType: 'address', type: 'address' },\n { name: '_sparksValue', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'excessRefundRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'buyOnSecondaryAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'comments',\n outputs: [\n { name: '', internalType: 'contract IComments', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitBuyOnSecondaryAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitBuyOnSecondaryAndComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitTimedSaleMintAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitTimedSaleMintAndComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitBuyOnSecondaryAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitBuyOnSecondaryAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitTimedSaleMintAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitTimedSaleMintAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'secondarySwap',\n outputs: [\n { name: '', internalType: 'contract ISecondarySwap', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n { name: 'minEthToAcquire', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'sellOnSecondaryAndComment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'sparkValue',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'timedSaleMintAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraTimedSale',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n ],\n name: 'MintedAndCommented',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'swapDirection',\n internalType: 'enum ICallerAndCommenter.SwapDirection',\n type: 'uint8',\n indexed: true,\n },\n ],\n name: 'SwappedOnSecondaryAndCommented',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'SaleNotSet',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'WrongValueSent',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'AccessControlUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n { type: 'error', inputs: [], name: 'CannotSparkOwnComment' },\n {\n type: 'error',\n inputs: [\n { name: 'commentAddress', internalType: 'address', type: 'address' },\n { name: 'commentTokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'replyAddress', internalType: 'address', type: 'address' },\n { name: 'replyTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CommentAddressOrTokenIdsDoNotMatch',\n },\n { type: 'error', inputs: [], name: 'CommentDoesntExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n name: 'DuplicateComment',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'EmptyComment' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'IncorrectETHAmountForSparks',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'MustSendAtLeastOneSpark' },\n { type: 'error', inputs: [], name: 'NoFundsRecipient' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSmartWallet' },\n { type: 'error', inputs: [], name: 'NotSmartWalletOwner' },\n { type: 'error', inputs: [], name: 'NotTokenHolderOrAdmin' },\n { type: 'error', inputs: [], name: 'OnlySparksContract' },\n { type: 'error', inputs: [], name: 'TransferFailed' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterAddress = {\n 1: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 10: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 8453: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 42161: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 81457: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 84532: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 7777777: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 11155111: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 11155420: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 999999999: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterConfig = {\n address: callerAndCommenterAddress,\n abi: callerAndCommenterABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Comments\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_sparkValue', internalType: 'uint256', type: 'uint256' },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_zoraRecipient', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'BACKFILLER_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DEFAULT_ADMIN_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DELEGATE_COMMENTER',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DOMAIN_NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DOMAIN_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_ADMIN',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'REFERRER_REWARD_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ZORA_REWARD_NO_REFERRER_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ZORA_REWARD_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifiers',\n internalType: 'struct IComments.CommentIdentifier[]',\n type: 'tuple[]',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'texts', internalType: 'string[]', type: 'string[]' },\n { name: 'timestamps', internalType: 'uint256[]', type: 'uint256[]' },\n {\n name: 'originalTransactionHashes',\n internalType: 'bytes32[]',\n type: 'bytes32[]',\n },\n ],\n name: 'backfillBatchAddComment',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'text', internalType: 'string', type: 'string' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'comment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'commentSparksQuantity',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'text', internalType: 'string', type: 'string' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n {\n name: 'commenterSmartWalletOwner',\n internalType: 'address',\n type: 'address',\n },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'delegateComment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'commentId', internalType: 'bytes32', type: 'bytes32' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],\n name: 'getRoleAdmin',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'grantRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'hasRole',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashAndCheckCommentExists',\n outputs: [\n { name: 'commentId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'exists', internalType: 'bool', type: 'bool' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashAndValidateCommentExists',\n outputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashCommentIdentifier',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'text', internalType: 'string', type: 'string' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitSparkComment',\n type: 'tuple',\n components: [\n {\n name: 'comment',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparker', internalType: 'address', type: 'address' },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitSparkComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultAdmin', internalType: 'address', type: 'address' },\n { name: 'backfiller', internalType: 'address', type: 'address' },\n {\n name: 'delegateCommenters',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nextNonce',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'text', internalType: 'string', type: 'string' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitSparkComment',\n type: 'tuple',\n components: [\n {\n name: 'comment',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparker', internalType: 'address', type: 'address' },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSparkComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [\n { name: '', internalType: 'contract IProtocolRewards', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'callerConfirmation', internalType: 'address', type: 'address' },\n ],\n name: 'renounceRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'revokeRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'sparkComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'sparkValue',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'originalTransactionId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'BackfilledComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'replyToId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'sparksQuantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'referrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'Commented',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'previousAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'newAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n ],\n name: 'RoleAdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleGranted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleRevoked',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'sparksQuantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'sparker',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'referrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'SparkedComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'AccessControlUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n { type: 'error', inputs: [], name: 'CannotSparkOwnComment' },\n {\n type: 'error',\n inputs: [\n { name: 'commentAddress', internalType: 'address', type: 'address' },\n { name: 'commentTokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'replyAddress', internalType: 'address', type: 'address' },\n { name: 'replyTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CommentAddressOrTokenIdsDoNotMatch',\n },\n { type: 'error', inputs: [], name: 'CommentDoesntExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n name: 'DuplicateComment',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'EmptyComment' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'IncorrectETHAmountForSparks',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'MustSendAtLeastOneSpark' },\n { type: 'error', inputs: [], name: 'NoFundsRecipient' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSmartWallet' },\n { type: 'error', inputs: [], name: 'NotSmartWalletOwner' },\n { type: 'error', inputs: [], name: 'NotTokenHolderOrAdmin' },\n { type: 'error', inputs: [], name: 'OnlySparksContract' },\n { type: 'error', inputs: [], name: 'TransferFailed' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsAddress = {\n 1: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 10: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 8453: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 42161: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 81457: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 84532: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 7777777: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 11155111: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 11155420: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 999999999: '0x7777777C2B3132e03a65721a41745C07170a5877',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsConfig = {\n address: commentsAddress,\n abi: commentsABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20Minter\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterABI = [\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.PremintSalesConfig',\n type: 'tuple',\n components: [\n { name: 'duration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'buildSalesConfigForPremint',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'totalReward', internalType: 'uint256', type: 'uint256' }],\n name: 'computePaidMintRewards',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.RewardsSettings',\n type: 'tuple',\n components: [\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'rewardPct', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'computeReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'totalValue', internalType: 'uint256', type: 'uint256' }],\n name: 'computeTotalReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ethRewardAmount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getCreateReferral',\n outputs: [\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getERC20MinterConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getFirstMinter',\n outputs: [\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: '_owner', internalType: 'address', type: 'address' },\n { name: '_rewardPct', internalType: 'uint256', type: 'uint256' },\n { name: '_ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'totalValue', internalType: 'uint256', type: 'uint256' },\n { name: 'currency', internalType: 'address', type: 'address' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'minterConfig',\n outputs: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'setERC20MinterConfig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'encodedPremintSalesConfig',\n internalType: 'bytes',\n type: 'bytes',\n },\n ],\n name: 'setPremintSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalRewardPct',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'ERC20MinterConfigSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'zora',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'currency',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ERC20RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'FailedToSendEthReward' },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'InvalidCurrency' },\n {\n type: 'error',\n inputs: [\n { name: 'expectedValue', internalType: 'uint256', type: 'uint256' },\n { name: 'actualValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidETHValue',\n },\n { type: 'error', inputs: [], name: 'InvalidValue' },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'PricePerTokenTooLow' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterAddress = {\n 1: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 10: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 8453: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 42161: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 81457: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 84532: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 421614: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 7777777: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 11155111: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 999999999: '0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterConfig = {\n address: erc20MinterAddress,\n abi: erc20MinterABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20Z\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const erc20ZABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_royalties',\n internalType: 'contract IRoyalties',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20TotalSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Reserve', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Liquidity', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Excess', internalType: 'uint256', type: 'uint256' },\n { name: 'erc1155Excess', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'activate',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'spender', internalType: 'address', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'decimals',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nonfungiblePositionManager',\n outputs: [\n {\n name: '',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC721Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'royalties',\n outputs: [\n { name: '', internalType: 'contract IRoyalties', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenInfo',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Z.TokenInfo',\n type: 'tuple',\n components: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'creator', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenLiquidityInfo',\n outputs: [\n { name: 'pool', internalType: 'address', type: 'address' },\n {\n name: 'initialLiquidityPositionId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount20z', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'unwrap',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount1155', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'wrap',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'spender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Approval',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20z',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount20z',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1155',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ConvertedTo1155',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20z',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount20z',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1155',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ConvertedTo20z',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ReceivedAdminMintNFTs',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token0',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount0',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'token1',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'fee', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'lpLiquidity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'erc20Excess',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'erc1155Excess',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondaryMarketActivated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Transfer',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AlreadyActivatedCannotReactivate' },\n {\n type: 'error',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'allowance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientAllowance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidApprover',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSender',\n },\n {\n type: 'error',\n inputs: [{ name: 'spender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSpender',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IDsDoNotMatchValuesLength' },\n { type: 'error', inputs: [], name: 'InsufficientBalance' },\n { type: 'error', inputs: [], name: 'Invalid20zTransfer' },\n { type: 'error', inputs: [], name: 'InvalidAmount20z' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidParams' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlySaleStrategy' },\n {\n type: 'error',\n inputs: [],\n name: 'OnlySupportReceivingERC1155AssociatedZoraNFT',\n },\n {\n type: 'error',\n inputs: [],\n name: 'OnlySupportReceivingERC721UniswapPoolNFTs',\n },\n { type: 'error', inputs: [], name: 'PoolCreationFailed' },\n { type: 'error', inputs: [], name: 'RecipientAddressZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SecondaryMarketHasNotYetStarted' },\n { type: 'error', inputs: [], name: 'TokenIdNotValidToSwap' },\n { type: 'error', inputs: [], name: 'UnknownReceiveActionDataCall' },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20ZRoyalties\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesABI = [\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20z', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n ],\n name: 'claim',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'claimFor',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeBps',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ name: '', internalType: 'address payable', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],\n name: 'getFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'getUnclaimedFees',\n outputs: [\n {\n name: '',\n internalType: 'struct IRoyalties.UnclaimedFees',\n type: 'tuple',\n components: [\n { name: 'token0', internalType: 'address', type: 'address' },\n { name: 'token1', internalType: 'address', type: 'address' },\n { name: 'token0Amount', internalType: 'uint128', type: 'uint128' },\n { name: 'token1Amount', internalType: 'uint128', type: 'uint128' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address[]', type: 'address[]' }],\n name: 'getUnclaimedFeesBatch',\n outputs: [\n {\n name: '',\n internalType: 'struct IRoyalties.UnclaimedFees[]',\n type: 'tuple[]',\n components: [\n { name: 'token0', internalType: 'address', type: 'address' },\n { name: 'token1', internalType: 'address', type: 'address' },\n { name: 'token0Amount', internalType: 'uint128', type: 'uint128' },\n { name: 'token1Amount', internalType: 'uint128', type: 'uint128' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_weth', internalType: 'contract IWETH', type: 'address' },\n {\n name: '_nonfungiblePositionManager',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n {\n name: '_feeRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '_feeBps', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nonfungiblePositionManager',\n outputs: [\n {\n name: '',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'positionId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC721Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'positionsByErc20z',\n outputs: [{ name: 'positionId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'token0',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'token0Amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'token1',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'token1Amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RoyaltyClaim',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'positionAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RoyaltyDeposit',\n },\n { type: 'error', inputs: [], name: 'AddressCannotBeZero' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'AlreadyInitialized' },\n { type: 'error', inputs: [], name: 'CreatorMustBeSet' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC721SenderRoyaltiesNeedsToBePositionManager',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'OnlyCreatorCanCall' },\n { type: 'error', inputs: [], name: 'OnlyErc20z' },\n { type: 'error', inputs: [], name: 'OnlyWeth' },\n { type: 'error', inputs: [], name: 'ParamsCannotBeZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesAddress = {\n 1: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 10: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 8453: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 42161: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 81457: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 84532: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 421614: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 7777777: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 11155111: '0x53a85FbD2955EF713AA489Ae0C48523E727a0c07',\n 999999999: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesConfig = {\n address: erc20ZRoyaltiesAddress,\n abi: erc20ZRoyaltiesABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IPremintDefinitions\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iPremintDefinitionsABI = [\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n name: 'tokenConfigV1Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'payoutRecipient', internalType: 'address', type: 'address' },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'tokenConfigV2Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfigV3',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'payoutRecipient', internalType: 'address', type: 'address' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'minter', internalType: 'address', type: 'address' },\n { name: 'premintSalesConfig', internalType: 'bytes', type: 'bytes' },\n ],\n },\n ],\n name: 'tokenConfigV3Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ISponsoredSparksSpenderAction\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iSponsoredSparksSpenderActionABI = [\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredMintBatch',\n internalType: 'struct SponsoredMintBatch',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'sponsoredMintBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IUnwrapAndForwardAction\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iUnwrapAndForwardActionABI = [\n {\n type: 'function',\n inputs: [\n { name: 'receiverAddress', internalType: 'address', type: 'address' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n { name: 'valueToSend', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'callWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// MintsEthUnwrapperAndCaller\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zoraSparks1155',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitWithAdditionalValue',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC20NotSupported',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'NotExpectingReceive' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'TransferFailed',\n },\n { type: 'error', inputs: [], name: 'UnknownUserAction' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerAddress = {\n 7777777: '0xb0994EB9520C98C97e1F3953a5964535C2bd271A',\n 999999999: '0xb0994EB9520C98C97e1F3953a5964535C2bd271A',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerConfig = {\n address: mintsEthUnwrapperAndCallerAddress,\n abi: mintsEthUnwrapperAndCallerABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ProtocolRewards\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsABI = [\n { type: 'constructor', inputs: [], stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WITHDRAW_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'recipients', internalType: 'address[]', type: 'address[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'reasons', internalType: 'bytes4[]', type: 'bytes4[]' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'depositBatch',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'creator', internalType: 'address', type: 'address' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zora', internalType: 'address', type: 'address' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'depositRewards',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdrawFor',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'v', internalType: 'uint8', type: 'uint8' },\n { name: 'r', internalType: 'bytes32', type: 'bytes32' },\n { name: 's', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'withdrawWithSig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'Deposit',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'zora',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Withdraw',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'ARRAY_LENGTH_MISMATCH' },\n { type: 'error', inputs: [], name: 'INVALID_DEPOSIT' },\n { type: 'error', inputs: [], name: 'INVALID_SIGNATURE' },\n { type: 'error', inputs: [], name: 'INVALID_WITHDRAW' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'SIGNATURE_DEADLINE_EXPIRED' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TRANSFER_FAILED' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsAddress = {\n 1: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 10: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 999: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 8453: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 42161: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 81457: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 84532: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 421614: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 7777777: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 11155111: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 168587773: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 999999999: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsConfig = {\n address: protocolRewardsAddress,\n abi: protocolRewardsABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SecondarySwap\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapABI = [\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n { name: 'num1155ToBuy', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n {\n name: 'excessRefundRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n ],\n name: 'buy1155',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'weth_', internalType: 'contract IWETH', type: 'address' },\n {\n name: 'swapRouter_',\n internalType: 'contract ISwapRouter',\n type: 'address',\n },\n { name: 'uniswapFee_', internalType: 'uint24', type: 'uint24' },\n {\n name: 'zoraTimedSaleStrategy_',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n { name: 'num1155ToSell', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n { name: 'minEthToAcquire', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n ],\n name: 'sell1155',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'swapRouter',\n outputs: [\n { name: '', internalType: 'contract ISwapRouter', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'uniswapFee',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraTimedSaleStrategy',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'msgSender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amountEthSold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'num1155Purchased',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondaryBuy',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'secondaryType',\n internalType: 'enum ISecondarySwap.SecondaryType',\n type: 'uint8',\n indexed: false,\n },\n ],\n name: 'SecondaryComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'msgSender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amountEthPurchased',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'num1155Sold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondarySell',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'AlreadyInitialized' },\n { type: 'error', inputs: [], name: 'ERC20ZEquivalentAmountNotConverted' },\n { type: 'error', inputs: [], name: 'ERC20ZMinimumAmountNotReceived' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'NoETHSent' },\n { type: 'error', inputs: [], name: 'NotSupported' },\n { type: 'error', inputs: [], name: 'OnlyWETH' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapAddress = {\n 1: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 10: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 8453: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 42161: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 81457: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 84532: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 421614: '0x777777794a6e310F2A55da6f157b16ED28Fa5D91',\n 7777777: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 11155111: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 999999999: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapConfig = {\n address: secondarySwapAddress,\n abi: secondarySwapABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SponsoredSparksSpender\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zoraSparks1155',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n { name: 'fundsManager', internalType: 'address', type: 'address' },\n {\n name: 'defaultVerifiers',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SPONSORED_SPEND_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SPONSORSHIP_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'allowedVerifiers',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'fund',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsorship',\n internalType: 'struct SponsoredMintBatch',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashSponsoredMint',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredSpend',\n internalType: 'struct SponsoredSpend',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedInputAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashSponsoredSpend',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setVerifierStatus',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredSpend',\n internalType: 'struct SponsoredSpend',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedInputAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'sponsoredExecute',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'usedNonces',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'ContractFunded',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'verifier',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amountSpent',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'contractValue',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SentSponsoredCallFromMintBalances',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'verifier',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: true },\n ],\n name: 'SetVerifierStatus',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC20NotSupported',\n },\n { type: 'error', inputs: [], name: 'IdsMismatch' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'LengthMismatch' },\n { type: 'error', inputs: [], name: 'NoMoreFundsToSponsor' },\n { type: 'error', inputs: [], name: 'NonceUsed' },\n { type: 'error', inputs: [], name: 'NotExpectingReceive' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'transientReceivedAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'RedeemAmountIsIncorrect',\n },\n { type: 'error', inputs: [], name: 'SenderNotAllowedInSignature' },\n { type: 'error', inputs: [], name: 'SignatureExpired' },\n { type: 'error', inputs: [], name: 'SingleTransferNotSupported' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'TransferFailed',\n },\n { type: 'error', inputs: [], name: 'UnknownAction' },\n { type: 'error', inputs: [], name: 'UnknownUserAction' },\n { type: 'error', inputs: [], name: 'ValuesMismatch' },\n {\n type: 'error',\n inputs: [{ name: 'verifier', internalType: 'address', type: 'address' }],\n name: 'VerifierNotAllowed',\n },\n { type: 'error', inputs: [], name: 'WithdrawFailed' },\n] as const\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderAddress = {\n 10: '0x35ca784918bf11692708c1D530691704AAcEA95E',\n 8453: '0x6958A8866A40118e2CC21ab4752353835321b5e6',\n 42161: '0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7',\n 81457: '0x786F0f6aE196715Cd6d65693f06DA57426ac8463',\n 84532: '0x23150f60E233F519A01C735C29c1591f9E8353dE',\n 7777777: '0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d',\n 999999999: '0x3A98313fB00918a81d98f9986aED089365428293',\n} as const\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderConfig = {\n address: sponsoredSparksSpenderAddress,\n abi: sponsoredSparksSpenderABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// UpgradeGate\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n ],\n name: 'isAllowedUpgrade',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpl', internalType: 'address', type: 'address' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'isRegisteredUpgradePath',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpls', internalType: 'address[]', type: 'address[]' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'registerUpgradePath',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpl', internalType: 'address', type: 'address' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'removeUpgradePath',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'UpgradeGateSetup' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'baseImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'upgradeImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'UpgradeRegistered',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'baseImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'upgradeImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'UpgradeRemoved',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateAddress = {\n 1: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 10: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 8453: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 42161: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 81457: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 84532: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 421614: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 7777777: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 11155111: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 168587773: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateConfig = {\n address: upgradeGateAddress,\n abi: upgradeGateABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// WETH\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethABI = [\n {\n type: 'function',\n inputs: [\n { name: 'guy', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'guy', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'dst', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'src', internalType: 'address', type: 'address' },\n { name: 'dst', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'wad', internalType: 'uint256', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethAddress = {\n 1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n 10: '0x4200000000000000000000000000000000000006',\n 8453: '0x4200000000000000000000000000000000000006',\n 42161: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n 81457: '0x4300000000000000000000000000000000000004',\n 84532: '0x4200000000000000000000000000000000000006',\n 421614: '0xc556bAe1e86B2aE9c22eA5E036b07E55E7596074',\n 7777777: '0x4200000000000000000000000000000000000006',\n 11155111: '0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9',\n 11155420: '0x4200000000000000000000000000000000000006',\n 999999999: '0x4200000000000000000000000000000000000006',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethConfig = { address: wethAddress, abi: wethABI } as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraAccountManager\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'encodedOwners', internalType: 'bytes[]', type: 'bytes[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'createSmartWallet',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'entryPoint',\n outputs: [\n { name: '', internalType: 'contract IEntryPoint', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'encodedOwners', internalType: 'bytes[]', type: 'bytes[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'smartWallet', internalType: 'address', type: 'address' },\n { name: 'key', internalType: 'uint192', type: 'uint192' },\n ],\n name: 'getKeyNonce',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'smartWallet', internalType: 'address', type: 'address' }],\n name: 'getNonce',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'smartWalletFactory',\n outputs: [\n {\n name: '',\n internalType: 'contract ICoinbaseSmartWalletFactory',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'smartWallet',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'baseOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'owners',\n internalType: 'address[]',\n type: 'address[]',\n indexed: false,\n },\n {\n name: 'nonce',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ZoraSmartWalletCreated',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n] as const\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerAddress = {\n 7777777: '0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52',\n} as const\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerConfig = {\n address: zoraAccountManagerAddress,\n abi: zoraAccountManagerABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155FactoryImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zora1155Impl',\n internalType: 'contract IZoraCreator1155',\n type: 'address',\n },\n {\n name: '_merkleMinter',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n {\n name: '_fixedPriceMinter',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n {\n name: '_redeemMinterFactory',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'createContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'createContractDeterministic',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'defaultMinters',\n outputs: [\n {\n name: 'minters',\n internalType: 'contract IMinter1155[]',\n type: 'address[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'msgSender', internalType: 'address', type: 'address' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n ],\n name: 'deterministicContractAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'msgSender', internalType: 'address', type: 'address' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'deterministicContractAddressWithSetupActions',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'fixedPriceMinter',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'expectedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'getOrCreateContractDeterministic',\n outputs: [\n {\n name: 'calculatedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'merkleMinter',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'redeemMinterFactory',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zora1155Impl',\n outputs: [\n { name: '', internalType: 'contract IZoraCreator1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'calculatedContractAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ContractAlreadyExistsSkippingDeploy',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'FactorySetup' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'newContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'defaultAdmin',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n ],\n name: 'SetupNewContract',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n { type: 'error', inputs: [], name: 'Constructor_ImplCannotBeZero' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n {\n name: 'expectedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'calculcatedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'ExpectedContractAddressDoesNotMatchCalculatedContractAddress',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplAddress = {\n 1: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 10: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 999: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 8453: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 42161: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 81457: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 84532: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 421614: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 7777777: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 11155111: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 168587773: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 999999999: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplConfig = {\n address: zoraCreator1155FactoryImplAddress,\n abi: zoraCreator1155FactoryImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155Impl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const zoraCreator1155ImplABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_mintFeeRecipient', internalType: 'address', type: 'address' },\n { name: '_upgradeGate', internalType: 'address', type: 'address' },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_timedSaleStrategy', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'CONTRACT_BASE_ID',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_ADMIN',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_FUNDS_MANAGER',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_METADATA',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_MINTER',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_SALES',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'permissionBits', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'addPermission',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'adminMint',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'lastTokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'assumeLastTokenIdMatches',\n outputs: [],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [\n { name: 'batchBalances', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'burnBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callRenderer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintPrice', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'computeTotalReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'config',\n outputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: '__gap1', internalType: 'uint96', type: 'uint96' },\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '__gap2', internalType: 'uint96', type: 'uint96' },\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n { name: '__gap3', internalType: 'uint96', type: 'uint96' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'createReferrals',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'customRenderers',\n outputs: [\n { name: '', internalType: 'contract IRenderer1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'premintConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'premintVersion', internalType: 'bytes32', type: 'bytes32' },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n {\n name: 'premintSignerContract',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'delegateSetupNewToken',\n outputs: [{ name: 'newTokenId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],\n name: 'delegatedTokenId',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'firstMinters',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getCreatorRewardRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getCustomRenderer',\n outputs: [\n {\n name: 'customRenderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getRoyalties',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenInfo',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraCreator1155TypesV1.TokenData',\n type: 'tuple',\n components: [\n { name: 'uri', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractName', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'isAdminOrRole',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'metadataRendererContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'minter', internalType: 'contract IMinter1155', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n {\n name: 'rewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'mintFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],\n name: 'multicall',\n outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nextTokenId',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'address', type: 'address' },\n ],\n name: 'permissions',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'newMaxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'reduceSupply',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'permissionBits', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'removePermission',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'royalties',\n outputs: [\n { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'royaltyRecipient', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'salePrice', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'royaltyInfo',\n outputs: [\n { name: 'receiver', internalType: 'address', type: 'address' },\n { name: 'royaltyAmount', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n ],\n name: 'setFundsRecipient',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'renderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n },\n ],\n name: 'setTokenMetadataRenderer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n ],\n name: 'setTransferHook',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setupNewToken',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n name: 'setupNewTokenWithCreateReferral',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'supportedPremintSignatureVersions',\n outputs: [{ name: '', internalType: 'string[]', type: 'string[]' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '_newURI', internalType: 'string', type: 'string' },\n { name: '_newName', internalType: 'string', type: 'string' },\n ],\n name: 'updateContractMetadata',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'updateCreateReferral',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'newConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n name: 'updateRoyaltiesForToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: '_newURI', internalType: 'string', type: 'string' },\n ],\n name: 'updateTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'updater',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'updateType',\n internalType: 'enum IZoraCreator1155.ConfigUpdate',\n type: 'uint8',\n indexed: true,\n },\n {\n name: 'newConfig',\n internalType: 'struct IZoraCreator1155TypesV1.ContractConfig',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: '__gap1', internalType: 'uint96', type: 'uint96' },\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '__gap2', internalType: 'uint96', type: 'uint96' },\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n { name: '__gap3', internalType: 'uint96', type: 'uint96' },\n ],\n indexed: false,\n },\n ],\n name: 'ConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'updater',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'uri', internalType: 'string', type: 'string', indexed: false },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n ],\n name: 'ContractMetadataUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'renderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ContractRendererUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'structHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'domainName',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'version',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'signature',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'CreatorAttribution',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'lastOwner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Purchased',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'renderer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n ],\n name: 'RendererUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'maxSupply',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SetupNewToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'permissions',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'UpdatedPermissions',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'configuration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n ],\n name: 'UpdatedRoyalties',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenData',\n internalType: 'struct IZoraCreator1155TypesV1.TokenData',\n type: 'tuple',\n components: [\n { name: 'uri', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'UpdatedToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155PremintExecutorImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_factory',\n internalType: 'contract IZoraCreator1155Factory',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'getContractAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'getContractWithAdditionalAdminsAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'signer', internalType: 'address', type: 'address' },\n {\n name: 'premintContractConfigContractAdmin',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n ],\n name: 'isAuthorizedToCreatePremint',\n outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'signer', internalType: 'address', type: 'address' },\n {\n name: 'premintContractConfigContractAdmin',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n name: 'isAuthorizedToCreatePremintWithAdditionalAdmins',\n outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfig',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignature',\n outputs: [\n { name: 'isValid', internalType: 'bool', type: 'bool' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'recoveredSigner', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collectionAddress', internalType: 'address', type: 'address' },\n ],\n name: 'mintFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'premintCollection', internalType: 'address', type: 'address' },\n {\n name: 'encodedPremintConfig',\n internalType: 'struct PremintConfigEncoded',\n type: 'tuple',\n components: [\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n { name: 'tokenConfig', internalType: 'bytes', type: 'bytes' },\n {\n name: 'premintConfigVersion',\n internalType: 'bytes32',\n type: 'bytes32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'premint',\n outputs: [\n {\n name: 'premintResult',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'premintStatus',\n outputs: [\n { name: 'contractCreated', internalType: 'bool', type: 'bool' },\n { name: 'tokenIdForPremint', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfig',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'premintV1',\n outputs: [\n {\n name: '',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigV2',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'premintV2',\n outputs: [\n {\n name: '',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n ],\n name: 'supportedPremintSignatureVersions',\n outputs: [{ name: 'versions', internalType: 'string[]', type: 'string[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zora1155Factory',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraCreator1155Factory',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'createdNewContract',\n internalType: 'bool',\n type: 'bool',\n indexed: true,\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false },\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'quantityMinted',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Preminted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'createdNewContract',\n internalType: 'bool',\n type: 'bool',\n indexed: true,\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'quantityMinted',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'PremintedV2',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_INITIALIZING' },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplAddress = {\n 1: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 10: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 999: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 8453: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 42161: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 81457: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 84532: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 421614: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 7777777: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 11155111: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 168587773: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 999999999: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplConfig = {\n address: zoraCreator1155PremintExecutorImplAddress,\n abi: zoraCreator1155PremintExecutorImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorFixedPriceSaleStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyABI = [\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyAddress = {\n 1: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 10: '0x3678862f04290E565cCA2EF163BAeb92Bb76790C',\n 999: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 8453: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 42161: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 81457: '0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0',\n 84532: '0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE',\n 421614: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 7777777: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 11155111: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 168587773: '0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0',\n 999999999: '0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyConfig = {\n address: zoraCreatorFixedPriceSaleStrategyAddress,\n abi: zoraCreatorFixedPriceSaleStrategyABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorMerkleMinterStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyABI = [\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'allowedMerkles',\n outputs: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'merkleSaleSettings',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'merkleSaleSettings',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MerkleClaimsExceeded' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyAddress = {\n 1: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 10: '0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8',\n 999: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 8453: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 42161: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 81457: '0xB9C997FcC46a27331CC986cc2416ee99C1d506c3',\n 84532: '0x3E8524770adD176bE381a0529E09f1c6c3502A5a',\n 421614: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 7777777: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 11155111: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 168587773: '0xB9C997FcC46a27331CC986cc2416ee99C1d506c3',\n 999999999: '0x5e5fD4b758076BAD940db0284b711A67E8a3B88c',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyConfig = {\n address: zoraCreatorMerkleMinterStrategyAddress,\n abi: zoraCreatorMerkleMinterStrategyABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorRedeemMinterFactory\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'CONTRACT_BASE_ID',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'createMinterIfNoneExists',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'doesRedeemMinterExistForCreatorContract',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'getDeployedRedeemMinterForCreatorContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'predictMinterAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraRedeemMinterImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creatorContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'minterContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RedeemMinterDeployed',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryAddress = {\n 1: '0x78964965cF77850224513a367f899435C5B69174',\n 10: '0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2',\n 999: '0x78964965cF77850224513a367f899435C5B69174',\n 8453: '0x78964965cF77850224513a367f899435C5B69174',\n 42161: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 81457: '0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614',\n 84532: '0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea',\n 421614: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 7777777: '0x78964965cF77850224513a367f899435C5B69174',\n 11155111: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 168587773: '0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614',\n 999999999: '0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryConfig = {\n address: zoraCreatorRedeemMinterFactoryAddress,\n abi: zoraCreatorRedeemMinterFactoryABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraMints1155\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155ABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'ETH_ADDRESS',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ERC20_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ETH_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'authority',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOfAccount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitBatch',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitSingle',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'isConsumingScheduledOp',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferBatch',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferSingle',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n ],\n name: 'notifyURIsUpdated',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newUri', internalType: 'string', type: 'string' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'notifyUpdatedTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransferBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeem',\n outputs: [\n {\n name: '',\n internalType: 'struct Redemption',\n type: 'tuple',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeemBatch',\n outputs: [\n {\n name: 'redemptions',\n internalType: 'struct Redemption[]',\n type: 'tuple[]',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newAuthority', internalType: 'address', type: 'address' },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenExists',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'transferBatchToManagerAndCall',\n outputs: [{ name: 'callReturn', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'authority',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AuthorityUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'price',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'TokenCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'error',\n inputs: [{ name: 'authority', internalType: 'address', type: 'address' }],\n name: 'AccessManagedInvalidAuthority',\n },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'delay', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'AccessManagedRequiredDelay',\n },\n {\n type: 'error',\n inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],\n name: 'AccessManagedUnauthorized',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidApprover',\n },\n {\n type: 'error',\n inputs: [\n { name: 'idsLength', internalType: 'uint256', type: 'uint256' },\n { name: 'valuesLength', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InvalidArrayLength',\n },\n {\n type: 'error',\n inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidOperator',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidSender',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'owner', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1155MissingApprovalForAll',\n },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155Address = {\n 7777777: '0x7777777d57c1C6e472fa379b7b3B6c6ba3835073',\n 999999999: '0x7777777d57c1C6e472fa379b7b3B6c6ba3835073',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155Config = {\n address: zoraMints1155Address,\n abi: zoraMints1155ABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraMintsManagerImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_premintExecutor',\n internalType: 'contract IZoraCreator1155PremintExecutorAllVersions',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'callFrom', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callWithTransferTokens',\n outputs: [\n { name: 'success', internalType: 'bool', type: 'bool' },\n { name: 'result', internalType: 'bytes', type: 'bytes' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'bytes4', type: 'bytes4' },\n ],\n name: 'canCall',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'zoraCreator1155Contract',\n internalType: 'contract IMintWithSparks',\n type: 'address',\n },\n { name: 'minter', internalType: 'contract IMinter1155', type: 'address' },\n {\n name: 'zoraCreator1155TokenId',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'collectMintArguments',\n internalType: 'struct ICollectWithZoraSparks.CollectMintArguments',\n type: 'tuple',\n components: [\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'collect',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigEncoded',\n type: 'tuple',\n components: [\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n { name: 'tokenConfig', internalType: 'bytes', type: 'bytes' },\n {\n name: 'premintConfigVersion',\n internalType: 'bytes32',\n type: 'bytes32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'collectPremint',\n outputs: [\n {\n name: 'result',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigV2',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'collectPremintV2',\n outputs: [\n {\n name: 'result',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n { name: 'defaultMintable', internalType: 'bool', type: 'bool' },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'minterArguments', internalType: 'bytes', type: 'bytes' }],\n name: 'decodeMintRecipientAndComment',\n outputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getEthPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultOwner', internalType: 'address', type: 'address' },\n { name: 'zoraSparksSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'zoraSparksCreationCode', internalType: 'bytes', type: 'bytes' },\n { name: 'initialEthTokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'initialEthTokenPrice',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [\n {\n name: 'mints',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithERC20',\n outputs: [\n { name: 'mintableTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithEth',\n outputs: [\n { name: 'mintableTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'mintableEthToken',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setDefaultMintable',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n {\n name: 'tokenIdsToNotifyUpdate',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n name: 'setMetadataURIs',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraSparks1155',\n outputs: [\n { name: '', internalType: 'contract IZoraSparks1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenIds',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: true,\n },\n {\n name: 'quantities',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'zoraCreator1155Contract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'zoraCreator1155TokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'Collected',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'DefaultMintableTokenSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },\n { type: 'error', inputs: [], name: 'Create2FailedDeployment' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'Create2InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'DefaultOwnerCannotBeZero' },\n { type: 'error', inputs: [], name: 'ERC1155BatchReceivedCallFailed' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n { type: 'error', inputs: [], name: 'InvalidAdminAction' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidOwnerForAssociatedZoraSparks' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'MintWithSparksNotSupportedOnContract' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n { type: 'error', inputs: [], name: 'NoTokensTransferred' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSelfCall' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraSparks' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n { type: 'error', inputs: [], name: 'PremintExecutorCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [{ name: 'selector', internalType: 'bytes4', type: 'bytes4' }],\n name: 'UnknownUserAction',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplAddress = {\n 7777777: '0x77777770cA269366c7208aFcF36FE2C6F7f7608B',\n 999999999: '0x77777770cA269366c7208aFcF36FE2C6F7f7608B',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplConfig = {\n address: zoraMintsManagerImplAddress,\n abi: zoraMintsManagerImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraSparks1155\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155ABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'ETH_ADDRESS',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ERC20_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ETH_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'authority',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOfAccount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitBatch',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitSingle',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'isConsumingScheduledOp',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferBatch',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferSingle',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n ],\n name: 'notifyURIsUpdated',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newUri', internalType: 'string', type: 'string' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'notifyUpdatedTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransferBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeem',\n outputs: [\n {\n name: '',\n internalType: 'struct Redemption',\n type: 'tuple',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeemBatch',\n outputs: [\n {\n name: 'redemptions',\n internalType: 'struct Redemption[]',\n type: 'tuple[]',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newAuthority', internalType: 'address', type: 'address' },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenExists',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'authority',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AuthorityUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'price',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'TokenCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n { name: 'to', internalType: 'address', type: 'address', indexed: false },\n {\n name: 'tokenIds',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'quantities',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },\n ],\n name: 'TransferBatchWithData',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n { name: 'to', internalType: 'address', type: 'address', indexed: false },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },\n ],\n name: 'TransferSingleWithData',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'error',\n inputs: [{ name: 'authority', internalType: 'address', type: 'address' }],\n name: 'AccessManagedInvalidAuthority',\n },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'delay', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'AccessManagedRequiredDelay',\n },\n {\n type: 'error',\n inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],\n name: 'AccessManagedUnauthorized',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidApprover',\n },\n {\n type: 'error',\n inputs: [\n { name: 'idsLength', internalType: 'uint256', type: 'uint256' },\n { name: 'valuesLength', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InvalidArrayLength',\n },\n {\n type: 'error',\n inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidOperator',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidSender',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'owner', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1155MissingApprovalForAll',\n },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155Address = {\n 7777777: '0x7777777b3eA6C126942BB14dD5C3C11D365C385D',\n 999999999: '0x7777777b3eA6C126942BB14dD5C3C11D365C385D',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155Config = {\n address: zoraSparks1155Address,\n abi: zoraSparks1155ABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraSparksManagerImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'bytes4', type: 'bytes4' },\n ],\n name: 'canCall',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultOwner', internalType: 'address', type: 'address' },\n { name: 'zoraSparksSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'zoraSparksCreationCode', internalType: 'bytes', type: 'bytes' },\n { name: 'initialEthTokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'initialEthTokenPrice',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [\n {\n name: 'sparks',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n {\n name: 'tokenIdsToNotifyUpdate',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n name: 'setMetadataURIs',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraSparks1155',\n outputs: [\n { name: '', internalType: 'contract IZoraSparks1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },\n { type: 'error', inputs: [], name: 'Create2FailedDeployment' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'Create2InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'DefaultOwnerCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n { type: 'error', inputs: [], name: 'InvalidAdminAction' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidOwnerForAssociatedZoraSparks' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PremintExecutorCannotBeZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplAddress = {\n 7777777: '0x77777779acd6a96C0c57272112921A0b833c38fD',\n 999999999: '0x77777779acd6a96C0c57272112921A0b833c38fD',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplConfig = {\n address: zoraSparksManagerImplAddress,\n abi: zoraSparksManagerImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// zoraTimedSaleStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n ],\n name: 'calculateERC20zActivate',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.ERC20zActivate',\n type: 'tuple',\n components: [\n {\n name: 'finalTotalERC20ZSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'erc20Reserve', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Liquidity', internalType: 'uint256', type: 'uint256' },\n { name: 'excessERC20', internalType: 'uint256', type: 'uint256' },\n { name: 'excessERC1155', internalType: 'uint256', type: 'uint256' },\n {\n name: 'additionalERC1155ToMint',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'final1155Supply', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'quantity', internalType: 'uint256', type: 'uint256' }],\n name: 'computeRewards',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.RewardsSettings',\n type: 'tuple',\n components: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'marketReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'quantity', internalType: 'uint256', type: 'uint256' }],\n name: 'computeRewardsV2',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.RewardsSettings',\n type: 'tuple',\n components: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'marketReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'erc20zImpl',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getCreateReferral',\n outputs: [\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_defaultOwner', internalType: 'address', type: 'address' },\n {\n name: '_zoraRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_erc20zImpl', internalType: 'address', type: 'address' },\n {\n name: '_protocolRewards',\n internalType: 'contract IProtocolRewards',\n type: 'address',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'launchMarket',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [\n { name: '', internalType: 'contract IProtocolRewards', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.SaleStorage',\n type: 'tuple',\n components: [\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'saleV2',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.SaleData',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfigV2',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'setSaleV2',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'recipient', internalType: 'address', type: 'address' }],\n name: 'setZoraRewardRecipient',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount0Delta', internalType: 'int256', type: 'int256' },\n { name: 'amount1Delta', internalType: 'int256', type: 'int256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'uniswapV3SwapCallback',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'newStartTime', internalType: 'uint64', type: 'uint64' },\n { name: 'newMarketCountdown', internalType: 'uint64', type: 'uint64' },\n ],\n name: 'updateSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'poolAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'MarketLaunched',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'poolAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'mintFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'saleData',\n internalType: 'struct IZoraTimedSaleStrategy.SaleData',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'mintFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SaleSetV2',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'ZoraRewardRecipientUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'market',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'marketReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ZoraTimedSaleStrategyRewards',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyAddress = {\n 1: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 10: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 8453: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 42161: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 81457: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 84532: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 421614: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 7777777: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 11155111: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 999999999: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyConfig = {\n address: zoraTimedSaleStrategyAddress,\n abi: zoraTimedSaleStrategyABI,\n} as const\n","import { BaseError } from './base.js'\n\nexport type InvalidDecimalNumberErrorType = InvalidDecimalNumberError & {\n name: 'InvalidDecimalNumberError'\n}\nexport class InvalidDecimalNumberError extends BaseError {\n constructor({ value }: { value: string }) {\n super(`Number \\`${value}\\` is not a valid decimal number.`, {\n name: 'InvalidDecimalNumberError',\n })\n }\n}\n","import { InvalidDecimalNumberError } from '../../errors/unit.js'\nimport type { ErrorType } from '../../errors/utils.js'\n\nexport type ParseUnitsErrorType = ErrorType\n\n/**\n * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).\n *\n * - Docs: https://viem.sh/docs/utilities/parseUnits\n *\n * @example\n * import { parseUnits } from 'viem'\n *\n * parseUnits('420', 9)\n * // 420000000000n\n */\nexport function parseUnits(value: string, decimals: number) {\n if (!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(value))\n throw new InvalidDecimalNumberError({ value })\n\n let [integer, fraction = '0'] = value.split('.')\n\n const negative = integer.startsWith('-')\n if (negative) integer = integer.slice(1)\n\n // trim trailing zeros.\n fraction = fraction.replace(/(0+)$/, '')\n\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1)\n integer = `${BigInt(integer) + 1n}`\n fraction = ''\n } else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ]\n\n const rounded = Math.round(Number(`${unit}.${right}`))\n if (rounded > 9)\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')\n else fraction = `${left}${rounded}`\n\n if (fraction.length > decimals) {\n fraction = fraction.slice(1)\n integer = `${BigInt(integer) + 1n}`\n }\n\n fraction = fraction.slice(0, decimals)\n } else {\n fraction = fraction.padEnd(decimals, '0')\n }\n\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)\n}\n","import { etherUnits } from '../../constants/unit.js'\nimport type { ErrorType } from '../../errors/utils.js'\n\nimport { type ParseUnitsErrorType, parseUnits } from './parseUnits.js'\n\nexport type ParseEtherErrorType = ParseUnitsErrorType | ErrorType\n\n/**\n * Converts a string representation of ether to numerical wei.\n *\n * - Docs: https://viem.sh/docs/utilities/parseEther\n *\n * @example\n * import { parseEther } from 'viem'\n *\n * parseEther('420')\n * // 420000000000000000000n\n */\nexport function parseEther(ether: string, unit: 'wei' | 'gwei' = 'wei') {\n return parseUnits(ether, etherUnits[unit])\n}\n","import { ExtractAbiFunction, AbiParametersToPrimitiveTypes } from \"abitype\";\n\nimport {\n zoraCreator1155PremintExecutorImplABI,\n iPremintDefinitionsABI,\n sponsoredSparksSpenderABI,\n} from \"./generated/wagmi\";\nimport { Address } from \"viem\";\n\nimport { commentsABI, callerAndCommenterABI } from \"./generated/wagmi\";\n\nexport enum PremintConfigVersion {\n V1 = \"1\",\n V2 = \"2\",\n V3 = \"3\",\n}\n\nexport type ContractCreationConfig = Omit<\n AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n >[0],\n \"additionalAdmins\"\n> & {\n additionalAdmins: Address[];\n};\n\nexport type TokenCreationConfigV1 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV1Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type TokenCreationConfigV2 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV2Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type TokenCreationConfigV3 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV3Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type PremintConfigEncoded = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n>[2];\n\ntype PremintConfigCommon = Pick<\n PremintConfigEncoded,\n \"deleted\" | \"uid\" | \"version\"\n>;\n\nexport type PremintConfigV1 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV1;\n};\nexport type PremintConfigV2 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV2;\n};\nexport type PremintConfigV3 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV3;\n};\n\nexport type PremintMintArguments = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n>[5];\n\nexport type PremintConfigForVersion<T extends PremintConfigVersion> =\n T extends PremintConfigVersion.V1\n ? PremintConfigV1\n : T extends PremintConfigVersion.V2\n ? PremintConfigV2\n : PremintConfigV3;\n\nexport type PremintConfigWithVersion<T extends PremintConfigVersion> = {\n /** Premint Config */\n premintConfig: PremintConfigForVersion<T>;\n /** PremintConfigVersion of the premint */\n premintConfigVersion: T;\n};\nexport type PremintConfigAndVersion =\n | PremintConfigWithVersion<PremintConfigVersion.V1>\n | PremintConfigWithVersion<PremintConfigVersion.V2>\n | PremintConfigWithVersion<PremintConfigVersion.V3>;\n\nexport type PremintConfig = PremintConfigV1 | PremintConfigV2;\n\nexport type TokenCreationConfig =\n | TokenCreationConfigV1\n | TokenCreationConfigV2\n | TokenCreationConfigV3;\n\nexport type PremintConfigForTokenCreationConfig<T extends TokenCreationConfig> =\n T extends TokenCreationConfigV1\n ? PremintConfigV1\n : T extends TokenCreationConfigV2\n ? PremintConfigV2\n : PremintConfigV3;\n\nexport type TokenConfigForVersion<T extends PremintConfigVersion> =\n PremintConfigForVersion<T>[\"tokenConfig\"];\n\nexport type TokenConfigWithVersion<T extends PremintConfigVersion> = {\n tokenConfig: TokenConfigForVersion<T>;\n premintConfigVersion: T;\n};\n\nexport type SponsoredSparksBatch = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof sponsoredSparksSpenderABI,\n \"hashSponsoredMint\"\n >[\"inputs\"]\n>[0];\n\nexport type CommentIdentifier = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashCommentIdentifier\">[\"inputs\"]\n>[0];\n\nexport const emptyCommentIdentifier = (): CommentIdentifier => {\n const zeroAddress = \"0x0000000000000000000000000000000000000000\";\n const zeroHash =\n \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n return {\n commenter: zeroAddress,\n contractAddress: zeroAddress,\n tokenId: 0n,\n nonce: zeroHash,\n };\n};\n\n/**\n * The PermitComment type represents the data structure for a permit comment,\n * for cross-chain commenting, where a user can sign a comment message on one chain,\n * which can then be submitted by anyone on the destination chain to execute the comment action.\n *\n * The permit includes details such as the comment text, the commenter's address,\n * the comment being replied to, and chain IDs for the source and destination chains.\n */\nexport type PermitComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashPermitComment\">[\"inputs\"]\n>[0];\n\n/**\n * The PermitSparkComment type represents the data structure for a permit spark comment,\n * for cross-chain sparking (liking with value) of comments, where a user can sign a spark comment message on one chain,\n * which can then be submitted by anyone on the destination chain to execute the spark action.\n *\n * The permit includes details such as the comment to be sparked, the sparker's address,\n * the quantity of sparks, and chain IDs for the source and destination chains.\n */\nexport type PermitSparkComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashPermitSparkComment\">[\"inputs\"]\n>[0];\n\n/**\n * The PermitTimedSaleMintAndComment type represents the data structure for a permit timed sale mint and comment,\n * where a user can sign a message to mint during a timed sale and leave a comment in a single transaction.\n * This can be executed on the destination chain by anyone.\n *\n * The permit includes details such as the minting parameters, comment text, and chain IDs for the source and destination chains.\n */\nexport type PermitMintAndComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof callerAndCommenterABI,\n \"hashPermitTimedSaleMintAndComment\"\n >[\"inputs\"]\n>[0];\n\n/**\n * The PermitBuyOnSecondaryAndComment type represents the data structure for a permit buy on secondary market and comment,\n * where a user can sign a message to buy on secondary market and leave a comment in a single transaction.\n * This can be executed on the destination chain by anyone.\n */\nexport type PermitBuyOnSecondaryAndComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof callerAndCommenterABI,\n \"hashPermitBuyOnSecondaryAndComment\"\n >[\"inputs\"]\n>[0];\n","import {\n Address,\n TypedDataDomain,\n TypedData,\n TypedDataToPrimitiveTypes,\n} from \"abitype\";\nimport {\n Hex,\n TypedDataDefinition,\n encodeAbiParameters,\n getAbiItem,\n keccak256,\n toHex,\n parseEther,\n} from \"viem\";\nimport {\n zoraMints1155Address,\n iPremintDefinitionsABI,\n sponsoredSparksSpenderAddress,\n commentsAddress,\n callerAndCommenterAddress,\n} from \"./generated/wagmi\";\nimport {\n PremintConfigEncoded,\n PremintConfigV1,\n PremintConfigV2,\n PremintConfigVersion,\n PremintConfigWithVersion,\n TokenConfigWithVersion,\n TokenCreationConfigV1,\n TokenCreationConfigV2,\n TokenCreationConfigV3,\n PermitComment,\n PermitSparkComment,\n PermitMintAndComment,\n PermitBuyOnSecondaryAndComment,\n} from \"./types\";\n\nconst premintTypedDataDomain = ({\n chainId,\n version,\n creator1155Contract: verifyingContract,\n}: {\n chainId: number;\n version: PremintConfigVersion;\n creator1155Contract: Address;\n}): TypedDataDomain => ({\n chainId,\n name: \"Preminter\",\n version,\n verifyingContract,\n});\n\nconst premintV1TypedDataType = {\n CreatorAttribution: [\n { name: \"tokenConfig\", type: \"TokenCreationConfig\" },\n // unique id scoped to the contract and token to create.\n // ensure that a signature can be replaced, as long as the replacement\n // has the same uid, and a newer version.\n { name: \"uid\", type: \"uint32\" },\n { name: \"version\", type: \"uint32\" },\n // if this update should result in the signature being deleted.\n { name: \"deleted\", type: \"bool\" },\n ],\n TokenCreationConfig: [\n { name: \"tokenURI\", type: \"string\" },\n { name: \"maxSupply\", type: \"uint256\" },\n { name: \"maxTokensPerAddress\", type: \"uint64\" },\n { name: \"pricePerToken\", type: \"uint96\" },\n { name: \"mintStart\", type: \"uint64\" },\n { name: \"mintDuration\", type: \"uint64\" },\n { name: \"royaltyMintSchedule\", type: \"uint32\" },\n { name: \"royaltyBPS\", type: \"uint32\" },\n { name: \"royaltyRecipient\", type: \"address\" },\n { name: \"fixedPriceMinter\", type: \"address\" },\n ],\n} as const satisfies TypedData;\n\nconst encodeTokenConfigV1 = (config: TokenCreationConfigV1) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV1Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfigV2 = (config: TokenCreationConfigV2) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV2Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfigV3 = (config: TokenCreationConfigV3) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV3Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfig = <T extends PremintConfigVersion>({\n tokenConfig,\n premintConfigVersion,\n}: TokenConfigWithVersion<T>): Hex => {\n if (premintConfigVersion === PremintConfigVersion.V1) {\n return encodeTokenConfigV1(tokenConfig as TokenCreationConfigV1);\n }\n if (premintConfigVersion === PremintConfigVersion.V2) {\n return encodeTokenConfigV2(tokenConfig as TokenCreationConfigV2);\n }\n if (premintConfigVersion === PremintConfigVersion.V3) {\n return encodeTokenConfigV3(tokenConfig as TokenCreationConfigV3);\n }\n\n throw new Error(\"Invalid PremintConfigVersion: \" + premintConfigVersion);\n};\n\nexport const encodePremintConfig = <T extends PremintConfigVersion>({\n premintConfig,\n premintConfigVersion,\n}: PremintConfigWithVersion<T>): PremintConfigEncoded => {\n const encodedTokenConfig = encodeTokenConfig({\n premintConfigVersion,\n tokenConfig: premintConfig.tokenConfig,\n });\n\n return {\n deleted: premintConfig.deleted,\n uid: premintConfig.uid,\n version: premintConfig.version,\n premintConfigVersion: keccak256(toHex(premintConfigVersion)),\n tokenConfig: encodedTokenConfig,\n };\n};\n\n/**\n * Builds a typed data definition for a PremintConfigV1 to be signed\n * @returns\n */\nexport const premintV1TypedDataDefinition = ({\n chainId,\n creator1155Contract,\n message,\n}: {\n chainId: number;\n creator1155Contract: Address;\n message: PremintConfigV1;\n}): TypedDataDefinition<\n typeof premintV1TypedDataType,\n \"CreatorAttribution\"\n> => ({\n types: premintV1TypedDataType,\n primaryType: \"CreatorAttribution\",\n domain: premintTypedDataDomain({\n chainId,\n version: PremintConfigVersion.V1,\n creator1155Contract,\n }),\n message,\n});\n\nconst premintV2TypedDataType = {\n CreatorAttribution: [\n { name: \"tokenConfig\", type: \"TokenCreationConfig\" },\n // unique id scoped to the contract and token to create.\n // ensure that a signature can be replaced, as long as the replacement\n // has the same uid, and a newer version.\n { name: \"uid\", type: \"uint32\" },\n { name: \"version\", type: \"uint32\" },\n // if this update should result in the signature being deleted.\n { name: \"deleted\", type: \"bool\" },\n ],\n TokenCreationConfig: [\n { name: \"tokenURI\", type: \"string\" },\n { name: \"maxSupply\", type: \"uint256\" },\n { name: \"maxTokensPerAddress\", type: \"uint64\" },\n { name: \"pricePerToken\", type: \"uint96\" },\n { name: \"mintStart\", type: \"uint64\" },\n { name: \"mintDuration\", type: \"uint64\" },\n { name: \"royaltyBPS\", type: \"uint32\" },\n { name: \"payoutRecipient\", type: \"address\" },\n { name: \"fixedPriceMinter\", type: \"address\" },\n { name: \"createReferral\", type: \"address\" },\n ],\n} as const satisfies TypedData;\n\n/**\n * Builds a typed data definition for a PremintConfigV2 to be signed\n */\nexport const premintV2TypedDataDefinition = ({\n chainId,\n creator1155Contract,\n message,\n}: {\n chainId: number;\n creator1155Contract: Address;\n message: PremintConfigV2;\n}): TypedDataDefinition<\n typeof premintV2TypedDataType,\n \"CreatorAttribution\"\n> => ({\n types: premintV2TypedDataType,\n primaryType: \"CreatorAttribution\",\n domain: premintTypedDataDomain({\n chainId,\n version: PremintConfigVersion.V2,\n creator1155Contract,\n }),\n message,\n});\n\nexport type PremintTypeDataDefinitionParams<T extends PremintConfigVersion> = {\n verifyingContract: Address;\n chainId: number;\n} & PremintConfigWithVersion<T>;\n\n/**\n * Creates a typed data definition for a premint config. Works for all versions of the premint config by specifying the premintConfigVersion.\n *\n * @param params.verifyingContract the address of the 1155 contract\n * @param params.chainId the chain id the premint is signed for\n * @param params.premintConfigVersion the version of the premint config\n * @param params.premintConfig the premint config\n * @returns\n */\nexport const premintTypedDataDefinition = <T extends PremintConfigVersion>({\n verifyingContract,\n chainId,\n premintConfigVersion: version,\n premintConfig,\n}: PremintTypeDataDefinitionParams<T>): TypedDataDefinition => {\n if (version === PremintConfigVersion.V1)\n return premintV1TypedDataDefinition({\n chainId,\n creator1155Contract: verifyingContract,\n message: premintConfig as PremintConfigV1,\n });\n if (version === PremintConfigVersion.V2) {\n return premintV2TypedDataDefinition({\n chainId,\n creator1155Contract: verifyingContract,\n message: premintConfig as PremintConfigV2,\n });\n }\n\n throw new Error(`Invalid version ${version}`);\n};\n\nconst permitSafeTransferTypedDataType = {\n PermitSafeTransfer: [\n { name: \"owner\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"safeTransferData\", type: \"bytes\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransfer on the Mints1155 contract to be signed\n */\nexport const mintsSafeTransferTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof zoraMints1155Address;\n message: TypedDataToPrimitiveTypes<\n typeof permitSafeTransferTypedDataType\n >[\"PermitSafeTransfer\"];\n}): TypedDataDefinition<\n typeof permitSafeTransferTypedDataType,\n \"PermitSafeTransfer\"\n> => ({\n types: permitSafeTransferTypedDataType,\n message,\n primaryType: \"PermitSafeTransfer\",\n domain: {\n chainId,\n name: \"Mints\",\n version: \"1\",\n verifyingContract: zoraMints1155Address[chainId],\n },\n});\n\nconst permitSafeBatchTransferTypedDataType = {\n Permit: [\n {\n name: \"owner\",\n type: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"tokenIds\",\n type: \"uint256[]\",\n },\n {\n name: \"quantities\",\n type: \"uint256[]\",\n },\n {\n name: \"safeTransferData\",\n type: \"bytes\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransferBatch on the Mints1155 contract to be signed\n * @returns\n */\nexport const mintsSafeTransferBatchTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof zoraMints1155Address;\n message: TypedDataToPrimitiveTypes<\n typeof permitSafeBatchTransferTypedDataType\n >[\"Permit\"];\n}): TypedDataDefinition<\n typeof permitSafeBatchTransferTypedDataType,\n \"Permit\"\n> => ({\n types: permitSafeBatchTransferTypedDataType,\n message,\n primaryType: \"Permit\",\n domain: {\n chainId,\n name: \"Mints\",\n version: \"1\",\n verifyingContract: zoraMints1155Address[chainId],\n },\n});\n\nexport const sponsoredSparksBatchTransferTypedDataType = {\n SponsoredMintBatch: [\n {\n name: \"verifier\",\n type: \"address\",\n },\n {\n name: \"from\",\n type: \"address\",\n },\n {\n name: \"destination\",\n type: \"address\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"expectedRedeemAmount\",\n type: \"uint256\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n },\n {\n name: \"ids\",\n type: \"uint256[]\",\n },\n {\n name: \"quantities\",\n type: \"uint256[]\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransferBatch on the Mints1155 contract to be signed\n * @returns\n */\nexport const sponsoredSparksBatchTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof sponsoredSparksSpenderAddress;\n message: TypedDataToPrimitiveTypes<\n typeof sponsoredSparksBatchTransferTypedDataType\n >[\"SponsoredMintBatch\"];\n}): TypedDataDefinition<\n typeof sponsoredSparksBatchTransferTypedDataType,\n \"SponsoredMintBatch\"\n> => ({\n types: sponsoredSparksBatchTransferTypedDataType,\n message,\n primaryType: \"SponsoredMintBatch\",\n domain: {\n chainId,\n name: \"SponsoredSparksSpender\",\n version: \"1\",\n verifyingContract: sponsoredSparksSpenderAddress[chainId],\n },\n});\n\nconst commentIdentifierType = [\n { name: \"contractAddress\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"commenter\", type: \"address\" },\n { name: \"nonce\", type: \"bytes32\" },\n] as const;\n\nconst commentsDomain = ({\n signingChainId,\n destinationChainId,\n}: {\n signingChainId: number;\n destinationChainId: keyof typeof commentsAddress;\n}): TypedDataDomain => ({\n chainId: signingChainId,\n name: \"Comments\",\n version: \"1\",\n verifyingContract: commentsAddress[destinationChainId]!,\n});\n\n/**\n * Generates the typed data definition for a permit comment, for cross-chain commenting.\n *\n * The permit allows a user to sign a comment message on one chain, which can then be\n * submitted by anyone on the destination chain to execute the comment action.\n *\n * The permit includes details such as the comment text, the commenter's address,\n * the comment being replied to, and chain IDs for the source and destination chains.\n *\n * The typed data is generated in a way that makes the signature happen on the source chain\n * but be valid to be executed on the destination chain.\n *\n * @param message - The {@link PermitComment} containing the details of the comment permit.\n * @param signingAccount - (optional) The account that is signing the message, if different thatn the commentor.\n * Only needed if the commentor is a smart wallet; in this case the signing account should be an account\n * that is one of the smart wallet owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address, which is\n * the commenter's address.\n */\nexport const permitCommentTypedDataDefinition = (\n message: PermitComment,\n signingAccount?: Address,\n): TypedDataDefinition<typeof permitCommentTypedDataType, \"PermitComment\"> & {\n account: Address;\n} => {\n const permitCommentTypedDataType = {\n PermitComment: [\n { name: \"contractAddress\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"commenter\", type: \"address\" },\n { name: \"replyTo\", type: \"CommentIdentifier\" },\n { name: \"text\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"commenterSmartWallet\", type: \"address\" },\n { name: \"referrer\", type: \"address\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n CommentIdentifier: commentIdentifierType,\n } as const;\n return {\n types: permitCommentTypedDataType,\n message,\n primaryType: \"PermitComment\",\n domain: commentsDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof commentsAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n\n/**\n * Generates the typed data definition for a permit spark comment, for cross-chain sparking (liking with value) of comments.\n *\n * The permit allows a user to sign a spark comment message on one chain, which can then be\n * submitted by anyone on the destination chain to execute the spark action.\n *\n * The permit includes details such as the comment to be sparked, the sparker's address,\n * the quantity of sparks, and the source and destination chain ids.\n *\n * The typed data is generated in a way that makes the signature happen on the source chain\n * but be valid to be executed on the destination chain.\n *\n * @param message - The {@link PermitSparkComment} containing the details of the spark comment permit.\n * @param signingAccount - (optional) The account that is signing the message, if different than the commenter.\n * Only needed if the commenter is a smart wallet; in this case the signing account should be an account\n * that is one of the smart wallet owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address, which is\n * the sparker's address.\n */\nexport const permitSparkCommentTypedDataDefinition = (\n message: PermitSparkComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitSparkCommentTypedDataType,\n \"PermitSparkComment\"\n> & { account: Address } => {\n const permitSparkCommentTypedDataType = {\n PermitSparkComment: [\n { name: \"comment\", type: \"CommentIdentifier\" },\n { name: \"sparker\", type: \"address\" },\n { name: \"sparksQuantity\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"referrer\", type: \"address\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n CommentIdentifier: commentIdentifierType,\n } as const;\n\n return {\n types: permitSparkCommentTypedDataType,\n message,\n primaryType: \"PermitSparkComment\",\n domain: commentsDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof commentsAddress,\n }),\n account: signingAccount || message.sparker,\n };\n};\n\n// todo: explain\nexport const sparkValue = () => parseEther(\"0.000001\");\n\n/**\n * Generates the typed data definition for a permit timed sale mint and comment operation.\n *\n * This function creates a structured data object that can be used for EIP-712 signing,\n * allowing users to sign a message on one chain that permits a timed sale mint and comment\n * action to be executed on another chain.\n *\n * @param message - The {@link PermitMintAndComment} containing the details of the permit.\n * @param signingAccount - (optional) The account that is signing the message, if different from the commenter.\n * This is typically used when the commenter is a smart wallet, and the signing account is one of its owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address.\n */\nexport const permitMintAndCommentTypedDataDefinition = (\n message: PermitMintAndComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitTimedSaleMintAndCommentTypedDataType,\n \"PermitTimedSaleMintAndComment\"\n> & { account: Address } => {\n const permitTimedSaleMintAndCommentTypedDataType = {\n PermitTimedSaleMintAndComment: [\n { name: \"commenter\", type: \"address\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"collection\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"mintReferral\", type: \"address\" },\n { name: \"comment\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n } as const;\n\n const callerAndCommenterDomain = ({\n signingChainId,\n destinationChainId,\n }: {\n signingChainId: number;\n destinationChainId: keyof typeof callerAndCommenterAddress;\n }) => ({\n name: \"CallerAndCommenter\",\n version: \"1\",\n chainId: signingChainId,\n verifyingContract: callerAndCommenterAddress[destinationChainId],\n });\n\n return {\n types: permitTimedSaleMintAndCommentTypedDataType,\n message,\n primaryType: \"PermitTimedSaleMintAndComment\",\n domain: callerAndCommenterDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof callerAndCommenterAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n\n/**\n * Generates the typed data definition for a permit buy on secondary and comment operation.\n *\n * This function creates a structured data object that can be used for EIP-712 signing,\n * allowing users to sign a message on one chain that permits a buy on secondary market and comment\n * action to be executed on another chain.\n *\n * @param message - The {@link PermitBuyOnSecondaryAndComment} containing the details of the permit.\n * @param signingAccount - (optional) The account that is signing the message, if different from the commenter.\n * This is typically used when the commenter is a smart wallet, and the signing account is one of its owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address.\n */\nexport const permitBuyOnSecondaryAndCommentTypedDataDefinition = (\n message: PermitBuyOnSecondaryAndComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitBuyOnSecondaryAndCommentTypedDataType,\n \"PermitBuyOnSecondaryAndComment\"\n> & { account: Address } => {\n const permitBuyOnSecondaryAndCommentTypedDataType = {\n PermitBuyOnSecondaryAndComment: [\n { name: \"commenter\", type: \"address\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"collection\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"maxEthToSpend\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", type: \"uint160\" },\n { name: \"comment\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n } as const;\n\n const callerAndCommenterDomain = ({\n signingChainId,\n destinationChainId,\n }: {\n signingChainId: number;\n destinationChainId: keyof typeof callerAndCommenterAddress;\n }) => ({\n name: \"CallerAndCommenter\",\n version: \"1\",\n chainId: signingChainId,\n verifyingContract: callerAndCommenterAddress[destinationChainId],\n });\n\n return {\n types: permitBuyOnSecondaryAndCommentTypedDataType,\n message,\n primaryType: \"PermitBuyOnSecondaryAndComment\",\n domain: callerAndCommenterDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof callerAndCommenterAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n","/** ABI parameters for performing a SafeTransferFrom based swap when selling on secondary. */\nexport const safeTransferSwapAbiParameters = [\n { name: \"recipient\", internalType: \"address payable\", type: \"address\" },\n { name: \"minEthToAcquire\", internalType: \"uint256\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", internalType: \"uint160\", type: \"uint160\" },\n] as const;\n","export const chainConfigs = {\n 1: {\n FACTORY_OWNER: \"0xDB392f4391462d60B8B4413ef72018Ab595Af9D0\",\n MINT_FEE_RECIPIENT: \"0xd1d1D4e36117aB794ec5d4c78cBD3a8904E691D0\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 10: {\n FACTORY_OWNER: \"0x4c7f7b6067fac9a737ecf2ca1a733fc85dd65a2b\",\n MINT_FEE_RECIPIENT: \"0x7A810DCd0f8d83B20212326813Db6EF7E9FD030c\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 999: {\n FACTORY_OWNER: \"0xE84DBB2B25F761751231a9D0DAfbdD4dC3aa8252\",\n MINT_FEE_RECIPIENT: \"0xE84DBB2B25F761751231a9D0DAfbdD4dC3aa8252\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 8453: {\n FACTORY_OWNER: \"0x004d6611884B4A661749B64b2ADc78505c3e1AB3\",\n MINT_FEE_RECIPIENT: \"0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 42161: {\n FACTORY_OWNER: \"0xF7DafC329C93D84267c0E7B146C0bD68807f6A03\",\n MINT_FEE_RECIPIENT: \"0x10Fb02A68C3EA8bD439A6f515dcE07CC049f5c94\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 81457: {\n FACTORY_OWNER: \"0x5b297B1b87f8De28C9fA7AFe183Db9F9e6295523\",\n MINT_FEE_RECIPIENT: \"0x72E6394056f9152D3a41e5A25De383c191D16134\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 84532: {\n FACTORY_OWNER: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n MINT_FEE_RECIPIENT: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 421614: {\n FACTORY_OWNER: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n MINT_FEE_RECIPIENT: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 7777777: {\n FACTORY_OWNER: \"0xdEA20c96253dc2d64897D2b8d27A8d935dE74955\",\n MINT_FEE_RECIPIENT: \"0xEcfc2ee50409E459c554a2b0376F882Ce916D853\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 11155111: {\n FACTORY_OWNER: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n MINT_FEE_RECIPIENT: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 168587773: {\n FACTORY_OWNER: \"0x8cF22F26d528B09b3cc54b7ff956630Bf741b773\",\n MINT_FEE_RECIPIENT: \"0x8cF22F26d528B09b3cc54b7ff956630Bf741b773\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 999999999: {\n FACTORY_OWNER: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n MINT_FEE_RECIPIENT: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n};\nexport const addresses = {\n 1: {\n CONTRACT_1155_IMPL: \"0x7FB277e8a6584D76bBbc72980719F36936825e29\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.0\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x0379e37302e9d57fFd657F87e1180273826CE84F\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xDfB3D291bA493e7a3c835F0EdBa0B1B52979609A\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730734767,\n },\n 10: {\n CONTRACT_1155_IMPL: \"0xF77330C8b1c41f2e44470763Cf9E3ACa78Db4381\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x2008C05685F9fA15BBD75d80e9A44ab0c7230577\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3678862f04290E565cCA2EF163BAeb92Bb76790C\",\n MERKLE_MINT_SALE_STRATEGY: \"0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1731019615,\n },\n 999: {\n CONTRACT_1155_IMPL: \"0x2022AdEF470DA3543a19fac8c9be80618112704D\",\n CONTRACT_1155_IMPL_VERSION: \"2.7.0\",\n FACTORY_IMPL: \"0x4b0365Ec68C2D92Af2Fa56f120095F0859142Eff\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0x795Efc066f89DFB03048dDd0598F2D8521c99Df6\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0x0000000000000000000000000000000000000000\",\n timestamp: 1704399834,\n },\n 8453: {\n CONTRACT_1155_IMPL: \"0x5Eb5bABCEFEa846b220C82f222F00Df95934F5f0\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x97898683c6950a986911fdfFEa12739bad5D2581\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xDfB3D291bA493e7a3c835F0EdBa0B1B52979609A\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931491,\n },\n 42161: {\n CONTRACT_1155_IMPL: \"0xC04050e04708b33302E30E5A0fB1e8c38F4EBbB0\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xe2606ac30752009ecec6FEaf5C2B4A6523256E7E\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931657,\n },\n 81457: {\n CONTRACT_1155_IMPL: \"0x16cFE884B49E68Cae854f12Ea419Fb1F6Ad290A8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x23150f60E233F519A01C735C29c1591f9E8353dE\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0\",\n MERKLE_MINT_SALE_STRATEGY: \"0xB9C997FcC46a27331CC986cc2416ee99C1d506c3\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931749,\n },\n 84532: {\n CONTRACT_1155_IMPL: \"0x695C9A141748D308d26Bd4f8E9F9A5df5F0623f8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xd92F69d5581BF9536c77550aeA1d74DDaE88B5B7\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE\",\n MERKLE_MINT_SALE_STRATEGY: \"0x3E8524770adD176bE381a0529E09f1c6c3502A5a\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928936,\n },\n 421614: {\n CONTRACT_1155_IMPL: \"0x3Ed969bf88166B85608C13b633242611F6220a14\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xA75f980Fdf9F02718423FDFDFf1fccc74bdDBa95\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928848,\n },\n 7777777: {\n CONTRACT_1155_IMPL: \"0xDB07C4525E82340A27077Ad258160928f271BB7F\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x517Ce60C6e66a4DB1ea705C98250770d01f9d0AE\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xa79928cCc270b0208e56BfF0e927ff55034e7C35\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730930939,\n },\n 11155111: {\n CONTRACT_1155_IMPL: \"0x9b24FD165a371042e5CA81e8d066d25CAD11EDE7\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x3AE2804De4A54283601Db24a897856D9772eA0D8\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xa79928cCc270b0208e56BfF0e927ff55034e7C35\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928528,\n },\n 168587773: {\n CONTRACT_1155_IMPL: \"0x192D663C3D6813a24a24582A76B8d872c4F6F7f9\",\n CONTRACT_1155_IMPL_VERSION: \"2.12.3\",\n ERC20_MINTER: \"0x0000000000000000000000000000000000000000\",\n FACTORY_IMPL: \"0x46E772210f01647FA573b915bE287Ff9b65AD4B0\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0\",\n MERKLE_MINT_SALE_STRATEGY: \"0xB9C997FcC46a27331CC986cc2416ee99C1d506c3\",\n PREMINTER_IMPL: \"0xe3150ab94e3730D4B157ffD31Ad042323E122b4C\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1722525339,\n },\n 999999999: {\n CONTRACT_1155_IMPL: \"0x695C9A141748D308d26Bd4f8E9F9A5df5F0623f8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2\",\n FACTORY_IMPL: \"0xd92F69d5581BF9536c77550aeA1d74DDaE88B5B7\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A\",\n MERKLE_MINT_SALE_STRATEGY: \"0x5e5fD4b758076BAD940db0284b711A67E8a3B88c\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6\",\n UPGRADE_GATE: \"0x0000000000000000000000000000000000000000\",\n timestamp: 1730928726,\n },\n};\n","export const chainConfigs = {\n 1: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0xDB392f4391462d60B8B4413ef72018Ab595Af9D0\",\n ZORA_RECIPIENT: \"0xd1d1D4e36117aB794ec5d4c78cBD3a8904E691D0\",\n WETH: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n },\n 10: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0x4c7f7b6067fac9a737ecf2ca1a733fc85dd65a2b\",\n ZORA_RECIPIENT: \"0x7A810DCd0f8d83B20212326813Db6EF7E9FD030c\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 8453: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n UNISWAP_SWAP_ROUTER: \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n PROXY_ADMIN: \"0x004d6611884B4A661749B64b2ADc78505c3e1AB3\",\n ZORA_RECIPIENT: \"0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 42161: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0xF7DafC329C93D84267c0E7B146C0bD68807f6A03\",\n ZORA_RECIPIENT: \"0x10Fb02A68C3EA8bD439A6f515dcE07CC049f5c94\",\n WETH: \"0x82af49447d8a07e3bd95bd0d56f35241523fbab1\",\n },\n 81457: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xB218e4f7cF0533d4696fDfC419A0023D33345F28\",\n UNISWAP_SWAP_ROUTER: \"0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66\",\n PROXY_ADMIN: \"0x5b297B1b87f8De28C9fA7AFe183Db9F9e6295523\",\n ZORA_RECIPIENT: \"0x72E6394056f9152D3a41e5A25De383c191D16134\",\n WETH: \"0x4300000000000000000000000000000000000004\",\n },\n 84532: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n UNISWAP_SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n PROXY_ADMIN: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n ZORA_RECIPIENT: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 421614: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65\",\n UNISWAP_SWAP_ROUTER: \"0x101F443B4d1b059569D643917553c771E1b9663E\",\n PROXY_ADMIN: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n ZORA_RECIPIENT: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n WETH: \"0xc556bae1e86b2ae9c22ea5e036b07e55e7596074\",\n },\n 7777777: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xbC91e8DfA3fF18De43853372A3d7dfe585137D78\",\n UNISWAP_SWAP_ROUTER: \"0x7De04c96BE5159c3b5CeffC82aa176dc81281557\",\n PROXY_ADMIN: \"0xdEA20c96253dc2d64897D2b8d27A8d935dE74955\",\n ZORA_RECIPIENT: \"0xEcfc2ee50409E459c554a2b0376F882Ce916D853\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 11155111: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x1238536071E1c677A632429e3655c799b22cDA52\",\n UNISWAP_SWAP_ROUTER: \"0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E\",\n PROXY_ADMIN: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n ZORA_RECIPIENT: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n WETH: \"0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9\",\n },\n 11155420: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d\",\n UNISWAP_SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n PROXY_ADMIN: \"0xFA3748b2dcF94a9CBdb5087333E9F093476e8389\",\n ZORA_RECIPIENT: \"0xFA3748b2dcF94a9CBdb5087333E9F093476e8389\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 999999999: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xB8458EaAe43292e3c1F7994EFd016bd653d23c20\",\n UNISWAP_SWAP_ROUTER: \"0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a\",\n PROXY_ADMIN: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n ZORA_RECIPIENT: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n};\nexport const addresses = {\n 10: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x35ca784918bf11692708c1D530691704AAcEA95E\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 8453: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x6958A8866A40118e2CC21ab4752353835321b5e6\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 42161: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 81457: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x786F0f6aE196715Cd6d65693f06DA57426ac8463\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 84532: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x23150f60E233F519A01C735C29c1591f9E8353dE\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 7777777: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0xb0994EB9520C98C97e1F3953a5964535C2bd271A\",\n SPARKS_MANAGER_IMPL: \"0xFB854463800d09B89682746c37A3AE696C92193D\",\n SPARKS_MANAGER_IMPL_VERSION: \"0.1.4\",\n SPARKS_MANAGER: \"0x77777779acd6a96C0c57272112921A0b833c38fD\",\n SPARKS_1155: \"0x7777777b3eA6C126942BB14dD5C3C11D365C385D\",\n MINTS_MANAGER: \"0x77777770cA269366c7208aFcF36FE2C6F7f7608B\",\n MINTS_1155: \"0x7777777d57c1C6e472fa379b7b3B6c6ba3835073\",\n SPONSORED_SPARKS_SPENDER: \"0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 999999999: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0xb0994EB9520C98C97e1F3953a5964535C2bd271A\",\n SPARKS_MANAGER_IMPL: \"0xf7D8d07267E840aE466E5f2fe8b089F4DE79c7da\",\n SPARKS_MANAGER_IMPL_VERSION: \"0.1.4\",\n SPARKS_MANAGER: \"0x77777779acd6a96C0c57272112921A0b833c38fD\",\n SPARKS_1155: \"0x7777777b3eA6C126942BB14dD5C3C11D365C385D\",\n MINTS_MANAGER: \"0x77777770cA269366c7208aFcF36FE2C6F7f7608B\",\n MINTS_1155: \"0x7777777d57c1C6e472fa379b7b3B6c6ba3835073\",\n SPONSORED_SPARKS_SPENDER: \"0x3A98313fB00918a81d98f9986aED089365428293\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n};\n"],"mappings":"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","names":["PremintConfigVersion","addresses","chainConfigs"]}
1
+ {"version":3,"sources":["../src/generated/wagmi.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/errors/unit.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/utils/unit/parseUnits.ts","../../../node_modules/.pnpm/viem@2.21.21_bufferutil@4.0.8_typescript@5.5.4_utf-8-validate@5.0.10_zod@3.23.8/node_modules/viem/utils/unit/parseEther.ts","../src/types.ts","../src/typedData.ts","../src/encoding.ts","../src/generated/1155.ts","../src/generated/sparks.ts"],"sourcesContent":["//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// CallerAndCommenter\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_comments', internalType: 'address', type: 'address' },\n { name: '_zoraTimedSale', internalType: 'address', type: 'address' },\n { name: '_swapHelper', internalType: 'address', type: 'address' },\n { name: '_sparksValue', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'excessRefundRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'buyOnSecondaryAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'comments',\n outputs: [\n { name: '', internalType: 'contract IComments', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitBuyOnSecondaryAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitBuyOnSecondaryAndComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitTimedSaleMintAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitTimedSaleMintAndComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitBuyOnSecondaryAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitBuyOnSecondaryAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType:\n 'struct ICallerAndCommenter.PermitTimedSaleMintAndComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitTimedSaleMintAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'secondarySwap',\n outputs: [\n { name: '', internalType: 'contract ISecondarySwap', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n { name: 'minEthToAcquire', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'sellOnSecondaryAndComment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'sparkValue',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'timedSaleMintAndComment',\n outputs: [\n {\n name: '',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraTimedSale',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n ],\n name: 'MintedAndCommented',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'swapDirection',\n internalType: 'enum ICallerAndCommenter.SwapDirection',\n type: 'uint8',\n indexed: true,\n },\n ],\n name: 'SwappedOnSecondaryAndCommented',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'SaleNotSet',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'WrongValueSent',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'AccessControlUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n { type: 'error', inputs: [], name: 'CannotSparkOwnComment' },\n {\n type: 'error',\n inputs: [\n { name: 'commentAddress', internalType: 'address', type: 'address' },\n { name: 'commentTokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'replyAddress', internalType: 'address', type: 'address' },\n { name: 'replyTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CommentAddressOrTokenIdsDoNotMatch',\n },\n { type: 'error', inputs: [], name: 'CommentDoesntExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n name: 'DuplicateComment',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'EmptyComment' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'IncorrectETHAmountForSparks',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'MustSendAtLeastOneSpark' },\n { type: 'error', inputs: [], name: 'NoFundsRecipient' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSmartWallet' },\n { type: 'error', inputs: [], name: 'NotSmartWalletOwner' },\n { type: 'error', inputs: [], name: 'NotTokenHolderOrAdmin' },\n { type: 'error', inputs: [], name: 'OnlySparksContract' },\n { type: 'error', inputs: [], name: 'TransferFailed' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterAddress = {\n 1: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 10: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 8453: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 42161: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 81457: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 84532: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 7777777: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 11155111: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 11155420: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n 999999999: '0x77777775C5074b74540d9cC63Dd840A8c692B4B5',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777775C5074b74540d9cC63Dd840A8c692B4B5)\n */\nexport const callerAndCommenterConfig = {\n address: callerAndCommenterAddress,\n abi: callerAndCommenterABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Cointag\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const cointagABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_weth', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'PERCENTAGE_BASIS',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'REQUIRED_OBSERVATION_CARDINALITY',\n outputs: [{ name: '', internalType: 'uint16', type: 'uint16' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SLIPPAGE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'TIME_WEIGHTED_PRICE_PERIOD',\n outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'creatorRewardRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ensureObservationCardinality',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'erc20',\n outputs: [\n { name: '', internalType: 'contract IBurnableERC20', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'hasEnoughObservationCardinality',\n outputs: [\n { name: '', internalType: 'bool', type: 'bool' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_pool', internalType: 'address', type: 'address' },\n {\n name: '_percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'percentageToBuyBurn',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pool',\n outputs: [\n { name: '', internalType: 'contract IUniswapV3Pool', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [\n { name: '', internalType: 'contract IProtocolRewards', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pull',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount0Delta', internalType: 'int256', type: 'int256' },\n { name: 'amount1Delta', internalType: 'int256', type: 'int256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'uniswapV3SwapCallback',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'weth',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'amountERc20Received',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amountERc20Burned',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amountEthSpent',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amountEthToCreator',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'totalEthReceived',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'buyFailureError',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n {\n name: 'burnFailureError',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'BuyBurn',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'erc20',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'pool',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'amountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'amountOutMinimum', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'AmountOutLessThanMinimum',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n {\n type: 'error',\n inputs: [\n { name: 'requiredCardinality', internalType: 'uint256', type: 'uint256' },\n { name: 'currentCardinality', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'NotEnoughObservationCardinality',\n },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyPool' },\n { type: 'error', inputs: [], name: 'OnlyProtocolRewardsOrWeth' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// CointagFactory\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n */\nexport const cointagFactoryABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_cointagImplementation',\n internalType: 'address',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cointagImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_pool', internalType: 'address', type: 'address' },\n {\n name: '_percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'saltSource', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'getCointagAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_implementation', internalType: 'address', type: 'address' },\n {\n name: '_creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_pool', internalType: 'address', type: 'address' },\n {\n name: '_percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'saltSource', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'getCointagAddressForImpl',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_pool', internalType: 'address', type: 'address' },\n {\n name: '_percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'saltSource', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'getOrCreateCointag',\n outputs: [{ name: '', internalType: 'contract ICointag', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_pool', internalType: 'address', type: 'address' },\n {\n name: '_percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'saltSource', internalType: 'bytes', type: 'bytes' },\n { name: 'expectedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'getOrCreateCointagAtExpectedAddress',\n outputs: [{ name: '', internalType: 'contract ICointag', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_defaultOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'cointag',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'creatorRewardRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'erc20',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pool',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'percentageToBuyBurn',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'saltSource',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'SetupNewCointag',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'UnexpectedCointagAddress',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n */\nexport const cointagFactoryAddress = {\n 8453: '0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F',\n 84532: '0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F',\n 7777777: '0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F',\n} as const\n\n/**\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777BbD0b88aD5F3b5f4c89C6B60D74b9774F)\n */\nexport const cointagFactoryConfig = {\n address: cointagFactoryAddress,\n abi: cointagFactoryABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Comments\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_sparkValue', internalType: 'uint256', type: 'uint256' },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_zoraRecipient', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'BACKFILLER_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DEFAULT_ADMIN_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DELEGATE_COMMENTER',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DOMAIN_NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DOMAIN_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_ADMIN',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'REFERRER_REWARD_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ZORA_REWARD_NO_REFERRER_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ZORA_REWARD_PCT',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifiers',\n internalType: 'struct IComments.CommentIdentifier[]',\n type: 'tuple[]',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'texts', internalType: 'string[]', type: 'string[]' },\n { name: 'timestamps', internalType: 'uint256[]', type: 'uint256[]' },\n {\n name: 'originalTransactionHashes',\n internalType: 'bytes32[]',\n type: 'bytes32[]',\n },\n ],\n name: 'backfillBatchAddComment',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'text', internalType: 'string', type: 'string' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'comment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'commentSparksQuantity',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'text', internalType: 'string', type: 'string' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n {\n name: 'commenterSmartWalletOwner',\n internalType: 'address',\n type: 'address',\n },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'delegateComment',\n outputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'commentId', internalType: 'bytes32', type: 'bytes32' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],\n name: 'getRoleAdmin',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'grantRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'hasRole',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashAndCheckCommentExists',\n outputs: [\n { name: 'commentId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'exists', internalType: 'bool', type: 'bool' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashAndValidateCommentExists',\n outputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'hashCommentIdentifier',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'text', internalType: 'string', type: 'string' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitSparkComment',\n type: 'tuple',\n components: [\n {\n name: 'comment',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparker', internalType: 'address', type: 'address' },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n ],\n name: 'hashPermitSparkComment',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultAdmin', internalType: 'address', type: 'address' },\n { name: 'backfiller', internalType: 'address', type: 'address' },\n {\n name: 'delegateCommenters',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nextNonce',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitComment',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'commenterSmartWallet',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'text', internalType: 'string', type: 'string' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IComments.PermitSparkComment',\n type: 'tuple',\n components: [\n {\n name: 'comment',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparker', internalType: 'address', type: 'address' },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n { name: 'sourceChainId', internalType: 'uint32', type: 'uint32' },\n {\n name: 'destinationChainId',\n internalType: 'uint32',\n type: 'uint32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSparkComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [\n { name: '', internalType: 'contract IProtocolRewards', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'callerConfirmation', internalType: 'address', type: 'address' },\n ],\n name: 'renounceRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'revokeRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n { name: 'sparksQuantity', internalType: 'uint256', type: 'uint256' },\n { name: 'referrer', internalType: 'address', type: 'address' },\n ],\n name: 'sparkComment',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'sparkValue',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'originalTransactionId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n ],\n name: 'BackfilledComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'replyToId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'replyTo',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'sparksQuantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'text', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'referrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'Commented',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'previousAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'newAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n ],\n name: 'RoleAdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleGranted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleRevoked',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'commentId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'commentIdentifier',\n internalType: 'struct IComments.CommentIdentifier',\n type: 'tuple',\n components: [\n { name: 'commenter', internalType: 'address', type: 'address' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n {\n name: 'sparksQuantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'sparker',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'timestamp',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'referrer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'SparkedComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'AccessControlBadConfirmation' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'neededRole', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'AccessControlUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ArrayLengthMismatch' },\n { type: 'error', inputs: [], name: 'CannotSparkOwnComment' },\n {\n type: 'error',\n inputs: [\n { name: 'commentAddress', internalType: 'address', type: 'address' },\n { name: 'commentTokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'replyAddress', internalType: 'address', type: 'address' },\n { name: 'replyTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CommentAddressOrTokenIdsDoNotMatch',\n },\n { type: 'error', inputs: [], name: 'CommentDoesntExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'address', type: 'address' },\n { name: 'actual', internalType: 'address', type: 'address' },\n ],\n name: 'CommenterMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'commentId', internalType: 'bytes32', type: 'bytes32' }],\n name: 'DuplicateComment',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'EmptyComment' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n {\n type: 'error',\n inputs: [\n {\n name: 'wrongDestinationChainId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'IncorrectDestinationChain',\n },\n {\n type: 'error',\n inputs: [\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'IncorrectETHAmountForSparks',\n },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'MustSendAtLeastOneSpark' },\n { type: 'error', inputs: [], name: 'NoFundsRecipient' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSmartWallet' },\n { type: 'error', inputs: [], name: 'NotSmartWalletOwner' },\n { type: 'error', inputs: [], name: 'NotTokenHolderOrAdmin' },\n { type: 'error', inputs: [], name: 'OnlySparksContract' },\n { type: 'error', inputs: [], name: 'TransferFailed' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'currentName', internalType: 'string', type: 'string' },\n { name: 'newName', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsAddress = {\n 1: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 10: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 8453: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 42161: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 81457: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 84532: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 7777777: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 11155111: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 11155420: '0x7777777C2B3132e03a65721a41745C07170a5877',\n 999999999: '0x7777777C2B3132e03a65721a41745C07170a5877',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x7777777C2B3132e03a65721a41745C07170a5877)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777C2B3132e03a65721a41745C07170a5877)\n */\nexport const commentsConfig = {\n address: commentsAddress,\n abi: commentsABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20Minter\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterABI = [\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.PremintSalesConfig',\n type: 'tuple',\n components: [\n { name: 'duration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'buildSalesConfigForPremint',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'totalReward', internalType: 'uint256', type: 'uint256' }],\n name: 'computePaidMintRewards',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.RewardsSettings',\n type: 'tuple',\n components: [\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'rewardPct', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'computeReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'totalValue', internalType: 'uint256', type: 'uint256' }],\n name: 'computeTotalReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'ethRewardAmount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getCreateReferral',\n outputs: [\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getERC20MinterConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getFirstMinter',\n outputs: [\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: '_owner', internalType: 'address', type: 'address' },\n { name: '_rewardPct', internalType: 'uint256', type: 'uint256' },\n { name: '_ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'totalValue', internalType: 'uint256', type: 'uint256' },\n { name: 'currency', internalType: 'address', type: 'address' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'minterConfig',\n outputs: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'setERC20MinterConfig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'encodedPremintSalesConfig',\n internalType: 'bytes',\n type: 'bytes',\n },\n ],\n name: 'setPremintSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalRewardPct',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'config',\n internalType: 'struct IERC20Minter.ERC20MinterConfig',\n type: 'tuple',\n components: [\n {\n name: 'zoraRewardRecipientAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'rewardRecipientPercentage',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'ethReward', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'ERC20MinterConfigSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'zora',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'currency',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ERC20RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct IERC20Minter.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint256', type: 'uint256' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'currency', internalType: 'address', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'FailedToSendEthReward' },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'InvalidCurrency' },\n {\n type: 'error',\n inputs: [\n { name: 'expectedValue', internalType: 'uint256', type: 'uint256' },\n { name: 'actualValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidETHValue',\n },\n { type: 'error', inputs: [], name: 'InvalidValue' },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'PricePerTokenTooLow' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterAddress = {\n 1: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 10: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 8453: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 42161: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 81457: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 84532: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 421614: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 7777777: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 11155111: '0x777777E8850d8D6d98De2B5f64fae401F96eFF31',\n 999999999: '0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777E8850d8D6d98De2B5f64fae401F96eFF31)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2)\n */\nexport const erc20MinterConfig = {\n address: erc20MinterAddress,\n abi: erc20MinterABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20Z\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const erc20ZABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_royalties',\n internalType: 'contract IRoyalties',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20TotalSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Reserve', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Liquidity', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Excess', internalType: 'uint256', type: 'uint256' },\n { name: 'erc1155Excess', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'activate',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'spender', internalType: 'address', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'decimals',\n outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nonfungiblePositionManager',\n outputs: [\n {\n name: '',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC721Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'royalties',\n outputs: [\n { name: '', internalType: 'contract IRoyalties', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenInfo',\n outputs: [\n {\n name: '',\n internalType: 'struct IERC20Z.TokenInfo',\n type: 'tuple',\n components: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'creator', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenLiquidityInfo',\n outputs: [\n { name: 'pool', internalType: 'address', type: 'address' },\n {\n name: 'initialLiquidityPositionId',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'tokenURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount20z', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'unwrap',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount1155', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'wrap',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'spender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Approval',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20z',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount20z',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1155',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ConvertedTo1155',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20z',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount20z',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'amount1155',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ConvertedTo20z',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ReceivedAdminMintNFTs',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'token0',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount0',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'token1',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'amount1',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'fee', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'lpLiquidity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'erc20Excess',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'erc1155Excess',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondaryMarketActivated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Transfer',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AlreadyActivatedCannotReactivate' },\n {\n type: 'error',\n inputs: [\n { name: 'spender', internalType: 'address', type: 'address' },\n { name: 'allowance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientAllowance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC20InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidApprover',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSender',\n },\n {\n type: 'error',\n inputs: [{ name: 'spender', internalType: 'address', type: 'address' }],\n name: 'ERC20InvalidSpender',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IDsDoNotMatchValuesLength' },\n { type: 'error', inputs: [], name: 'InsufficientBalance' },\n { type: 'error', inputs: [], name: 'Invalid20zTransfer' },\n { type: 'error', inputs: [], name: 'InvalidAmount20z' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidParams' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlySaleStrategy' },\n {\n type: 'error',\n inputs: [],\n name: 'OnlySupportReceivingERC1155AssociatedZoraNFT',\n },\n {\n type: 'error',\n inputs: [],\n name: 'OnlySupportReceivingERC721UniswapPoolNFTs',\n },\n { type: 'error', inputs: [], name: 'PoolCreationFailed' },\n { type: 'error', inputs: [], name: 'RecipientAddressZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SecondaryMarketHasNotYetStarted' },\n { type: 'error', inputs: [], name: 'TokenIdNotValidToSwap' },\n { type: 'error', inputs: [], name: 'UnknownReceiveActionDataCall' },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ERC20ZRoyalties\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesABI = [\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20z', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n ],\n name: 'claim',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'claimFor',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeBps',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeRecipient',\n outputs: [{ name: '', internalType: 'address payable', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],\n name: 'getFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'getUnclaimedFees',\n outputs: [\n {\n name: '',\n internalType: 'struct IRoyalties.UnclaimedFees',\n type: 'tuple',\n components: [\n { name: 'token0', internalType: 'address', type: 'address' },\n { name: 'token1', internalType: 'address', type: 'address' },\n { name: 'token0Amount', internalType: 'uint128', type: 'uint128' },\n { name: 'token1Amount', internalType: 'uint128', type: 'uint128' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address[]', type: 'address[]' }],\n name: 'getUnclaimedFeesBatch',\n outputs: [\n {\n name: '',\n internalType: 'struct IRoyalties.UnclaimedFees[]',\n type: 'tuple[]',\n components: [\n { name: 'token0', internalType: 'address', type: 'address' },\n { name: 'token1', internalType: 'address', type: 'address' },\n { name: 'token0Amount', internalType: 'uint128', type: 'uint128' },\n { name: 'token1Amount', internalType: 'uint128', type: 'uint128' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_weth', internalType: 'contract IWETH', type: 'address' },\n {\n name: '_nonfungiblePositionManager',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n {\n name: '_feeRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '_feeBps', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nonfungiblePositionManager',\n outputs: [\n {\n name: '',\n internalType: 'contract INonfungiblePositionManager',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'positionId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC721Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'erc20z', internalType: 'address', type: 'address' }],\n name: 'positionsByErc20z',\n outputs: [{ name: 'positionId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'token0',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'token0Amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'token1',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'token1Amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RoyaltyClaim',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'positionAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'positionId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RoyaltyDeposit',\n },\n { type: 'error', inputs: [], name: 'AddressCannotBeZero' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'AlreadyInitialized' },\n { type: 'error', inputs: [], name: 'CreatorMustBeSet' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC721SenderRoyaltiesNeedsToBePositionManager',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'OnlyCreatorCanCall' },\n { type: 'error', inputs: [], name: 'OnlyErc20z' },\n { type: 'error', inputs: [], name: 'OnlyWeth' },\n { type: 'error', inputs: [], name: 'ParamsCannotBeZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesAddress = {\n 1: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 10: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 8453: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 42161: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 81457: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 84532: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 421614: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 7777777: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n 11155111: '0x53a85FbD2955EF713AA489Ae0C48523E727a0c07',\n 999999999: '0x77777771DF91C56c5468746E80DFA8b880f9719F',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x53a85FbD2955EF713AA489Ae0C48523E727a0c07)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777771DF91C56c5468746E80DFA8b880f9719F)\n */\nexport const erc20ZRoyaltiesConfig = {\n address: erc20ZRoyaltiesAddress,\n abi: erc20ZRoyaltiesABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IPremintDefinitions\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iPremintDefinitionsABI = [\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n name: 'tokenConfigV1Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'payoutRecipient', internalType: 'address', type: 'address' },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'tokenConfigV2Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '',\n internalType: 'struct TokenCreationConfigV3',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'payoutRecipient', internalType: 'address', type: 'address' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'minter', internalType: 'address', type: 'address' },\n { name: 'premintSalesConfig', internalType: 'bytes', type: 'bytes' },\n ],\n },\n ],\n name: 'tokenConfigV3Definition',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ISponsoredSparksSpenderAction\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iSponsoredSparksSpenderActionABI = [\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredMintBatch',\n internalType: 'struct SponsoredMintBatch',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'sponsoredMintBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IUniswapV3Pool\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iUniswapV3PoolABI = [\n {\n type: 'function',\n inputs: [],\n name: 'fee',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeGrowthGlobal0X128',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'feeGrowthGlobal1X128',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'observationCardinalityNext',\n internalType: 'uint16',\n type: 'uint16',\n },\n ],\n name: 'increaseObservationCardinalityNext',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'secondsAgos', internalType: 'uint32[]', type: 'uint32[]' },\n ],\n name: 'observe',\n outputs: [\n { name: 'tickCumulatives', internalType: 'int56[]', type: 'int56[]' },\n {\n name: 'secondsPerLiquidityCumulativeX128s',\n internalType: 'uint160[]',\n type: 'uint160[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'slot0',\n outputs: [\n {\n name: 'slot0',\n internalType: 'struct IUniswapV3Pool.Slot0',\n type: 'tuple',\n components: [\n { name: 'sqrtPriceX96', internalType: 'uint160', type: 'uint160' },\n { name: 'tick', internalType: 'int24', type: 'int24' },\n { name: 'observationIndex', internalType: 'uint16', type: 'uint16' },\n {\n name: 'observationCardinality',\n internalType: 'uint16',\n type: 'uint16',\n },\n {\n name: 'observationCardinalityNext',\n internalType: 'uint16',\n type: 'uint16',\n },\n { name: 'feeProtocol', internalType: 'uint8', type: 'uint8' },\n { name: 'unlocked', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'zeroForOne', internalType: 'bool', type: 'bool' },\n { name: 'amountSpecified', internalType: 'int256', type: 'int256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'swap',\n outputs: [\n { name: 'amount0', internalType: 'int256', type: 'int256' },\n { name: 'amount1', internalType: 'int256', type: 'int256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'token0',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'token1',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// IUnwrapAndForwardAction\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const iUnwrapAndForwardActionABI = [\n {\n type: 'function',\n inputs: [\n { name: 'receiverAddress', internalType: 'address', type: 'address' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n { name: 'valueToSend', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'callWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// MintsEthUnwrapperAndCaller\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zoraSparks1155',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitWithAdditionalValue',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC20NotSupported',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'NotExpectingReceive' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'TransferFailed',\n },\n { type: 'error', inputs: [], name: 'UnknownUserAction' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerAddress = {\n 7777777: '0xb0994EB9520C98C97e1F3953a5964535C2bd271A',\n 999999999: '0xb0994EB9520C98C97e1F3953a5964535C2bd271A',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0xb0994EB9520C98C97e1F3953a5964535C2bd271A)\n */\nexport const mintsEthUnwrapperAndCallerConfig = {\n address: mintsEthUnwrapperAndCallerAddress,\n abi: mintsEthUnwrapperAndCallerABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ProtocolRewards\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsABI = [\n { type: 'constructor', inputs: [], stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WITHDRAW_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'recipients', internalType: 'address[]', type: 'address[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'reasons', internalType: 'bytes4[]', type: 'bytes4[]' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'depositBatch',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'creator', internalType: 'address', type: 'address' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'mintReferralReward', internalType: 'uint256', type: 'uint256' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'firstMinterReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zora', internalType: 'address', type: 'address' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'depositRewards',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'nonces',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'withdrawFor',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'v', internalType: 'uint8', type: 'uint8' },\n { name: 'r', internalType: 'bytes32', type: 'bytes32' },\n { name: 's', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'withdrawWithSig',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'reason', internalType: 'bytes4', type: 'bytes4', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'Deposit',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'firstMinter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'zora',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'firstMinterReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'RewardsDeposit',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Withdraw',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'ARRAY_LENGTH_MISMATCH' },\n { type: 'error', inputs: [], name: 'INVALID_DEPOSIT' },\n { type: 'error', inputs: [], name: 'INVALID_SIGNATURE' },\n { type: 'error', inputs: [], name: 'INVALID_WITHDRAW' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'SIGNATURE_DEADLINE_EXPIRED' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TRANSFER_FAILED' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsAddress = {\n 1: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 10: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 999: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 8453: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 42161: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 81457: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 84532: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 421614: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 7777777: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 11155111: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 168587773: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n 999999999: '0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B)\n */\nexport const protocolRewardsConfig = {\n address: protocolRewardsAddress,\n abi: protocolRewardsABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SecondarySwap\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapABI = [\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'WETH',\n outputs: [{ name: '', internalType: 'contract IWETH', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n { name: 'num1155ToBuy', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n {\n name: 'excessRefundRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'maxEthToSpend', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n ],\n name: 'buy1155',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'weth_', internalType: 'contract IWETH', type: 'address' },\n {\n name: 'swapRouter_',\n internalType: 'contract ISwapRouter',\n type: 'address',\n },\n { name: 'uniswapFee_', internalType: 'uint24', type: 'uint24' },\n {\n name: 'zoraTimedSaleStrategy_',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n { name: 'num1155ToSell', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address payable', type: 'address' },\n { name: 'minEthToAcquire', internalType: 'uint256', type: 'uint256' },\n { name: 'sqrtPriceLimitX96', internalType: 'uint160', type: 'uint160' },\n ],\n name: 'sell1155',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'swapRouter',\n outputs: [\n { name: '', internalType: 'contract ISwapRouter', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'uniswapFee',\n outputs: [{ name: '', internalType: 'uint24', type: 'uint24' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraTimedSaleStrategy',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraTimedSaleStrategy',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'msgSender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amountEthSold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'num1155Purchased',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondaryBuy',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'secondaryType',\n internalType: 'enum ISecondarySwap.SecondaryType',\n type: 'uint8',\n indexed: false,\n },\n ],\n name: 'SecondaryComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'msgSender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'recipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amountEthPurchased',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'num1155Sold',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SecondarySell',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'AlreadyInitialized' },\n { type: 'error', inputs: [], name: 'ERC20ZEquivalentAmountNotConverted' },\n { type: 'error', inputs: [], name: 'ERC20ZMinimumAmountNotReceived' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'NoETHSent' },\n { type: 'error', inputs: [], name: 'NotSupported' },\n { type: 'error', inputs: [], name: 'OnlyWETH' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapAddress = {\n 1: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 10: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 8453: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 42161: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 81457: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 84532: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 421614: '0x777777794a6e310F2A55da6f157b16ED28Fa5D91',\n 7777777: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 11155111: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n 999999999: '0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777794a6e310F2A55da6f157b16ED28Fa5D91)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777EDF27Ac61671e3D5718b10bf6a8802f9f1)\n */\nexport const secondarySwapConfig = {\n address: secondarySwapAddress,\n abi: secondarySwapABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// SponsoredSparksSpender\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zoraSparks1155',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n { name: 'fundsManager', internalType: 'address', type: 'address' },\n {\n name: 'defaultVerifiers',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SPONSORED_SPEND_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SPONSORSHIP_TYPEHASH',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'allowedVerifiers',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'fund',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsorship',\n internalType: 'struct SponsoredMintBatch',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashSponsoredMint',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredSpend',\n internalType: 'struct SponsoredSpend',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedInputAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashSponsoredSpend',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'enabled', internalType: 'bool', type: 'bool' },\n ],\n name: 'setVerifierStatus',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'sponsoredSpend',\n internalType: 'struct SponsoredSpend',\n type: 'tuple',\n components: [\n { name: 'verifier', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n {\n name: 'destination',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n {\n name: 'expectedInputAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'totalAmount', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'sponsoredExecute',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'usedNonces',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'ContractFunded',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'verifier',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amountSpent',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'contractValue',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SentSponsoredCallFromMintBalances',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'verifier',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'enabled', internalType: 'bool', type: 'bool', indexed: true },\n ],\n name: 'SetVerifierStatus',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC20NotSupported',\n },\n { type: 'error', inputs: [], name: 'IdsMismatch' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'LengthMismatch' },\n { type: 'error', inputs: [], name: 'NoMoreFundsToSponsor' },\n { type: 'error', inputs: [], name: 'NonceUsed' },\n { type: 'error', inputs: [], name: 'NotExpectingReceive' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n {\n type: 'error',\n inputs: [\n {\n name: 'expectedRedeemAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'transientReceivedAmount',\n internalType: 'uint256',\n type: 'uint256',\n },\n ],\n name: 'RedeemAmountIsIncorrect',\n },\n { type: 'error', inputs: [], name: 'SenderNotAllowedInSignature' },\n { type: 'error', inputs: [], name: 'SignatureExpired' },\n { type: 'error', inputs: [], name: 'SingleTransferNotSupported' },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n {\n type: 'error',\n inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],\n name: 'TransferFailed',\n },\n { type: 'error', inputs: [], name: 'UnknownAction' },\n { type: 'error', inputs: [], name: 'UnknownUserAction' },\n { type: 'error', inputs: [], name: 'ValuesMismatch' },\n {\n type: 'error',\n inputs: [{ name: 'verifier', internalType: 'address', type: 'address' }],\n name: 'VerifierNotAllowed',\n },\n { type: 'error', inputs: [], name: 'WithdrawFailed' },\n] as const\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderAddress = {\n 10: '0x35ca784918bf11692708c1D530691704AAcEA95E',\n 8453: '0x6958A8866A40118e2CC21ab4752353835321b5e6',\n 42161: '0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7',\n 81457: '0x786F0f6aE196715Cd6d65693f06DA57426ac8463',\n 84532: '0x23150f60E233F519A01C735C29c1591f9E8353dE',\n 7777777: '0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d',\n 999999999: '0x3A98313fB00918a81d98f9986aED089365428293',\n} as const\n\n/**\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x35ca784918bf11692708c1D530691704AAcEA95E)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x6958A8866A40118e2CC21ab4752353835321b5e6)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x786F0f6aE196715Cd6d65693f06DA57426ac8463)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x23150f60E233F519A01C735C29c1591f9E8353dE)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x3A98313fB00918a81d98f9986aED089365428293)\n */\nexport const sponsoredSparksSpenderConfig = {\n address: sponsoredSparksSpenderAddress,\n abi: sponsoredSparksSpenderABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// UniswapV3SwapRouter\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x2626664c2603336E57B271c5C0b26F421741e481)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x101F443B4d1b059569D643917553c771E1b9663E)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7De04c96BE5159c3b5CeffC82aa176dc81281557)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a)\n */\nexport const uniswapV3SwapRouterABI = [\n {\n type: 'function',\n inputs: [\n {\n name: 'params',\n internalType: 'struct ISwapRouter.ExactInputSingleParams',\n type: 'tuple',\n components: [\n { name: 'tokenIn', internalType: 'address', type: 'address' },\n { name: 'tokenOut', internalType: 'address', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amountIn', internalType: 'uint256', type: 'uint256' },\n {\n name: 'amountOutMinimum',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n ],\n },\n ],\n name: 'exactInputSingle',\n outputs: [{ name: 'amountOut', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'params',\n internalType: 'struct ISwapRouter.ExactOutputSingleParams',\n type: 'tuple',\n components: [\n { name: 'tokenIn', internalType: 'address', type: 'address' },\n { name: 'tokenOut', internalType: 'address', type: 'address' },\n { name: 'fee', internalType: 'uint24', type: 'uint24' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amountOut', internalType: 'uint256', type: 'uint256' },\n { name: 'amountInMaximum', internalType: 'uint256', type: 'uint256' },\n {\n name: 'sqrtPriceLimitX96',\n internalType: 'uint160',\n type: 'uint160',\n },\n ],\n },\n ],\n name: 'exactOutputSingle',\n outputs: [{ name: 'amountIn', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount0Delta', internalType: 'int256', type: 'int256' },\n { name: 'amount1Delta', internalType: 'int256', type: 'int256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'uniswapV3SwapCallback',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x2626664c2603336E57B271c5C0b26F421741e481)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x101F443B4d1b059569D643917553c771E1b9663E)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7De04c96BE5159c3b5CeffC82aa176dc81281557)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a)\n */\nexport const uniswapV3SwapRouterAddress = {\n 1: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',\n 10: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',\n 8453: '0x2626664c2603336E57B271c5C0b26F421741e481',\n 42161: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',\n 81457: '0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66',\n 84532: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',\n 421614: '0x101F443B4d1b059569D643917553c771E1b9663E',\n 7777777: '0x7De04c96BE5159c3b5CeffC82aa176dc81281557',\n 11155111: '0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E',\n 11155420: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',\n 999999999: '0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x2626664c2603336E57B271c5C0b26F421741e481)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x101F443B4d1b059569D643917553c771E1b9663E)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7De04c96BE5159c3b5CeffC82aa176dc81281557)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a)\n */\nexport const uniswapV3SwapRouterConfig = {\n address: uniswapV3SwapRouterAddress,\n abi: uniswapV3SwapRouterABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// UpgradeGate\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n ],\n name: 'isAllowedUpgrade',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpl', internalType: 'address', type: 'address' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'isRegisteredUpgradePath',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpls', internalType: 'address[]', type: 'address[]' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'registerUpgradePath',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'baseImpl', internalType: 'address', type: 'address' },\n { name: 'upgradeImpl', internalType: 'address', type: 'address' },\n ],\n name: 'removeUpgradePath',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'UpgradeGateSetup' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'baseImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'upgradeImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'UpgradeRegistered',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'baseImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'upgradeImpl',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'UpgradeRemoved',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateAddress = {\n 1: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 10: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 8453: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 42161: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 81457: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 84532: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 421614: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 7777777: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 11155111: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n 168587773: '0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900)\n */\nexport const upgradeGateConfig = {\n address: upgradeGateAddress,\n abi: upgradeGateABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// WETH\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethABI = [\n {\n type: 'function',\n inputs: [\n { name: 'guy', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'guy', internalType: 'address', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'dst', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'src', internalType: 'address', type: 'address' },\n { name: 'dst', internalType: 'address', type: 'address' },\n { name: 'wad', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'wad', internalType: 'uint256', type: 'uint256' }],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethAddress = {\n 1: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n 10: '0x4200000000000000000000000000000000000006',\n 8453: '0x4200000000000000000000000000000000000006',\n 42161: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n 81457: '0x4300000000000000000000000000000000000004',\n 84532: '0x4200000000000000000000000000000000000006',\n 421614: '0xc556bAe1e86B2aE9c22eA5E036b07E55E7596074',\n 7777777: '0x4200000000000000000000000000000000000006',\n 11155111: '0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9',\n 11155420: '0x4200000000000000000000000000000000000006',\n 999999999: '0x4200000000000000000000000000000000000006',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x82af49447d8a07e3bd95bd0d56f35241523fbab1)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x4300000000000000000000000000000000000004)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xc556bae1e86b2ae9c22ea5e036b07e55e7596074)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9)\n * - [__View Contract on Op Sepolia Blockscout__](https://optimism-sepolia.blockscout.com/address/0x4200000000000000000000000000000000000006)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x4200000000000000000000000000000000000006)\n */\nexport const wethConfig = { address: wethAddress, abi: wethABI } as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraAccountManager\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'encodedOwners', internalType: 'bytes[]', type: 'bytes[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'createSmartWallet',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'entryPoint',\n outputs: [\n { name: '', internalType: 'contract IEntryPoint', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'encodedOwners', internalType: 'bytes[]', type: 'bytes[]' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'smartWallet', internalType: 'address', type: 'address' },\n { name: 'key', internalType: 'uint192', type: 'uint192' },\n ],\n name: 'getKeyNonce',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'smartWallet', internalType: 'address', type: 'address' }],\n name: 'getNonce',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'smartWalletFactory',\n outputs: [\n {\n name: '',\n internalType: 'contract ICoinbaseSmartWalletFactory',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'smartWallet',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'baseOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'owners',\n internalType: 'address[]',\n type: 'address[]',\n indexed: false,\n },\n {\n name: 'nonce',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ZoraSmartWalletCreated',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n] as const\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerAddress = {\n 7777777: '0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52',\n} as const\n\n/**\n * [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777f7bA9ce74A5d7f058B30Ac824d940fB52)\n */\nexport const zoraAccountManagerConfig = {\n address: zoraAccountManagerAddress,\n abi: zoraAccountManagerABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155FactoryImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_zora1155Impl',\n internalType: 'contract IZoraCreator1155',\n type: 'address',\n },\n {\n name: '_merkleMinter',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n {\n name: '_fixedPriceMinter',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n {\n name: '_redeemMinterFactory',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'createContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'createContractDeterministic',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'defaultMinters',\n outputs: [\n {\n name: 'minters',\n internalType: 'contract IMinter1155[]',\n type: 'address[]',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'msgSender', internalType: 'address', type: 'address' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n ],\n name: 'deterministicContractAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'msgSender', internalType: 'address', type: 'address' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'deterministicContractAddressWithSetupActions',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'fixedPriceMinter',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'expectedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'name', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'getOrCreateContractDeterministic',\n outputs: [\n {\n name: 'calculatedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'merkleMinter',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'redeemMinterFactory',\n outputs: [\n { name: '', internalType: 'contract IMinter1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zora1155Impl',\n outputs: [\n { name: '', internalType: 'contract IZoraCreator1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'calculatedContractAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ContractAlreadyExistsSkippingDeploy',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'FactorySetup' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'newContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'defaultAdmin',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n ],\n name: 'SetupNewContract',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n { type: 'error', inputs: [], name: 'Constructor_ImplCannotBeZero' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n {\n name: 'expectedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'calculcatedContractAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'ExpectedContractAddressDoesNotMatchCalculatedContractAddress',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplAddress = {\n 1: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 10: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 999: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 8453: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 42161: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 81457: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 84532: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 421614: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 7777777: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 11155111: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 168587773: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n 999999999: '0x777777C338d93e2C7adf08D102d45CA7CC4Ed021',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777C338d93e2C7adf08D102d45CA7CC4Ed021)\n */\nexport const zoraCreator1155FactoryImplConfig = {\n address: zoraCreator1155FactoryImplAddress,\n abi: zoraCreator1155FactoryImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155Impl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nexport const zoraCreator1155ImplABI = [\n {\n type: 'constructor',\n inputs: [\n { name: '_mintFeeRecipient', internalType: 'address', type: 'address' },\n { name: '_upgradeGate', internalType: 'address', type: 'address' },\n { name: '_protocolRewards', internalType: 'address', type: 'address' },\n { name: '_timedSaleStrategy', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n },\n { type: 'receive', stateMutability: 'payable' },\n {\n type: 'function',\n inputs: [],\n name: 'CONTRACT_BASE_ID',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_ADMIN',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_FUNDS_MANAGER',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_METADATA',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_MINTER',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'PERMISSION_BIT_SALES',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'permissionBits', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'addPermission',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'adminMint',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'lastTokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'assumeLastTokenIdMatches',\n outputs: [],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [\n { name: 'batchBalances', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'burnBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callRenderer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'contract IMinter1155',\n type: 'address',\n },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintPrice', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'computeTotalReward',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'config',\n outputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: '__gap1', internalType: 'uint96', type: 'uint96' },\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '__gap2', internalType: 'uint96', type: 'uint96' },\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n { name: '__gap3', internalType: 'uint96', type: 'uint96' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'createReferrals',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'customRenderers',\n outputs: [\n { name: '', internalType: 'contract IRenderer1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'premintConfig', internalType: 'bytes', type: 'bytes' },\n { name: 'premintVersion', internalType: 'bytes32', type: 'bytes32' },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n {\n name: 'premintSignerContract',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'delegateSetupNewToken',\n outputs: [{ name: 'newTokenId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],\n name: 'delegatedTokenId',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'firstMinters',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getCreatorRewardRecipient',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getCustomRenderer',\n outputs: [\n {\n name: 'customRenderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getRoyalties',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenInfo',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraCreator1155TypesV1.TokenData',\n type: 'tuple',\n components: [\n { name: 'uri', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractName', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n {\n name: 'defaultRoyaltyConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n {\n name: 'defaultAdmin',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'setupActions', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'isAdminOrRole',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'metadataRendererContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'minter', internalType: 'contract IMinter1155', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n {\n name: 'rewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'mintFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],\n name: 'multicall',\n outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'nextTokenId',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'address', type: 'address' },\n ],\n name: 'permissions',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'newMaxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'reduceSupply',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'permissionBits', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'removePermission',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'royalties',\n outputs: [\n { name: 'royaltyMintSchedule', internalType: 'uint32', type: 'uint32' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n { name: 'royaltyRecipient', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'salePrice', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'royaltyInfo',\n outputs: [\n { name: 'receiver', internalType: 'address', type: 'address' },\n { name: 'royaltyAmount', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n ],\n name: 'setFundsRecipient',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'setOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'renderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n },\n ],\n name: 'setTokenMetadataRenderer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n ],\n name: 'setTransferHook',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setupNewToken',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n name: 'setupNewTokenWithCreateReferral',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'supportedPremintSignatureVersions',\n outputs: [{ name: '', internalType: 'string[]', type: 'string[]' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: '_newURI', internalType: 'string', type: 'string' },\n { name: '_newName', internalType: 'string', type: 'string' },\n ],\n name: 'updateContractMetadata',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'updateCreateReferral',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'newConfiguration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n ],\n name: 'updateRoyaltiesForToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: '_newURI', internalType: 'string', type: 'string' },\n ],\n name: 'updateTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'withdraw',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'updater',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'updateType',\n internalType: 'enum IZoraCreator1155.ConfigUpdate',\n type: 'uint8',\n indexed: true,\n },\n {\n name: 'newConfig',\n internalType: 'struct IZoraCreator1155TypesV1.ContractConfig',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: '__gap1', internalType: 'uint96', type: 'uint96' },\n {\n name: 'fundsRecipient',\n internalType: 'address payable',\n type: 'address',\n },\n { name: '__gap2', internalType: 'uint96', type: 'uint96' },\n {\n name: 'transferHook',\n internalType: 'contract ITransferHookReceiver',\n type: 'address',\n },\n { name: '__gap3', internalType: 'uint96', type: 'uint96' },\n ],\n indexed: false,\n },\n ],\n name: 'ConfigUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'updater',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'uri', internalType: 'string', type: 'string', indexed: false },\n { name: 'name', internalType: 'string', type: 'string', indexed: false },\n ],\n name: 'ContractMetadataUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'renderer',\n internalType: 'contract IRenderer1155',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'ContractRendererUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'structHash',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'domainName',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'version',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'signature',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'CreatorAttribution',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'lastOwner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Purchased',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'renderer',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n ],\n name: 'RendererUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'maxSupply',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SetupNewToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'permissions',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'UpdatedPermissions',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n { name: 'user', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'configuration',\n internalType: 'struct ICreatorRoyaltiesControl.RoyaltyConfiguration',\n type: 'tuple',\n components: [\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n ],\n name: 'UpdatedRoyalties',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenData',\n internalType: 'struct IZoraCreator1155TypesV1.TokenData',\n type: 'tuple',\n components: [\n { name: 'uri', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n ],\n indexed: false,\n },\n ],\n name: 'UpdatedToken',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ACCOUNTS_AND_IDS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ADDRESS_ZERO_IS_NOT_A_VALID_OWNER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_AMOUNT_EXCEEDS_BALANCE' },\n { type: 'error', inputs: [], name: 'ERC1155_BURN_FROM_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_CALLER_IS_NOT_TOKEN_OWNER_OR_APPROVED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_ERC1155RECEIVER_REJECTED_TOKENS',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_IDS_AND_AMOUNTS_LENGTH_MISMATCH',\n },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_INSUFFICIENT_BALANCE_FOR_TRANSFER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1155_SETTING_APPROVAL_FOR_SELF' },\n {\n type: 'error',\n inputs: [],\n name: 'ERC1155_TRANSFER_TO_NON_ERC1155RECEIVER_IMPLEMENTER',\n },\n { type: 'error', inputs: [], name: 'ERC1155_TRANSFER_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n {\n type: 'error',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'NoRendererForToken',\n },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [{ name: 'renderer', internalType: 'address', type: 'address' }],\n name: 'RendererNotValid',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreator1155PremintExecutorImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_factory',\n internalType: 'contract IZoraCreator1155Factory',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'cancelOwnershipTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'getContractAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'getContractWithAdditionalAdminsAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_initialOwner', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'signer', internalType: 'address', type: 'address' },\n {\n name: 'premintContractConfigContractAdmin',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n ],\n name: 'isAuthorizedToCreatePremint',\n outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'signer', internalType: 'address', type: 'address' },\n {\n name: 'premintContractConfigContractAdmin',\n internalType: 'address',\n type: 'address',\n },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n name: 'isAuthorizedToCreatePremintWithAdditionalAdmins',\n outputs: [{ name: 'isAuthorized', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfig',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignature',\n outputs: [\n { name: 'isValid', internalType: 'bool', type: 'bool' },\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'recoveredSigner', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collectionAddress', internalType: 'address', type: 'address' },\n ],\n name: 'mintFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'premintCollection', internalType: 'address', type: 'address' },\n {\n name: 'encodedPremintConfig',\n internalType: 'struct PremintConfigEncoded',\n type: 'tuple',\n components: [\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n { name: 'tokenConfig', internalType: 'bytes', type: 'bytes' },\n {\n name: 'premintConfigVersion',\n internalType: 'bytes32',\n type: 'bytes32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'premint',\n outputs: [\n {\n name: 'premintResult',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'premintStatus',\n outputs: [\n { name: 'contractCreated', internalType: 'bool', type: 'bool' },\n { name: 'tokenIdForPremint', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfig',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'premintV1',\n outputs: [\n {\n name: '',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigV2',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n { name: 'quantityToMint', internalType: 'uint256', type: 'uint256' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n ],\n name: 'premintV2',\n outputs: [\n {\n name: '',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'resignOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'safeTransferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n ],\n name: 'supportedPremintSignatureVersions',\n outputs: [{ name: 'versions', internalType: 'string[]', type: 'string[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zora1155Factory',\n outputs: [\n {\n name: '',\n internalType: 'contract IZoraCreator1155Factory',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'canceledOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerCanceled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'owner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'pendingOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerPending',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnerUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'createdNewContract',\n internalType: 'bool',\n type: 'bool',\n indexed: true,\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false },\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfig',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n {\n name: 'royaltyMintSchedule',\n internalType: 'uint32',\n type: 'uint32',\n },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'royaltyRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n ],\n indexed: false,\n },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'quantityMinted',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'Preminted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'createdNewContract',\n internalType: 'bool',\n type: 'bool',\n indexed: true,\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32', indexed: false },\n {\n name: 'minter',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'quantityMinted',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'PremintedV2',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n { type: 'error', inputs: [], name: 'ADDRESS_DELEGATECALL_TO_NON_CONTRACT' },\n { type: 'error', inputs: [], name: 'ADDRESS_LOW_LEVEL_CALL_FAILED' },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n { type: 'error', inputs: [], name: 'CREATOR_FUNDS_RECIPIENT_NOT_SET' },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n { type: 'error', inputs: [], name: 'CanOnlyReduceMaxSupply' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n { type: 'error', inputs: [], name: 'CannotReduceMaxSupplyBelowMinted' },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_CONTRACT' },\n { type: 'error', inputs: [], name: 'ERC1967_NEW_IMPL_NOT_UUPS' },\n { type: 'error', inputs: [], name: 'ERC1967_UNSUPPORTED_PROXIABLEUUID' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_ACTIVE_PROXY',\n },\n {\n type: 'error',\n inputs: [],\n name: 'FUNCTION_MUST_BE_CALLED_THROUGH_DELEGATECALL',\n },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_ALREADY_INITIALIZED',\n },\n { type: 'error', inputs: [], name: 'INITIALIZABLE_CONTRACT_IS_INITIALIZING' },\n {\n type: 'error',\n inputs: [],\n name: 'INITIALIZABLE_CONTRACT_IS_NOT_INITIALIZING',\n },\n { type: 'error', inputs: [], name: 'INVALID_ADDRESS_ZERO' },\n { type: 'error', inputs: [], name: 'INVALID_ETH_AMOUNT' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n { type: 'error', inputs: [], name: 'ONLY_CREATE_REFERRAL' },\n { type: 'error', inputs: [], name: 'ONLY_OWNER' },\n { type: 'error', inputs: [], name: 'ONLY_PENDING_OWNER' },\n { type: 'error', inputs: [], name: 'OWNER_CANNOT_BE_ZERO_ADDRESS' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForRegisteredMinter' },\n { type: 'error', inputs: [], name: 'OnlyAllowedForTimedSaleStrategy' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraMints' },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [],\n name: 'UUPS_UPGRADEABLE_MUST_NOT_BE_CALLED_THROUGH_DELEGATECALL',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplAddress = {\n 1: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 10: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 999: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 8453: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 42161: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 81457: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 84532: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 421614: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 7777777: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 11155111: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 168587773: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n 999999999: '0x7777773606e7e46C8Ba8B98C08f5cD218e31d340',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777773606e7e46C8Ba8B98C08f5cD218e31d340)\n */\nexport const zoraCreator1155PremintExecutorImplConfig = {\n address: zoraCreator1155PremintExecutorImplAddress,\n abi: zoraCreator1155PremintExecutorImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorFixedPriceSaleStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyABI = [\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct ZoraCreatorFixedPriceSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyAddress = {\n 1: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 10: '0x3678862f04290E565cCA2EF163BAeb92Bb76790C',\n 999: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 8453: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 42161: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 81457: '0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0',\n 84532: '0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE',\n 421614: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 7777777: '0x04E2516A2c207E84a1839755675dfd8eF6302F0a',\n 11155111: '0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21',\n 168587773: '0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0',\n 999999999: '0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x3678862f04290E565cCA2EF163BAeb92Bb76790C)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x04E2516A2c207E84a1839755675dfd8eF6302F0a)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A)\n */\nexport const zoraCreatorFixedPriceSaleStrategyConfig = {\n address: zoraCreatorFixedPriceSaleStrategyAddress,\n abi: zoraCreatorFixedPriceSaleStrategyABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorMerkleMinterStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyABI = [\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'allowedMerkles',\n outputs: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'wallet', internalType: 'address', type: 'address' },\n ],\n name: 'getMintedPerWallet',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'resetSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'merkleSaleSettings',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'mediaContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'merkleSaleSettings',\n internalType:\n 'struct ZoraCreatorMerkleMinterStrategy.MerkleSaleSettings',\n type: 'tuple',\n components: [\n { name: 'presaleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'presaleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'fundsRecipient', internalType: 'address', type: 'address' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MerkleClaimsExceeded' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyAddress = {\n 1: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 10: '0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8',\n 999: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 8453: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 42161: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 81457: '0xB9C997FcC46a27331CC986cc2416ee99C1d506c3',\n 84532: '0x3E8524770adD176bE381a0529E09f1c6c3502A5a',\n 421614: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 7777777: '0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7',\n 11155111: '0xe770E6f19aecF8ef3145A50087999b5556aB3610',\n 168587773: '0xB9C997FcC46a27331CC986cc2416ee99C1d506c3',\n 999999999: '0x5e5fD4b758076BAD940db0284b711A67E8a3B88c',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x3E8524770adD176bE381a0529E09f1c6c3502A5a)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0xe770E6f19aecF8ef3145A50087999b5556aB3610)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0xB9C997FcC46a27331CC986cc2416ee99C1d506c3)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x5e5fD4b758076BAD940db0284b711A67E8a3B88c)\n */\nexport const zoraCreatorMerkleMinterStrategyConfig = {\n address: zoraCreatorMerkleMinterStrategyAddress,\n abi: zoraCreatorMerkleMinterStrategyABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraCreatorRedeemMinterFactory\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'CONTRACT_BASE_ID',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'createMinterIfNoneExists',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'doesRedeemMinterExistForCreatorContract',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'getDeployedRedeemMinterForCreatorContract',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_creatorContract', internalType: 'address', type: 'address' },\n ],\n name: 'predictMinterAddress',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'ethValueSent', internalType: 'uint256', type: 'uint256' },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraRedeemMinterImplementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'creatorContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'minterContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RedeemMinterDeployed',\n },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryAddress = {\n 1: '0x78964965cF77850224513a367f899435C5B69174',\n 10: '0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2',\n 999: '0x78964965cF77850224513a367f899435C5B69174',\n 8453: '0x78964965cF77850224513a367f899435C5B69174',\n 42161: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 81457: '0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614',\n 84532: '0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea',\n 421614: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 7777777: '0x78964965cF77850224513a367f899435C5B69174',\n 11155111: '0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D',\n 168587773: '0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614',\n 999999999: '0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2)\n * - [__View Contract on Zora Goerli Testnet Explorer__](https://testnet.explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x78964965cF77850224513a367f899435C5B69174)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D)\n * - [__View Contract on Blast Sepolia Blastscan__](https://sepolia.blastscan.io/address/0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6)\n */\nexport const zoraCreatorRedeemMinterFactoryConfig = {\n address: zoraCreatorRedeemMinterFactoryAddress,\n abi: zoraCreatorRedeemMinterFactoryABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraMints1155\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155ABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'ETH_ADDRESS',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ERC20_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ETH_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'authority',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOfAccount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getManager',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitBatch',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitSingle',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'isConsumingScheduledOp',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferBatch',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferSingle',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n ],\n name: 'notifyURIsUpdated',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newUri', internalType: 'string', type: 'string' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'notifyUpdatedTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransferBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeem',\n outputs: [\n {\n name: '',\n internalType: 'struct Redemption',\n type: 'tuple',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeemBatch',\n outputs: [\n {\n name: 'redemptions',\n internalType: 'struct Redemption[]',\n type: 'tuple[]',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newAuthority', internalType: 'address', type: 'address' },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenExists',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'transferBatchToManagerAndCall',\n outputs: [{ name: 'callReturn', internalType: 'bytes', type: 'bytes' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'authority',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AuthorityUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'price',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'TokenCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'error',\n inputs: [{ name: 'authority', internalType: 'address', type: 'address' }],\n name: 'AccessManagedInvalidAuthority',\n },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'delay', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'AccessManagedRequiredDelay',\n },\n {\n type: 'error',\n inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],\n name: 'AccessManagedUnauthorized',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidApprover',\n },\n {\n type: 'error',\n inputs: [\n { name: 'idsLength', internalType: 'uint256', type: 'uint256' },\n { name: 'valuesLength', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InvalidArrayLength',\n },\n {\n type: 'error',\n inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidOperator',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidSender',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'owner', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1155MissingApprovalForAll',\n },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155Address = {\n 7777777: '0x7777777d57c1C6e472fa379b7b3B6c6ba3835073',\n 999999999: '0x7777777d57c1C6e472fa379b7b3B6c6ba3835073',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777d57c1C6e472fa379b7b3B6c6ba3835073)\n */\nexport const zoraMints1155Config = {\n address: zoraMints1155Address,\n abi: zoraMints1155ABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraMintsManagerImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplABI = [\n {\n type: 'constructor',\n inputs: [\n {\n name: '_premintExecutor',\n internalType: 'contract IZoraCreator1155PremintExecutorAllVersions',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'callFrom', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'call', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'callWithTransferTokens',\n outputs: [\n { name: 'success', internalType: 'bool', type: 'bool' },\n { name: 'result', internalType: 'bytes', type: 'bytes' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'bytes4', type: 'bytes4' },\n ],\n name: 'canCall',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'zoraCreator1155Contract',\n internalType: 'contract IMintWithSparks',\n type: 'address',\n },\n { name: 'minter', internalType: 'contract IMinter1155', type: 'address' },\n {\n name: 'zoraCreator1155TokenId',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'collectMintArguments',\n internalType: 'struct ICollectWithZoraSparks.CollectMintArguments',\n type: 'tuple',\n components: [\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n { name: 'minterArguments', internalType: 'bytes', type: 'bytes' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'collect',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractWithAdditionalAdminsCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n {\n name: 'additionalAdmins',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'tokenContract', internalType: 'address', type: 'address' },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigEncoded',\n type: 'tuple',\n components: [\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n { name: 'tokenConfig', internalType: 'bytes', type: 'bytes' },\n {\n name: 'premintConfigVersion',\n internalType: 'bytes32',\n type: 'bytes32',\n },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'firstMinter', internalType: 'address', type: 'address' },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'collectPremint',\n outputs: [\n {\n name: 'result',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'contractConfig',\n internalType: 'struct ContractCreationConfig',\n type: 'tuple',\n components: [\n { name: 'contractAdmin', internalType: 'address', type: 'address' },\n { name: 'contractURI', internalType: 'string', type: 'string' },\n { name: 'contractName', internalType: 'string', type: 'string' },\n ],\n },\n {\n name: 'premintConfig',\n internalType: 'struct PremintConfigV2',\n type: 'tuple',\n components: [\n {\n name: 'tokenConfig',\n internalType: 'struct TokenCreationConfigV2',\n type: 'tuple',\n components: [\n { name: 'tokenURI', internalType: 'string', type: 'string' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n {\n name: 'maxTokensPerAddress',\n internalType: 'uint64',\n type: 'uint64',\n },\n { name: 'pricePerToken', internalType: 'uint96', type: 'uint96' },\n { name: 'mintStart', internalType: 'uint64', type: 'uint64' },\n { name: 'mintDuration', internalType: 'uint64', type: 'uint64' },\n { name: 'royaltyBPS', internalType: 'uint32', type: 'uint32' },\n {\n name: 'payoutRecipient',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'fixedPriceMinter',\n internalType: 'address',\n type: 'address',\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n },\n ],\n },\n { name: 'uid', internalType: 'uint32', type: 'uint32' },\n { name: 'version', internalType: 'uint32', type: 'uint32' },\n { name: 'deleted', internalType: 'bool', type: 'bool' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n {\n name: 'mintArguments',\n internalType: 'struct MintArguments',\n type: 'tuple',\n components: [\n { name: 'mintRecipient', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n {\n name: 'mintRewardsRecipients',\n internalType: 'address[]',\n type: 'address[]',\n },\n ],\n },\n { name: 'signerContract', internalType: 'address', type: 'address' },\n ],\n name: 'collectPremintV2',\n outputs: [\n {\n name: 'result',\n internalType: 'struct PremintResult',\n type: 'tuple',\n components: [\n { name: 'contractAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'createdNewContract', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n { name: 'defaultMintable', internalType: 'bool', type: 'bool' },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'minterArguments', internalType: 'bytes', type: 'bytes' }],\n name: 'decodeMintRecipientAndComment',\n outputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'mintComment', internalType: 'string', type: 'string' },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getEthPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultOwner', internalType: 'address', type: 'address' },\n { name: 'zoraSparksSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'zoraSparksCreationCode', internalType: 'bytes', type: 'bytes' },\n { name: 'initialEthTokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'initialEthTokenPrice',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [\n {\n name: 'mints',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithERC20',\n outputs: [\n { name: 'mintableTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithEth',\n outputs: [\n { name: 'mintableTokenId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'mintableEthToken',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155BatchReceived',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'onERC1155Received',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setDefaultMintable',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n {\n name: 'tokenIdsToNotifyUpdate',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n name: 'setMetadataURIs',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraSparks1155',\n outputs: [\n { name: '', internalType: 'contract IZoraSparks1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenIds',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: true,\n },\n {\n name: 'quantities',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'zoraCreator1155Contract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'zoraCreator1155TokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n ],\n name: 'Collected',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'DefaultMintableTokenSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenContract',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'user', internalType: 'address', type: 'address' },\n ],\n name: 'Burn_NotOwnerOrApproved',\n },\n {\n type: 'error',\n inputs: [{ name: 'reason', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n { type: 'error', inputs: [], name: 'Call_TokenIdMismatch' },\n { type: 'error', inputs: [], name: 'CallerNotZoraCreator1155' },\n {\n type: 'error',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'totalMinted', internalType: 'uint256', type: 'uint256' },\n { name: 'maxSupply', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'CannotMintMoreTokens',\n },\n {\n type: 'error',\n inputs: [\n { name: 'proposedAddress', internalType: 'address', type: 'address' },\n ],\n name: 'Config_TransferHookNotSupported',\n },\n { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },\n { type: 'error', inputs: [], name: 'Create2FailedDeployment' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'Create2InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'DefaultOwnerCannotBeZero' },\n { type: 'error', inputs: [], name: 'ERC1155BatchReceivedCallFailed' },\n { type: 'error', inputs: [], name: 'ERC1155_MINT_TO_ZERO_ADDRESS' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n {\n type: 'error',\n inputs: [\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ETHWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'FirstMinterAddressZero' },\n {\n type: 'error',\n inputs: [\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n { name: 'contractValue', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'FundsWithdrawInsolvent',\n },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n { type: 'error', inputs: [], name: 'InvalidAdminAction' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n {\n type: 'error',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'merkleProof', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'merkleRoot', internalType: 'bytes32', type: 'bytes32' },\n ],\n name: 'InvalidMerkleProof',\n },\n { type: 'error', inputs: [], name: 'InvalidMintSchedule' },\n { type: 'error', inputs: [], name: 'InvalidOwnerForAssociatedZoraSparks' },\n { type: 'error', inputs: [], name: 'InvalidPremintVersion' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidSignatureVersion' },\n {\n type: 'error',\n inputs: [{ name: 'magicValue', internalType: 'bytes4', type: 'bytes4' }],\n name: 'InvalidSigner',\n },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'MintNotYetStarted' },\n { type: 'error', inputs: [], name: 'MintWithSparksNotSupportedOnContract' },\n { type: 'error', inputs: [], name: 'Mint_InsolventSaleTransfer' },\n { type: 'error', inputs: [], name: 'Mint_InvalidMintArrayLength' },\n { type: 'error', inputs: [], name: 'Mint_TokenIDMintNotAllowed' },\n { type: 'error', inputs: [], name: 'Mint_UnknownCommand' },\n { type: 'error', inputs: [], name: 'Mint_ValueTransferFail' },\n { type: 'error', inputs: [], name: 'MinterContractAlreadyExists' },\n { type: 'error', inputs: [], name: 'MinterContractDoesNotExist' },\n { type: 'error', inputs: [], name: 'NewOwnerNeedsToBeAdmin' },\n { type: 'error', inputs: [], name: 'NoTokensTransferred' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n { type: 'error', inputs: [], name: 'NonEthRedemption' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'NotSelfCall' },\n { type: 'error', inputs: [], name: 'NotZoraSparks1155' },\n { type: 'error', inputs: [], name: 'OnlyTransfersFromZoraSparks' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PremintDeleted' },\n { type: 'error', inputs: [], name: 'PremintExecutorCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'amount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ProtocolRewardsWithdrawFailed',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'Renderer_NotValidRendererContract' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n {\n type: 'error',\n inputs: [\n { name: 'targetContract', internalType: 'address', type: 'address' },\n ],\n name: 'Sale_CannotCallNonSalesContract',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'uint256', type: 'uint256' },\n { name: 'actual', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'TokenIdMismatch',\n },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [{ name: 'selector', internalType: 'bytes4', type: 'bytes4' }],\n name: 'UnknownUserAction',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'limit', internalType: 'uint256', type: 'uint256' },\n { name: 'requestedAmount', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserExceedsMintLimit',\n },\n {\n type: 'error',\n inputs: [\n { name: 'user', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'role', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'UserMissingRoleForToken',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'premintSignerContractFailedToRecoverSigner',\n },\n { type: 'error', inputs: [], name: 'premintSignerContractNotAContract' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplAddress = {\n 7777777: '0x77777770cA269366c7208aFcF36FE2C6F7f7608B',\n 999999999: '0x77777770cA269366c7208aFcF36FE2C6F7f7608B',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777770cA269366c7208aFcF36FE2C6F7f7608B)\n */\nexport const zoraMintsManagerImplConfig = {\n address: zoraMintsManagerImplAddress,\n abi: zoraMintsManagerImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraSparks1155\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155ABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'ETH_ADDRESS',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ERC20_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MINIMUM_ETH_PRICE',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'authority',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'balanceOf',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'balanceOfAccount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'accounts', internalType: 'address[]', type: 'address[]' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n name: 'balanceOfBatch',\n outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'eip712Domain',\n outputs: [\n { name: 'fields', internalType: 'bytes1', type: 'bytes1' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'version', internalType: 'string', type: 'string' },\n { name: 'chainId', internalType: 'uint256', type: 'uint256' },\n { name: 'verifyingContract', internalType: 'address', type: 'address' },\n { name: 'salt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'getTokenConfig',\n outputs: [\n {\n name: '',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitBatch',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n name: 'hashPermitSingle',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'operator', internalType: 'address', type: 'address' },\n ],\n name: 'isApprovedForAll',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'isConsumingScheduledOp',\n outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferBatch',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'isValidSignatureTransferSingle',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'mintTokenWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'name',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'nonceUsed',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n ],\n name: 'notifyURIsUpdated',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newUri', internalType: 'string', type: 'string' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'notifyUpdatedTokenURI',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitSingle',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransfer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: 'permit',\n internalType: 'struct IZoraSparks1155Managed.PermitBatch',\n type: 'tuple',\n components: [\n { name: 'owner', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'safeTransferData', internalType: 'bytes', type: 'bytes' },\n { name: 'deadline', internalType: 'uint256', type: 'uint256' },\n { name: 'nonce', internalType: 'uint256', type: 'uint256' },\n ],\n },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'permitSafeTransferBatch',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeem',\n outputs: [\n {\n name: '',\n internalType: 'struct Redemption',\n type: 'tuple',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'quantities', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'redeemBatch',\n outputs: [\n {\n name: 'redemptions',\n internalType: 'struct Redemption[]',\n type: 'tuple[]',\n components: [\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'valueRedeemed', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'ids', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeBatchTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'from', internalType: 'address', type: 'address' },\n { name: 'to', internalType: 'address', type: 'address' },\n { name: 'id', internalType: 'uint256', type: 'uint256' },\n { name: 'value', internalType: 'uint256', type: 'uint256' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'safeTransferFrom',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'approved', internalType: 'bool', type: 'bool' },\n ],\n name: 'setApprovalForAll',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newAuthority', internalType: 'address', type: 'address' },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenExists',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'tokenPrice',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'approved', internalType: 'bool', type: 'bool', indexed: false },\n ],\n name: 'ApprovalForAll',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'authority',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AuthorityUpdated',\n },\n { type: 'event', anonymous: false, inputs: [], name: 'ContractURIUpdated' },\n { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'price',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'tokenAddress',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'TokenCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'ids',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'values',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n ],\n name: 'TransferBatch',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n { name: 'to', internalType: 'address', type: 'address', indexed: false },\n {\n name: 'tokenIds',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n {\n name: 'quantities',\n internalType: 'uint256[]',\n type: 'uint256[]',\n indexed: false,\n },\n { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },\n ],\n name: 'TransferBatchWithData',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'operator',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n { name: 'from', internalType: 'address', type: 'address', indexed: true },\n { name: 'to', internalType: 'address', type: 'address', indexed: true },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: false },\n {\n name: 'value',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TransferSingle',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'from',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n { name: 'to', internalType: 'address', type: 'address', indexed: false },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },\n ],\n name: 'TransferSingleWithData',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'value', internalType: 'string', type: 'string', indexed: false },\n { name: 'id', internalType: 'uint256', type: 'uint256', indexed: true },\n ],\n name: 'URI',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'error',\n inputs: [{ name: 'authority', internalType: 'address', type: 'address' }],\n name: 'AccessManagedInvalidAuthority',\n },\n {\n type: 'error',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: 'delay', internalType: 'uint32', type: 'uint32' },\n ],\n name: 'AccessManagedRequiredDelay',\n },\n {\n type: 'error',\n inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],\n name: 'AccessManagedUnauthorized',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n {\n type: 'error',\n inputs: [{ name: 'returnData', internalType: 'bytes', type: 'bytes' }],\n name: 'CallFailed',\n },\n {\n type: 'error',\n inputs: [\n { name: 'sender', internalType: 'address', type: 'address' },\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InsufficientBalance',\n },\n {\n type: 'error',\n inputs: [{ name: 'approver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidApprover',\n },\n {\n type: 'error',\n inputs: [\n { name: 'idsLength', internalType: 'uint256', type: 'uint256' },\n { name: 'valuesLength', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ERC1155InvalidArrayLength',\n },\n {\n type: 'error',\n inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidOperator',\n },\n {\n type: 'error',\n inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidReceiver',\n },\n {\n type: 'error',\n inputs: [{ name: 'sender', internalType: 'address', type: 'address' }],\n name: 'ERC1155InvalidSender',\n },\n {\n type: 'error',\n inputs: [\n { name: 'operator', internalType: 'address', type: 'address' },\n { name: 'owner', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1155MissingApprovalForAll',\n },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n {\n type: 'error',\n inputs: [{ name: 'deadline', internalType: 'uint256', type: 'uint256' }],\n name: 'ERC2612ExpiredSignature',\n },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n {\n type: 'error',\n inputs: [\n { name: 'account', internalType: 'address', type: 'address' },\n { name: 'currentNonce', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'InvalidAccountNonce',\n },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidShortString' },\n { type: 'error', inputs: [], name: 'InvalidSignature' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n {\n type: 'error',\n inputs: [{ name: 'str', internalType: 'string', type: 'string' }],\n name: 'StringTooLong',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155Address = {\n 7777777: '0x7777777b3eA6C126942BB14dD5C3C11D365C385D',\n 999999999: '0x7777777b3eA6C126942BB14dD5C3C11D365C385D',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x7777777b3eA6C126942BB14dD5C3C11D365C385D)\n */\nexport const zoraSparks1155Config = {\n address: zoraSparks1155Address,\n abi: zoraSparks1155ABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ZoraSparksManagerImpl\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'caller', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'bytes4', type: 'bytes4' },\n ],\n name: 'canCall',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'tokenConfig',\n internalType: 'struct TokenConfig',\n type: 'tuple',\n components: [\n { name: 'price', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'redeemHandler', internalType: 'address', type: 'address' },\n ],\n },\n ],\n name: 'createToken',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'defaultOwner', internalType: 'address', type: 'address' },\n { name: 'zoraSparksSalt', internalType: 'bytes32', type: 'bytes32' },\n { name: 'zoraSparksCreationCode', internalType: 'bytes', type: 'bytes' },\n { name: 'initialEthTokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'initialEthTokenPrice',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n ],\n name: 'initialize',\n outputs: [\n {\n name: 'sparks',\n internalType: 'contract IZoraSparks1155',\n type: 'address',\n },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'tokenAddress', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithERC20',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'recipient', internalType: 'address', type: 'address' },\n ],\n name: 'mintWithEth',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newContractURI', internalType: 'string', type: 'string' },\n { name: 'newBaseURI', internalType: 'string', type: 'string' },\n {\n name: 'tokenIdsToNotifyUpdate',\n internalType: 'uint256[]',\n type: 'uint256[]',\n },\n ],\n name: 'setMetadataURIs',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n name: 'uri',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'zoraSparks1155',\n outputs: [\n { name: '', internalType: 'contract IZoraSparks1155', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'contractURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n {\n name: 'baseURI',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'URIsUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n {\n type: 'error',\n inputs: [\n { name: 'lengthA', internalType: 'uint256', type: 'uint256' },\n { name: 'lengthB', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'ArrayLengthMismatch',\n },\n { type: 'error', inputs: [], name: 'Create2EmptyBytecode' },\n { type: 'error', inputs: [], name: 'Create2FailedDeployment' },\n {\n type: 'error',\n inputs: [\n { name: 'balance', internalType: 'uint256', type: 'uint256' },\n { name: 'needed', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'Create2InsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'DefaultOwnerCannotBeZero' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'ERC20TransferSlippage' },\n { type: 'error', inputs: [], name: 'ETHTransferFailed' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'IncorrectAmountSent' },\n { type: 'error', inputs: [], name: 'InvalidAdminAction' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'InvalidOwnerForAssociatedZoraSparks' },\n { type: 'error', inputs: [], name: 'InvalidRecipient' },\n { type: 'error', inputs: [], name: 'InvalidTokenPrice' },\n { type: 'error', inputs: [], name: 'NoUriForNonexistentToken' },\n {\n type: 'error',\n inputs: [{ name: 'handler', internalType: 'address', type: 'address' }],\n name: 'NotARedeemHandler',\n },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'PremintExecutorCannotBeZero' },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n {\n type: 'error',\n inputs: [{ name: 'token', internalType: 'address', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n },\n { type: 'error', inputs: [], name: 'TokenAlreadyCreated' },\n { type: 'error', inputs: [], name: 'TokenDoesNotExist' },\n {\n type: 'error',\n inputs: [\n { name: 'storedTokenAddress', internalType: 'address', type: 'address' },\n {\n name: 'expectedTokenAddress',\n internalType: 'address',\n type: 'address',\n },\n ],\n name: 'TokenMismatch',\n },\n { type: 'error', inputs: [], name: 'TokenNotMintable' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n {\n type: 'error',\n inputs: [\n { name: 'expected', internalType: 'string', type: 'string' },\n { name: 'actual', internalType: 'string', type: 'string' },\n ],\n name: 'UpgradeToMismatchedContractName',\n },\n] as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplAddress = {\n 7777777: '0x77777779acd6a96C0c57272112921A0b833c38fD',\n 999999999: '0x77777779acd6a96C0c57272112921A0b833c38fD',\n} as const\n\n/**\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x77777779acd6a96C0c57272112921A0b833c38fD)\n */\nexport const zoraSparksManagerImplConfig = {\n address: zoraSparksManagerImplAddress,\n abi: zoraSparksManagerImplABI,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// zoraTimedSaleStrategy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyABI = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'function',\n inputs: [],\n name: 'UPGRADE_INTERFACE_VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'acceptOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20zAddress', internalType: 'address', type: 'address' },\n ],\n name: 'calculateERC20zActivate',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.ERC20zActivate',\n type: 'tuple',\n components: [\n {\n name: 'finalTotalERC20ZSupply',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'erc20Reserve', internalType: 'uint256', type: 'uint256' },\n { name: 'erc20Liquidity', internalType: 'uint256', type: 'uint256' },\n { name: 'excessERC20', internalType: 'uint256', type: 'uint256' },\n { name: 'excessERC1155', internalType: 'uint256', type: 'uint256' },\n {\n name: 'additionalERC1155ToMint',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'final1155Supply', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'quantity', internalType: 'uint256', type: 'uint256' }],\n name: 'computeRewards',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.RewardsSettings',\n type: 'tuple',\n components: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'marketReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'quantity', internalType: 'uint256', type: 'uint256' }],\n name: 'computeRewardsV2',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.RewardsSettings',\n type: 'tuple',\n components: [\n { name: 'totalReward', internalType: 'uint256', type: 'uint256' },\n { name: 'creatorReward', internalType: 'uint256', type: 'uint256' },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'marketReward', internalType: 'uint256', type: 'uint256' },\n { name: 'zoraReward', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractName',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractURI',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'contractVersion',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [],\n name: 'erc20zImpl',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'getCreateReferral',\n outputs: [\n { name: 'createReferral', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'implementation',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_defaultOwner', internalType: 'address', type: 'address' },\n {\n name: '_zoraRewardRecipient',\n internalType: 'address',\n type: 'address',\n },\n { name: '_erc20zImpl', internalType: 'address', type: 'address' },\n {\n name: '_protocolRewards',\n internalType: 'contract IProtocolRewards',\n type: 'address',\n },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'launchMarket',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'mintTo', internalType: 'address', type: 'address' },\n { name: 'quantity', internalType: 'uint256', type: 'uint256' },\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'mintReferral', internalType: 'address', type: 'address' },\n { name: 'comment', internalType: 'string', type: 'string' },\n ],\n name: 'mint',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'owner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'pendingOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'protocolRewards',\n outputs: [\n { name: '', internalType: 'contract IProtocolRewards', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'renounceOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'uint256', type: 'uint256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'requestMint',\n outputs: [\n {\n name: '',\n internalType: 'struct ICreatorCommands.CommandSet',\n type: 'tuple',\n components: [\n {\n name: 'commands',\n internalType: 'struct ICreatorCommands.Command[]',\n type: 'tuple[]',\n components: [\n {\n name: 'method',\n internalType: 'enum ICreatorCommands.CreatorActions',\n type: 'uint8',\n },\n { name: 'args', internalType: 'bytes', type: 'bytes' },\n ],\n },\n { name: 'at', internalType: 'uint256', type: 'uint256' },\n ],\n },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'sale',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.SaleStorage',\n type: 'tuple',\n components: [\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'collection', internalType: 'address', type: 'address' },\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'saleV2',\n outputs: [\n {\n name: '',\n internalType: 'struct IZoraTimedSaleStrategy.SaleData',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'setSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfigV2',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n },\n ],\n name: 'setSaleV2',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'recipient', internalType: 'address', type: 'address' }],\n name: 'setZoraRewardRecipient',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],\n name: 'supportsInterface',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'amount0Delta', internalType: 'int256', type: 'int256' },\n { name: 'amount1Delta', internalType: 'int256', type: 'int256' },\n { name: '', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'uniswapV3SwapCallback',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'tokenId', internalType: 'uint256', type: 'uint256' },\n { name: 'newStartTime', internalType: 'uint64', type: 'uint64' },\n { name: 'newMarketCountdown', internalType: 'uint64', type: 'uint64' },\n ],\n name: 'updateSale',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'version',\n internalType: 'uint64',\n type: 'uint64',\n indexed: false,\n },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'poolAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'MarketLaunched',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'quantity',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'comment',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'MintComment',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferStarted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newOwner',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'OwnershipTransferred',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'salesConfig',\n internalType: 'struct IZoraTimedSaleStrategy.SalesConfig',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'erc20zAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'poolAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'mintFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SaleSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'saleData',\n internalType: 'struct IZoraTimedSaleStrategy.SaleData',\n type: 'tuple',\n components: [\n { name: 'saleStart', internalType: 'uint64', type: 'uint64' },\n { name: 'marketCountdown', internalType: 'uint64', type: 'uint64' },\n { name: 'saleEnd', internalType: 'uint64', type: 'uint64' },\n { name: 'secondaryActivated', internalType: 'bool', type: 'bool' },\n {\n name: 'minimumMarketEth',\n internalType: 'uint256',\n type: 'uint256',\n },\n { name: 'poolAddress', internalType: 'address', type: 'address' },\n {\n name: 'erc20zAddress',\n internalType: 'address payable',\n type: 'address',\n },\n { name: 'name', internalType: 'string', type: 'string' },\n { name: 'symbol', internalType: 'string', type: 'string' },\n ],\n indexed: false,\n },\n {\n name: 'mintFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'SaleSetV2',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'prevRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'newRecipient',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'ZoraRewardRecipientUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'collection',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'tokenId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: true,\n },\n {\n name: 'creator',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'creatorReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'createReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'createReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'mintReferral',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'mintReferralReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'market',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'marketReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'zoraRecipient',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'zoraReward',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'ZoraTimedSaleStrategyRewards',\n },\n {\n type: 'error',\n inputs: [{ name: 'target', internalType: 'address', type: 'address' }],\n name: 'AddressEmptyCode',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'AddressInsufficientBalance',\n },\n { type: 'error', inputs: [], name: 'AddressZero' },\n { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' },\n {\n type: 'error',\n inputs: [\n { name: 'implementation', internalType: 'address', type: 'address' },\n ],\n name: 'ERC1967InvalidImplementation',\n },\n { type: 'error', inputs: [], name: 'ERC1967NonPayable' },\n { type: 'error', inputs: [], name: 'EndTimeCannotBeInThePast' },\n { type: 'error', inputs: [], name: 'FailedInnerCall' },\n { type: 'error', inputs: [], name: 'InsufficientFunds' },\n { type: 'error', inputs: [], name: 'InvalidInitialization' },\n { type: 'error', inputs: [], name: 'MarketAlreadyLaunched' },\n { type: 'error', inputs: [], name: 'MarketMinimumNotReached' },\n { type: 'error', inputs: [], name: 'MinimumMarketEthNotMet' },\n { type: 'error', inputs: [], name: 'NeedsToBeAtLeastOneSaleToStartMarket' },\n { type: 'error', inputs: [], name: 'NotInitializing' },\n { type: 'error', inputs: [], name: 'OnlyZoraRewardRecipient' },\n {\n type: 'error',\n inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],\n name: 'OwnableInvalidOwner',\n },\n {\n type: 'error',\n inputs: [{ name: 'account', internalType: 'address', type: 'address' }],\n name: 'OwnableUnauthorizedAccount',\n },\n { type: 'error', inputs: [], name: 'ReentrancyGuardReentrantCall' },\n { type: 'error', inputs: [], name: 'RequestMintInvalidUseMint' },\n { type: 'error', inputs: [], name: 'ResetSaleNotAvailable' },\n { type: 'error', inputs: [], name: 'SaleAlreadySet' },\n { type: 'error', inputs: [], name: 'SaleEnded' },\n { type: 'error', inputs: [], name: 'SaleHasNotStarted' },\n { type: 'error', inputs: [], name: 'SaleInProgress' },\n { type: 'error', inputs: [], name: 'SaleNotSet' },\n { type: 'error', inputs: [], name: 'SaleV2AlreadyStarted' },\n { type: 'error', inputs: [], name: 'SaleV2Ended' },\n { type: 'error', inputs: [], name: 'SaleV2NotSet' },\n { type: 'error', inputs: [], name: 'StartTimeCannotBeAfterEndTime' },\n { type: 'error', inputs: [], name: 'UUPSUnauthorizedCallContext' },\n {\n type: 'error',\n inputs: [{ name: 'slot', internalType: 'bytes32', type: 'bytes32' }],\n name: 'UUPSUnsupportedProxiableUUID',\n },\n { type: 'error', inputs: [], name: 'WrongValueSent' },\n {\n type: 'error',\n inputs: [],\n name: 'ZoraCreator1155ContractNeedsToSupportReduceSupply',\n },\n] as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyAddress = {\n 1: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 10: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 8453: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 42161: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 81457: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 84532: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 421614: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 7777777: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 11155111: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n 999999999: '0x777777722D078c97c6ad07d9f36801e653E356Ae',\n} as const\n\n/**\n * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Op Mainnet Optimism Explorer__](https://optimistic.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Basescan__](https://basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum One Arbiscan__](https://arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Blast Blastscan__](https://blastscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Arbitrum Sepolia Arbiscan__](https://sepolia.arbiscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Explorer__](https://explorer.zora.energy/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Sepolia Etherscan__](https://sepolia.etherscan.io/address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n * - [__View Contract on Zora Sepolia Zora Sepolia Explorer__](https://sepolia.explorer.zora.energy//address/0x777777722D078c97c6ad07d9f36801e653E356Ae)\n */\nexport const zoraTimedSaleStrategyConfig = {\n address: zoraTimedSaleStrategyAddress,\n abi: zoraTimedSaleStrategyABI,\n} as const\n","import { BaseError } from './base.js'\n\nexport type InvalidDecimalNumberErrorType = InvalidDecimalNumberError & {\n name: 'InvalidDecimalNumberError'\n}\nexport class InvalidDecimalNumberError extends BaseError {\n constructor({ value }: { value: string }) {\n super(`Number \\`${value}\\` is not a valid decimal number.`, {\n name: 'InvalidDecimalNumberError',\n })\n }\n}\n","import { InvalidDecimalNumberError } from '../../errors/unit.js'\nimport type { ErrorType } from '../../errors/utils.js'\n\nexport type ParseUnitsErrorType = ErrorType\n\n/**\n * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).\n *\n * - Docs: https://viem.sh/docs/utilities/parseUnits\n *\n * @example\n * import { parseUnits } from 'viem'\n *\n * parseUnits('420', 9)\n * // 420000000000n\n */\nexport function parseUnits(value: string, decimals: number) {\n if (!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(value))\n throw new InvalidDecimalNumberError({ value })\n\n let [integer, fraction = '0'] = value.split('.')\n\n const negative = integer.startsWith('-')\n if (negative) integer = integer.slice(1)\n\n // trim trailing zeros.\n fraction = fraction.replace(/(0+)$/, '')\n\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1)\n integer = `${BigInt(integer) + 1n}`\n fraction = ''\n } else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ]\n\n const rounded = Math.round(Number(`${unit}.${right}`))\n if (rounded > 9)\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')\n else fraction = `${left}${rounded}`\n\n if (fraction.length > decimals) {\n fraction = fraction.slice(1)\n integer = `${BigInt(integer) + 1n}`\n }\n\n fraction = fraction.slice(0, decimals)\n } else {\n fraction = fraction.padEnd(decimals, '0')\n }\n\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)\n}\n","import { etherUnits } from '../../constants/unit.js'\nimport type { ErrorType } from '../../errors/utils.js'\n\nimport { type ParseUnitsErrorType, parseUnits } from './parseUnits.js'\n\nexport type ParseEtherErrorType = ParseUnitsErrorType | ErrorType\n\n/**\n * Converts a string representation of ether to numerical wei.\n *\n * - Docs: https://viem.sh/docs/utilities/parseEther\n *\n * @example\n * import { parseEther } from 'viem'\n *\n * parseEther('420')\n * // 420000000000000000000n\n */\nexport function parseEther(ether: string, unit: 'wei' | 'gwei' = 'wei') {\n return parseUnits(ether, etherUnits[unit])\n}\n","import { ExtractAbiFunction, AbiParametersToPrimitiveTypes } from \"abitype\";\n\nimport {\n zoraCreator1155PremintExecutorImplABI,\n iPremintDefinitionsABI,\n sponsoredSparksSpenderABI,\n} from \"./generated/wagmi\";\nimport { Address } from \"viem\";\n\nimport { commentsABI, callerAndCommenterABI } from \"./generated/wagmi\";\n\nexport enum PremintConfigVersion {\n V1 = \"1\",\n V2 = \"2\",\n V3 = \"3\",\n}\n\nexport type ContractCreationConfig = Omit<\n AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n >[0],\n \"additionalAdmins\"\n> & {\n additionalAdmins: Address[];\n};\n\nexport type TokenCreationConfigV1 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV1Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type TokenCreationConfigV2 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV2Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type TokenCreationConfigV3 = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof iPremintDefinitionsABI,\n \"tokenConfigV3Definition\"\n >[\"inputs\"]\n>[0];\n\nexport type PremintConfigEncoded = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n>[2];\n\ntype PremintConfigCommon = Pick<\n PremintConfigEncoded,\n \"deleted\" | \"uid\" | \"version\"\n>;\n\nexport type PremintConfigV1 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV1;\n};\nexport type PremintConfigV2 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV2;\n};\nexport type PremintConfigV3 = PremintConfigCommon & {\n tokenConfig: TokenCreationConfigV3;\n};\n\nexport type PremintMintArguments = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof zoraCreator1155PremintExecutorImplABI,\n \"premint\"\n >[\"inputs\"]\n>[5];\n\nexport type PremintConfigForVersion<T extends PremintConfigVersion> =\n T extends PremintConfigVersion.V1\n ? PremintConfigV1\n : T extends PremintConfigVersion.V2\n ? PremintConfigV2\n : PremintConfigV3;\n\nexport type PremintConfigWithVersion<T extends PremintConfigVersion> = {\n /** Premint Config */\n premintConfig: PremintConfigForVersion<T>;\n /** PremintConfigVersion of the premint */\n premintConfigVersion: T;\n};\nexport type PremintConfigAndVersion =\n | PremintConfigWithVersion<PremintConfigVersion.V1>\n | PremintConfigWithVersion<PremintConfigVersion.V2>\n | PremintConfigWithVersion<PremintConfigVersion.V3>;\n\nexport type PremintConfig = PremintConfigV1 | PremintConfigV2;\n\nexport type TokenCreationConfig =\n | TokenCreationConfigV1\n | TokenCreationConfigV2\n | TokenCreationConfigV3;\n\nexport type PremintConfigForTokenCreationConfig<T extends TokenCreationConfig> =\n T extends TokenCreationConfigV1\n ? PremintConfigV1\n : T extends TokenCreationConfigV2\n ? PremintConfigV2\n : PremintConfigV3;\n\nexport type TokenConfigForVersion<T extends PremintConfigVersion> =\n PremintConfigForVersion<T>[\"tokenConfig\"];\n\nexport type TokenConfigWithVersion<T extends PremintConfigVersion> = {\n tokenConfig: TokenConfigForVersion<T>;\n premintConfigVersion: T;\n};\n\nexport type SponsoredSparksBatch = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof sponsoredSparksSpenderABI,\n \"hashSponsoredMint\"\n >[\"inputs\"]\n>[0];\n\nexport type CommentIdentifier = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashCommentIdentifier\">[\"inputs\"]\n>[0];\n\nexport const emptyCommentIdentifier = (): CommentIdentifier => {\n const zeroAddress = \"0x0000000000000000000000000000000000000000\";\n const zeroHash =\n \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n return {\n commenter: zeroAddress,\n contractAddress: zeroAddress,\n tokenId: 0n,\n nonce: zeroHash,\n };\n};\n\n/**\n * The PermitComment type represents the data structure for a permit comment,\n * for cross-chain commenting, where a user can sign a comment message on one chain,\n * which can then be submitted by anyone on the destination chain to execute the comment action.\n *\n * The permit includes details such as the comment text, the commenter's address,\n * the comment being replied to, and chain IDs for the source and destination chains.\n */\nexport type PermitComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashPermitComment\">[\"inputs\"]\n>[0];\n\n/**\n * The PermitSparkComment type represents the data structure for a permit spark comment,\n * for cross-chain sparking (liking with value) of comments, where a user can sign a spark comment message on one chain,\n * which can then be submitted by anyone on the destination chain to execute the spark action.\n *\n * The permit includes details such as the comment to be sparked, the sparker's address,\n * the quantity of sparks, and chain IDs for the source and destination chains.\n */\nexport type PermitSparkComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<typeof commentsABI, \"hashPermitSparkComment\">[\"inputs\"]\n>[0];\n\n/**\n * The PermitTimedSaleMintAndComment type represents the data structure for a permit timed sale mint and comment,\n * where a user can sign a message to mint during a timed sale and leave a comment in a single transaction.\n * This can be executed on the destination chain by anyone.\n *\n * The permit includes details such as the minting parameters, comment text, and chain IDs for the source and destination chains.\n */\nexport type PermitMintAndComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof callerAndCommenterABI,\n \"hashPermitTimedSaleMintAndComment\"\n >[\"inputs\"]\n>[0];\n\n/**\n * The PermitBuyOnSecondaryAndComment type represents the data structure for a permit buy on secondary market and comment,\n * where a user can sign a message to buy on secondary market and leave a comment in a single transaction.\n * This can be executed on the destination chain by anyone.\n */\nexport type PermitBuyOnSecondaryAndComment = AbiParametersToPrimitiveTypes<\n ExtractAbiFunction<\n typeof callerAndCommenterABI,\n \"hashPermitBuyOnSecondaryAndComment\"\n >[\"inputs\"]\n>[0];\n","import {\n Address,\n TypedDataDomain,\n TypedData,\n TypedDataToPrimitiveTypes,\n} from \"abitype\";\nimport {\n Hex,\n TypedDataDefinition,\n encodeAbiParameters,\n getAbiItem,\n keccak256,\n toHex,\n parseEther,\n} from \"viem\";\nimport {\n zoraMints1155Address,\n iPremintDefinitionsABI,\n sponsoredSparksSpenderAddress,\n commentsAddress,\n callerAndCommenterAddress,\n} from \"./generated/wagmi\";\nimport {\n PremintConfigEncoded,\n PremintConfigV1,\n PremintConfigV2,\n PremintConfigVersion,\n PremintConfigWithVersion,\n TokenConfigWithVersion,\n TokenCreationConfigV1,\n TokenCreationConfigV2,\n TokenCreationConfigV3,\n PermitComment,\n PermitSparkComment,\n PermitMintAndComment,\n PermitBuyOnSecondaryAndComment,\n} from \"./types\";\n\nconst premintTypedDataDomain = ({\n chainId,\n version,\n creator1155Contract: verifyingContract,\n}: {\n chainId: number;\n version: PremintConfigVersion;\n creator1155Contract: Address;\n}): TypedDataDomain => ({\n chainId,\n name: \"Preminter\",\n version,\n verifyingContract,\n});\n\nconst premintV1TypedDataType = {\n CreatorAttribution: [\n { name: \"tokenConfig\", type: \"TokenCreationConfig\" },\n // unique id scoped to the contract and token to create.\n // ensure that a signature can be replaced, as long as the replacement\n // has the same uid, and a newer version.\n { name: \"uid\", type: \"uint32\" },\n { name: \"version\", type: \"uint32\" },\n // if this update should result in the signature being deleted.\n { name: \"deleted\", type: \"bool\" },\n ],\n TokenCreationConfig: [\n { name: \"tokenURI\", type: \"string\" },\n { name: \"maxSupply\", type: \"uint256\" },\n { name: \"maxTokensPerAddress\", type: \"uint64\" },\n { name: \"pricePerToken\", type: \"uint96\" },\n { name: \"mintStart\", type: \"uint64\" },\n { name: \"mintDuration\", type: \"uint64\" },\n { name: \"royaltyMintSchedule\", type: \"uint32\" },\n { name: \"royaltyBPS\", type: \"uint32\" },\n { name: \"royaltyRecipient\", type: \"address\" },\n { name: \"fixedPriceMinter\", type: \"address\" },\n ],\n} as const satisfies TypedData;\n\nconst encodeTokenConfigV1 = (config: TokenCreationConfigV1) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV1Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfigV2 = (config: TokenCreationConfigV2) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV2Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfigV3 = (config: TokenCreationConfigV3) => {\n const abiItem = getAbiItem({\n abi: iPremintDefinitionsABI,\n name: \"tokenConfigV3Definition\",\n });\n\n return encodeAbiParameters(abiItem.inputs, [config]);\n};\n\nconst encodeTokenConfig = <T extends PremintConfigVersion>({\n tokenConfig,\n premintConfigVersion,\n}: TokenConfigWithVersion<T>): Hex => {\n if (premintConfigVersion === PremintConfigVersion.V1) {\n return encodeTokenConfigV1(tokenConfig as TokenCreationConfigV1);\n }\n if (premintConfigVersion === PremintConfigVersion.V2) {\n return encodeTokenConfigV2(tokenConfig as TokenCreationConfigV2);\n }\n if (premintConfigVersion === PremintConfigVersion.V3) {\n return encodeTokenConfigV3(tokenConfig as TokenCreationConfigV3);\n }\n\n throw new Error(\"Invalid PremintConfigVersion: \" + premintConfigVersion);\n};\n\nexport const encodePremintConfig = <T extends PremintConfigVersion>({\n premintConfig,\n premintConfigVersion,\n}: PremintConfigWithVersion<T>): PremintConfigEncoded => {\n const encodedTokenConfig = encodeTokenConfig({\n premintConfigVersion,\n tokenConfig: premintConfig.tokenConfig,\n });\n\n return {\n deleted: premintConfig.deleted,\n uid: premintConfig.uid,\n version: premintConfig.version,\n premintConfigVersion: keccak256(toHex(premintConfigVersion)),\n tokenConfig: encodedTokenConfig,\n };\n};\n\n/**\n * Builds a typed data definition for a PremintConfigV1 to be signed\n * @returns\n */\nexport const premintV1TypedDataDefinition = ({\n chainId,\n creator1155Contract,\n message,\n}: {\n chainId: number;\n creator1155Contract: Address;\n message: PremintConfigV1;\n}): TypedDataDefinition<\n typeof premintV1TypedDataType,\n \"CreatorAttribution\"\n> => ({\n types: premintV1TypedDataType,\n primaryType: \"CreatorAttribution\",\n domain: premintTypedDataDomain({\n chainId,\n version: PremintConfigVersion.V1,\n creator1155Contract,\n }),\n message,\n});\n\nconst premintV2TypedDataType = {\n CreatorAttribution: [\n { name: \"tokenConfig\", type: \"TokenCreationConfig\" },\n // unique id scoped to the contract and token to create.\n // ensure that a signature can be replaced, as long as the replacement\n // has the same uid, and a newer version.\n { name: \"uid\", type: \"uint32\" },\n { name: \"version\", type: \"uint32\" },\n // if this update should result in the signature being deleted.\n { name: \"deleted\", type: \"bool\" },\n ],\n TokenCreationConfig: [\n { name: \"tokenURI\", type: \"string\" },\n { name: \"maxSupply\", type: \"uint256\" },\n { name: \"maxTokensPerAddress\", type: \"uint64\" },\n { name: \"pricePerToken\", type: \"uint96\" },\n { name: \"mintStart\", type: \"uint64\" },\n { name: \"mintDuration\", type: \"uint64\" },\n { name: \"royaltyBPS\", type: \"uint32\" },\n { name: \"payoutRecipient\", type: \"address\" },\n { name: \"fixedPriceMinter\", type: \"address\" },\n { name: \"createReferral\", type: \"address\" },\n ],\n} as const satisfies TypedData;\n\n/**\n * Builds a typed data definition for a PremintConfigV2 to be signed\n */\nexport const premintV2TypedDataDefinition = ({\n chainId,\n creator1155Contract,\n message,\n}: {\n chainId: number;\n creator1155Contract: Address;\n message: PremintConfigV2;\n}): TypedDataDefinition<\n typeof premintV2TypedDataType,\n \"CreatorAttribution\"\n> => ({\n types: premintV2TypedDataType,\n primaryType: \"CreatorAttribution\",\n domain: premintTypedDataDomain({\n chainId,\n version: PremintConfigVersion.V2,\n creator1155Contract,\n }),\n message,\n});\n\nexport type PremintTypeDataDefinitionParams<T extends PremintConfigVersion> = {\n verifyingContract: Address;\n chainId: number;\n} & PremintConfigWithVersion<T>;\n\n/**\n * Creates a typed data definition for a premint config. Works for all versions of the premint config by specifying the premintConfigVersion.\n *\n * @param params.verifyingContract the address of the 1155 contract\n * @param params.chainId the chain id the premint is signed for\n * @param params.premintConfigVersion the version of the premint config\n * @param params.premintConfig the premint config\n * @returns\n */\nexport const premintTypedDataDefinition = <T extends PremintConfigVersion>({\n verifyingContract,\n chainId,\n premintConfigVersion: version,\n premintConfig,\n}: PremintTypeDataDefinitionParams<T>): TypedDataDefinition => {\n if (version === PremintConfigVersion.V1)\n return premintV1TypedDataDefinition({\n chainId,\n creator1155Contract: verifyingContract,\n message: premintConfig as PremintConfigV1,\n });\n if (version === PremintConfigVersion.V2) {\n return premintV2TypedDataDefinition({\n chainId,\n creator1155Contract: verifyingContract,\n message: premintConfig as PremintConfigV2,\n });\n }\n\n throw new Error(`Invalid version ${version}`);\n};\n\nconst permitSafeTransferTypedDataType = {\n PermitSafeTransfer: [\n { name: \"owner\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"safeTransferData\", type: \"bytes\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransfer on the Mints1155 contract to be signed\n */\nexport const mintsSafeTransferTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof zoraMints1155Address;\n message: TypedDataToPrimitiveTypes<\n typeof permitSafeTransferTypedDataType\n >[\"PermitSafeTransfer\"];\n}): TypedDataDefinition<\n typeof permitSafeTransferTypedDataType,\n \"PermitSafeTransfer\"\n> => ({\n types: permitSafeTransferTypedDataType,\n message,\n primaryType: \"PermitSafeTransfer\",\n domain: {\n chainId,\n name: \"Mints\",\n version: \"1\",\n verifyingContract: zoraMints1155Address[chainId],\n },\n});\n\nconst permitSafeBatchTransferTypedDataType = {\n Permit: [\n {\n name: \"owner\",\n type: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"tokenIds\",\n type: \"uint256[]\",\n },\n {\n name: \"quantities\",\n type: \"uint256[]\",\n },\n {\n name: \"safeTransferData\",\n type: \"bytes\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransferBatch on the Mints1155 contract to be signed\n * @returns\n */\nexport const mintsSafeTransferBatchTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof zoraMints1155Address;\n message: TypedDataToPrimitiveTypes<\n typeof permitSafeBatchTransferTypedDataType\n >[\"Permit\"];\n}): TypedDataDefinition<\n typeof permitSafeBatchTransferTypedDataType,\n \"Permit\"\n> => ({\n types: permitSafeBatchTransferTypedDataType,\n message,\n primaryType: \"Permit\",\n domain: {\n chainId,\n name: \"Mints\",\n version: \"1\",\n verifyingContract: zoraMints1155Address[chainId],\n },\n});\n\nexport const sponsoredSparksBatchTransferTypedDataType = {\n SponsoredMintBatch: [\n {\n name: \"verifier\",\n type: \"address\",\n },\n {\n name: \"from\",\n type: \"address\",\n },\n {\n name: \"destination\",\n type: \"address\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"expectedRedeemAmount\",\n type: \"uint256\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n },\n {\n name: \"ids\",\n type: \"uint256[]\",\n },\n {\n name: \"quantities\",\n type: \"uint256[]\",\n },\n {\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n} as const;\n\n/**\n * Builds a typed data definition for a PermitSafeTransferBatch on the Mints1155 contract to be signed\n * @returns\n */\nexport const sponsoredSparksBatchTypedDataDefinition = ({\n chainId,\n message,\n}: {\n chainId: keyof typeof sponsoredSparksSpenderAddress;\n message: TypedDataToPrimitiveTypes<\n typeof sponsoredSparksBatchTransferTypedDataType\n >[\"SponsoredMintBatch\"];\n}): TypedDataDefinition<\n typeof sponsoredSparksBatchTransferTypedDataType,\n \"SponsoredMintBatch\"\n> => ({\n types: sponsoredSparksBatchTransferTypedDataType,\n message,\n primaryType: \"SponsoredMintBatch\",\n domain: {\n chainId,\n name: \"SponsoredSparksSpender\",\n version: \"1\",\n verifyingContract: sponsoredSparksSpenderAddress[chainId],\n },\n});\n\nconst commentIdentifierType = [\n { name: \"contractAddress\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"commenter\", type: \"address\" },\n { name: \"nonce\", type: \"bytes32\" },\n] as const;\n\nconst commentsDomain = ({\n signingChainId,\n destinationChainId,\n}: {\n signingChainId: number;\n destinationChainId: keyof typeof commentsAddress;\n}): TypedDataDomain => ({\n chainId: signingChainId,\n name: \"Comments\",\n version: \"1\",\n verifyingContract: commentsAddress[destinationChainId]!,\n});\n\n/**\n * Generates the typed data definition for a permit comment, for cross-chain commenting.\n *\n * The permit allows a user to sign a comment message on one chain, which can then be\n * submitted by anyone on the destination chain to execute the comment action.\n *\n * The permit includes details such as the comment text, the commenter's address,\n * the comment being replied to, and chain IDs for the source and destination chains.\n *\n * The typed data is generated in a way that makes the signature happen on the source chain\n * but be valid to be executed on the destination chain.\n *\n * @param message - The {@link PermitComment} containing the details of the comment permit.\n * @param signingAccount - (optional) The account that is signing the message, if different thatn the commentor.\n * Only needed if the commentor is a smart wallet; in this case the signing account should be an account\n * that is one of the smart wallet owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address, which is\n * the commenter's address.\n */\nexport const permitCommentTypedDataDefinition = (\n message: PermitComment,\n signingAccount?: Address,\n): TypedDataDefinition<typeof permitCommentTypedDataType, \"PermitComment\"> & {\n account: Address;\n} => {\n const permitCommentTypedDataType = {\n PermitComment: [\n { name: \"contractAddress\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"commenter\", type: \"address\" },\n { name: \"replyTo\", type: \"CommentIdentifier\" },\n { name: \"text\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"commenterSmartWallet\", type: \"address\" },\n { name: \"referrer\", type: \"address\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n CommentIdentifier: commentIdentifierType,\n } as const;\n return {\n types: permitCommentTypedDataType,\n message,\n primaryType: \"PermitComment\",\n domain: commentsDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof commentsAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n\n/**\n * Generates the typed data definition for a permit spark comment, for cross-chain sparking (liking with value) of comments.\n *\n * The permit allows a user to sign a spark comment message on one chain, which can then be\n * submitted by anyone on the destination chain to execute the spark action.\n *\n * The permit includes details such as the comment to be sparked, the sparker's address,\n * the quantity of sparks, and the source and destination chain ids.\n *\n * The typed data is generated in a way that makes the signature happen on the source chain\n * but be valid to be executed on the destination chain.\n *\n * @param message - The {@link PermitSparkComment} containing the details of the spark comment permit.\n * @param signingAccount - (optional) The account that is signing the message, if different than the commenter.\n * Only needed if the commenter is a smart wallet; in this case the signing account should be an account\n * that is one of the smart wallet owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address, which is\n * the sparker's address.\n */\nexport const permitSparkCommentTypedDataDefinition = (\n message: PermitSparkComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitSparkCommentTypedDataType,\n \"PermitSparkComment\"\n> & { account: Address } => {\n const permitSparkCommentTypedDataType = {\n PermitSparkComment: [\n { name: \"comment\", type: \"CommentIdentifier\" },\n { name: \"sparker\", type: \"address\" },\n { name: \"sparksQuantity\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"referrer\", type: \"address\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n CommentIdentifier: commentIdentifierType,\n } as const;\n\n return {\n types: permitSparkCommentTypedDataType,\n message,\n primaryType: \"PermitSparkComment\",\n domain: commentsDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof commentsAddress,\n }),\n account: signingAccount || message.sparker,\n };\n};\n\n// todo: explain\nexport const sparkValue = () => parseEther(\"0.000001\");\n\n/**\n * Generates the typed data definition for a permit timed sale mint and comment operation.\n *\n * This function creates a structured data object that can be used for EIP-712 signing,\n * allowing users to sign a message on one chain that permits a timed sale mint and comment\n * action to be executed on another chain.\n *\n * @param message - The {@link PermitMintAndComment} containing the details of the permit.\n * @param signingAccount - (optional) The account that is signing the message, if different from the commenter.\n * This is typically used when the commenter is a smart wallet, and the signing account is one of its owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address.\n */\nexport const permitMintAndCommentTypedDataDefinition = (\n message: PermitMintAndComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitTimedSaleMintAndCommentTypedDataType,\n \"PermitTimedSaleMintAndComment\"\n> & { account: Address } => {\n const permitTimedSaleMintAndCommentTypedDataType = {\n PermitTimedSaleMintAndComment: [\n { name: \"commenter\", type: \"address\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"collection\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"mintReferral\", type: \"address\" },\n { name: \"comment\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n } as const;\n\n const callerAndCommenterDomain = ({\n signingChainId,\n destinationChainId,\n }: {\n signingChainId: number;\n destinationChainId: keyof typeof callerAndCommenterAddress;\n }) => ({\n name: \"CallerAndCommenter\",\n version: \"1\",\n chainId: signingChainId,\n verifyingContract: callerAndCommenterAddress[destinationChainId],\n });\n\n return {\n types: permitTimedSaleMintAndCommentTypedDataType,\n message,\n primaryType: \"PermitTimedSaleMintAndComment\",\n domain: callerAndCommenterDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof callerAndCommenterAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n\n/**\n * Generates the typed data definition for a permit buy on secondary and comment operation.\n *\n * This function creates a structured data object that can be used for EIP-712 signing,\n * allowing users to sign a message on one chain that permits a buy on secondary market and comment\n * action to be executed on another chain.\n *\n * @param message - The {@link PermitBuyOnSecondaryAndComment} containing the details of the permit.\n * @param signingAccount - (optional) The account that is signing the message, if different from the commenter.\n * This is typically used when the commenter is a smart wallet, and the signing account is one of its owners.\n * @returns A {@link TypedDataDefinition} object compatible with EIP-712 for structured data hashing and signing,\n * including types, message, primary type, domain, and the signer's account address.\n */\nexport const permitBuyOnSecondaryAndCommentTypedDataDefinition = (\n message: PermitBuyOnSecondaryAndComment,\n signingAccount?: Address,\n): TypedDataDefinition<\n typeof permitBuyOnSecondaryAndCommentTypedDataType,\n \"PermitBuyOnSecondaryAndComment\"\n> & { account: Address } => {\n const permitBuyOnSecondaryAndCommentTypedDataType = {\n PermitBuyOnSecondaryAndComment: [\n { name: \"commenter\", type: \"address\" },\n { name: \"quantity\", type: \"uint256\" },\n { name: \"collection\", type: \"address\" },\n { name: \"tokenId\", type: \"uint256\" },\n { name: \"maxEthToSpend\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", type: \"uint160\" },\n { name: \"comment\", type: \"string\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"sourceChainId\", type: \"uint32\" },\n { name: \"destinationChainId\", type: \"uint32\" },\n ],\n } as const;\n\n const callerAndCommenterDomain = ({\n signingChainId,\n destinationChainId,\n }: {\n signingChainId: number;\n destinationChainId: keyof typeof callerAndCommenterAddress;\n }) => ({\n name: \"CallerAndCommenter\",\n version: \"1\",\n chainId: signingChainId,\n verifyingContract: callerAndCommenterAddress[destinationChainId],\n });\n\n return {\n types: permitBuyOnSecondaryAndCommentTypedDataType,\n message,\n primaryType: \"PermitBuyOnSecondaryAndComment\",\n domain: callerAndCommenterDomain({\n signingChainId: message.sourceChainId,\n destinationChainId:\n message.destinationChainId as keyof typeof callerAndCommenterAddress,\n }),\n account: signingAccount || message.commenter,\n };\n};\n","/** ABI parameters for performing a SafeTransferFrom based swap when selling on secondary. */\nexport const safeTransferSwapAbiParameters = [\n { name: \"recipient\", internalType: \"address payable\", type: \"address\" },\n { name: \"minEthToAcquire\", internalType: \"uint256\", type: \"uint256\" },\n { name: \"sqrtPriceLimitX96\", internalType: \"uint160\", type: \"uint160\" },\n] as const;\n","export const chainConfigs = {\n 1: {\n FACTORY_OWNER: \"0xDB392f4391462d60B8B4413ef72018Ab595Af9D0\",\n MINT_FEE_RECIPIENT: \"0xd1d1D4e36117aB794ec5d4c78cBD3a8904E691D0\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 10: {\n FACTORY_OWNER: \"0x4c7f7b6067fac9a737ecf2ca1a733fc85dd65a2b\",\n MINT_FEE_RECIPIENT: \"0x7A810DCd0f8d83B20212326813Db6EF7E9FD030c\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 999: {\n FACTORY_OWNER: \"0xE84DBB2B25F761751231a9D0DAfbdD4dC3aa8252\",\n MINT_FEE_RECIPIENT: \"0xE84DBB2B25F761751231a9D0DAfbdD4dC3aa8252\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 8453: {\n FACTORY_OWNER: \"0x004d6611884B4A661749B64b2ADc78505c3e1AB3\",\n MINT_FEE_RECIPIENT: \"0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 42161: {\n FACTORY_OWNER: \"0xF7DafC329C93D84267c0E7B146C0bD68807f6A03\",\n MINT_FEE_RECIPIENT: \"0x10Fb02A68C3EA8bD439A6f515dcE07CC049f5c94\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 81457: {\n FACTORY_OWNER: \"0x5b297B1b87f8De28C9fA7AFe183Db9F9e6295523\",\n MINT_FEE_RECIPIENT: \"0x72E6394056f9152D3a41e5A25De383c191D16134\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 84532: {\n FACTORY_OWNER: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n MINT_FEE_RECIPIENT: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 421614: {\n FACTORY_OWNER: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n MINT_FEE_RECIPIENT: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 7777777: {\n FACTORY_OWNER: \"0xdEA20c96253dc2d64897D2b8d27A8d935dE74955\",\n MINT_FEE_RECIPIENT: \"0xEcfc2ee50409E459c554a2b0376F882Ce916D853\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 11155111: {\n FACTORY_OWNER: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n MINT_FEE_RECIPIENT: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 168587773: {\n FACTORY_OWNER: \"0x8cF22F26d528B09b3cc54b7ff956630Bf741b773\",\n MINT_FEE_RECIPIENT: \"0x8cF22F26d528B09b3cc54b7ff956630Bf741b773\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n 999999999: {\n FACTORY_OWNER: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n MINT_FEE_RECIPIENT: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n PROTOCOL_REWARDS: \"0x7777777F279eba3d3Ad8F4E708545291A6fDBA8B\",\n },\n};\nexport const addresses = {\n 1: {\n CONTRACT_1155_IMPL: \"0x7FB277e8a6584D76bBbc72980719F36936825e29\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.0\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x0379e37302e9d57fFd657F87e1180273826CE84F\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xDfB3D291bA493e7a3c835F0EdBa0B1B52979609A\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730734767,\n },\n 10: {\n CONTRACT_1155_IMPL: \"0xF77330C8b1c41f2e44470763Cf9E3ACa78Db4381\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x2008C05685F9fA15BBD75d80e9A44ab0c7230577\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3678862f04290E565cCA2EF163BAeb92Bb76790C\",\n MERKLE_MINT_SALE_STRATEGY: \"0x899ce31dF6C6Af81203AcAaD285bF539234eF4b8\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x1B28A04b7eB7b93f920ddF2021aa3fAE065395f2\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1731019615,\n },\n 999: {\n CONTRACT_1155_IMPL: \"0x2022AdEF470DA3543a19fac8c9be80618112704D\",\n CONTRACT_1155_IMPL_VERSION: \"2.7.0\",\n FACTORY_IMPL: \"0x4b0365Ec68C2D92Af2Fa56f120095F0859142Eff\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0x795Efc066f89DFB03048dDd0598F2D8521c99Df6\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0x0000000000000000000000000000000000000000\",\n timestamp: 1704399834,\n },\n 8453: {\n CONTRACT_1155_IMPL: \"0x5Eb5bABCEFEa846b220C82f222F00Df95934F5f0\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x97898683c6950a986911fdfFEa12739bad5D2581\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xDfB3D291bA493e7a3c835F0EdBa0B1B52979609A\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931491,\n },\n 42161: {\n CONTRACT_1155_IMPL: \"0xC04050e04708b33302E30E5A0fB1e8c38F4EBbB0\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xe2606ac30752009ecec6FEaf5C2B4A6523256E7E\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931657,\n },\n 81457: {\n CONTRACT_1155_IMPL: \"0x16cFE884B49E68Cae854f12Ea419Fb1F6Ad290A8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x23150f60E233F519A01C735C29c1591f9E8353dE\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0\",\n MERKLE_MINT_SALE_STRATEGY: \"0xB9C997FcC46a27331CC986cc2416ee99C1d506c3\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730931749,\n },\n 84532: {\n CONTRACT_1155_IMPL: \"0x695C9A141748D308d26Bd4f8E9F9A5df5F0623f8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xd92F69d5581BF9536c77550aeA1d74DDaE88B5B7\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0xd34872BE0cdb6b09d45FCa067B07f04a1A9aE1aE\",\n MERKLE_MINT_SALE_STRATEGY: \"0x3E8524770adD176bE381a0529E09f1c6c3502A5a\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x805E0a08dE70f85C01F7848370d5e3fc08aAd0ea\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928936,\n },\n 421614: {\n CONTRACT_1155_IMPL: \"0x3Ed969bf88166B85608C13b633242611F6220a14\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0xA75f980Fdf9F02718423FDFDFf1fccc74bdDBa95\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928848,\n },\n 7777777: {\n CONTRACT_1155_IMPL: \"0xDB07C4525E82340A27077Ad258160928f271BB7F\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x517Ce60C6e66a4DB1ea705C98250770d01f9d0AE\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x04E2516A2c207E84a1839755675dfd8eF6302F0a\",\n MERKLE_MINT_SALE_STRATEGY: \"0xf48172CA3B6068B20eE4917Eb27b5472f1f272C7\",\n PREMINTER_IMPL: \"0xa79928cCc270b0208e56BfF0e927ff55034e7C35\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x78964965cF77850224513a367f899435C5B69174\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730930939,\n },\n 11155111: {\n CONTRACT_1155_IMPL: \"0x9b24FD165a371042e5CA81e8d066d25CAD11EDE7\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x777777E8850d8D6d98De2B5f64fae401F96eFF31\",\n FACTORY_IMPL: \"0x3AE2804De4A54283601Db24a897856D9772eA0D8\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x1Cd1C1f3b8B779B50Db23155F2Cb244FCcA06B21\",\n MERKLE_MINT_SALE_STRATEGY: \"0xe770E6f19aecF8ef3145A50087999b5556aB3610\",\n PREMINTER_IMPL: \"0xa79928cCc270b0208e56BfF0e927ff55034e7C35\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x69bB4A24EBD8b1B87AF4538E0Ca3075b7E398c3D\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1730928528,\n },\n 168587773: {\n CONTRACT_1155_IMPL: \"0x192D663C3D6813a24a24582A76B8d872c4F6F7f9\",\n CONTRACT_1155_IMPL_VERSION: \"2.12.3\",\n ERC20_MINTER: \"0x0000000000000000000000000000000000000000\",\n FACTORY_IMPL: \"0x46E772210f01647FA573b915bE287Ff9b65AD4B0\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x3EB144aee170BF62FdA1536e38aF51f08e34A5D0\",\n MERKLE_MINT_SALE_STRATEGY: \"0xB9C997FcC46a27331CC986cc2416ee99C1d506c3\",\n PREMINTER_IMPL: \"0xe3150ab94e3730D4B157ffD31Ad042323E122b4C\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x7A0dE1B1f5420Df5D946878fBe2cF109011BE614\",\n UPGRADE_GATE: \"0xbC50029836A59A4E5e1Bb8988272F46ebA0F9900\",\n timestamp: 1722525339,\n },\n 999999999: {\n CONTRACT_1155_IMPL: \"0x695C9A141748D308d26Bd4f8E9F9A5df5F0623f8\",\n CONTRACT_1155_IMPL_VERSION: \"2.13.2\",\n ERC20_MINTER: \"0x8Ec7f068A77fa5FC1925110f82381374BA054Ff2\",\n FACTORY_IMPL: \"0xd92F69d5581BF9536c77550aeA1d74DDaE88B5B7\",\n FACTORY_PROXY: \"0x777777C338d93e2C7adf08D102d45CA7CC4Ed021\",\n FIXED_PRICE_SALE_STRATEGY: \"0x6d28164C3CE04A190D5F9f0f8881fc807EAD975A\",\n MERKLE_MINT_SALE_STRATEGY: \"0x5e5fD4b758076BAD940db0284b711A67E8a3B88c\",\n PREMINTER_IMPL: \"0xD8f6cf234eE4B689099677Bd94FbA0b1E005181d\",\n PREMINTER_PROXY: \"0x7777773606e7e46C8Ba8B98C08f5cD218e31d340\",\n REDEEM_MINTER_FACTORY: \"0x25cFb6dd9cDE8425e781d6718a29Ccbca3F038d6\",\n UPGRADE_GATE: \"0x0000000000000000000000000000000000000000\",\n timestamp: 1730928726,\n },\n};\n","export const chainConfigs = {\n 1: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0xDB392f4391462d60B8B4413ef72018Ab595Af9D0\",\n ZORA_RECIPIENT: \"0xd1d1D4e36117aB794ec5d4c78cBD3a8904E691D0\",\n WETH: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n },\n 10: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0x4c7f7b6067fac9a737ecf2ca1a733fc85dd65a2b\",\n ZORA_RECIPIENT: \"0x7A810DCd0f8d83B20212326813Db6EF7E9FD030c\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 8453: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1\",\n UNISWAP_SWAP_ROUTER: \"0x2626664c2603336E57B271c5C0b26F421741e481\",\n PROXY_ADMIN: \"0x004d6611884B4A661749B64b2ADc78505c3e1AB3\",\n ZORA_RECIPIENT: \"0x7bf90111Ad7C22bec9E9dFf8A01A44713CC1b1B6\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 42161: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xC36442b4a4522E871399CD717aBDD847Ab11FE88\",\n UNISWAP_SWAP_ROUTER: \"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45\",\n PROXY_ADMIN: \"0xF7DafC329C93D84267c0E7B146C0bD68807f6A03\",\n ZORA_RECIPIENT: \"0x10Fb02A68C3EA8bD439A6f515dcE07CC049f5c94\",\n WETH: \"0x82af49447d8a07e3bd95bd0d56f35241523fbab1\",\n },\n 81457: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xB218e4f7cF0533d4696fDfC419A0023D33345F28\",\n UNISWAP_SWAP_ROUTER: \"0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66\",\n PROXY_ADMIN: \"0x5b297B1b87f8De28C9fA7AFe183Db9F9e6295523\",\n ZORA_RECIPIENT: \"0x72E6394056f9152D3a41e5A25De383c191D16134\",\n WETH: \"0x4300000000000000000000000000000000000004\",\n },\n 84532: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2\",\n UNISWAP_SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n PROXY_ADMIN: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n ZORA_RECIPIENT: \"0x5F14C23983c9e0840Dc60dA880349622f0785420\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 421614: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65\",\n UNISWAP_SWAP_ROUTER: \"0x101F443B4d1b059569D643917553c771E1b9663E\",\n PROXY_ADMIN: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n ZORA_RECIPIENT: \"0x256537b56007b32BabEB44E868EC8AA5cBF03D30\",\n WETH: \"0xc556bae1e86b2ae9c22ea5e036b07e55e7596074\",\n },\n 7777777: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xbC91e8DfA3fF18De43853372A3d7dfe585137D78\",\n UNISWAP_SWAP_ROUTER: \"0x7De04c96BE5159c3b5CeffC82aa176dc81281557\",\n PROXY_ADMIN: \"0xdEA20c96253dc2d64897D2b8d27A8d935dE74955\",\n ZORA_RECIPIENT: \"0xEcfc2ee50409E459c554a2b0376F882Ce916D853\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 11155111: {\n NONFUNGIBLE_POSITION_MANAGER: \"0x1238536071E1c677A632429e3655c799b22cDA52\",\n UNISWAP_SWAP_ROUTER: \"0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E\",\n PROXY_ADMIN: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n ZORA_RECIPIENT: \"0xCE9F2e8EaFa11637F8A1CB60AE8AaC601Ae30f2D\",\n WETH: \"0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9\",\n },\n 11155420: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d\",\n UNISWAP_SWAP_ROUTER: \"0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4\",\n PROXY_ADMIN: \"0xFA3748b2dcF94a9CBdb5087333E9F093476e8389\",\n ZORA_RECIPIENT: \"0xFA3748b2dcF94a9CBdb5087333E9F093476e8389\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n 999999999: {\n NONFUNGIBLE_POSITION_MANAGER: \"0xB8458EaAe43292e3c1F7994EFd016bd653d23c20\",\n UNISWAP_SWAP_ROUTER: \"0x6B36d761981d82B1e07cF3c4daF4cB4615c4850a\",\n PROXY_ADMIN: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n ZORA_RECIPIENT: \"0xdae22ce69Afcb7f4bc37D32E267645722949DE0E\",\n WETH: \"0x4200000000000000000000000000000000000006\",\n },\n};\nexport const addresses = {\n 10: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x35ca784918bf11692708c1D530691704AAcEA95E\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 8453: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x6958A8866A40118e2CC21ab4752353835321b5e6\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 42161: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x2fBdBc34B6015e7b40638179Aa05a2D2267452c7\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 81457: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x786F0f6aE196715Cd6d65693f06DA57426ac8463\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 84532: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL: \"0x0000000000000000000000000000000000000000\",\n SPARKS_MANAGER_IMPL_VERSION: \"\",\n SPONSORED_SPARKS_SPENDER: \"0x23150f60E233F519A01C735C29c1591f9E8353dE\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 7777777: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0xb0994EB9520C98C97e1F3953a5964535C2bd271A\",\n SPARKS_MANAGER_IMPL: \"0xFB854463800d09B89682746c37A3AE696C92193D\",\n SPARKS_MANAGER_IMPL_VERSION: \"0.1.4\",\n SPARKS_MANAGER: \"0x77777779acd6a96C0c57272112921A0b833c38fD\",\n SPARKS_1155: \"0x7777777b3eA6C126942BB14dD5C3C11D365C385D\",\n MINTS_MANAGER: \"0x77777770cA269366c7208aFcF36FE2C6F7f7608B\",\n MINTS_1155: \"0x7777777d57c1C6e472fa379b7b3B6c6ba3835073\",\n SPONSORED_SPARKS_SPENDER: \"0x362Ef86acAD2FAa66A28Ee8d1F5a835ac0BBD11d\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n 999999999: {\n MINTS_ETH_UNWRAPPER_AND_CALLER:\n \"0xb0994EB9520C98C97e1F3953a5964535C2bd271A\",\n SPARKS_MANAGER_IMPL: \"0xf7D8d07267E840aE466E5f2fe8b089F4DE79c7da\",\n SPARKS_MANAGER_IMPL_VERSION: \"0.1.4\",\n SPARKS_MANAGER: \"0x77777779acd6a96C0c57272112921A0b833c38fD\",\n SPARKS_1155: \"0x7777777b3eA6C126942BB14dD5C3C11D365C385D\",\n MINTS_MANAGER: \"0x77777770cA269366c7208aFcF36FE2C6F7f7608B\",\n MINTS_1155: \"0x7777777d57c1C6e472fa379b7b3B6c6ba3835073\",\n SPONSORED_SPARKS_SPENDER: \"0x3A98313fB00918a81d98f9986aED089365428293\",\n SPONSORED_SPARKS_SPENDER_VERSION: \"2.0.0\",\n },\n};\n"],"mappings":"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","names":["PremintConfigVersion","addresses","chainConfigs"]}