export const ZKIOU721Abi = [ { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, { type: 'function', name: 'BURN_ROLE', inputs: [], outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }], stateMutability: 'view', }, { type: 'function', name: 'FULFILL_ROLE', inputs: [], outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }], stateMutability: 'view', }, { type: 'function', name: 'MANAGER_ROLE', inputs: [], outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }], stateMutability: 'view', }, { type: 'function', name: 'MINT_ROLE', inputs: [], outputs: [{ name: '', type: 'bytes32', internalType: 'bytes32' }], stateMutability: 'view', }, { type: 'function', name: '__AnteIOU721_init', inputs: [ { name: 'name', type: 'string', internalType: 'string' }, { name: 'symbol', type: 'string', internalType: 'string' }, { name: 'params', type: 'tuple', internalType: 'struct IAnteIOU721.CreateParams', components: [ { name: 'text', type: 'bytes32', internalType: 'bytes32' }, { name: 'author', type: 'address', internalType: 'address' }, { name: 'isTransferable', type: 'bool', internalType: 'bool' }, { name: 'mintGate', type: 'address', internalType: 'address' }, { name: 'mintGateConfig', type: 'bytes', internalType: 'bytes' }, { name: 'baseURI', type: 'string', internalType: 'string' }, { name: 'tokenDescriptor', type: 'address', internalType: 'address' }, ], }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: '__ZKAnteIOU721_init', inputs: [ { name: '_semaphore', type: 'address', internalType: 'address' }, { name: '_name', type: 'string', internalType: 'string' }, { name: '_symbol', type: 'string', internalType: 'string' }, { name: 'params', type: 'tuple', internalType: 'struct IAnteIOU721.CreateParams', components: [ { name: 'text', type: 'bytes32', internalType: 'bytes32' }, { name: 'author', type: 'address', internalType: 'address' }, { name: 'isTransferable', type: 'bool', internalType: 'bool' }, { name: 'mintGate', type: 'address', internalType: 'address' }, { name: 'mintGateConfig', type: 'bytes', internalType: 'bytes' }, { name: 'baseURI', type: 'string', internalType: 'string' }, { name: 'tokenDescriptor', type: 'address', internalType: 'address' }, ], }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'addMembers', inputs: [ { name: 'user', type: 'address', internalType: 'address' }, { name: 'identityCommitments', type: 'uint256[]', internalType: 'uint256[]', }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'approve', inputs: [ { name: 'to', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'balanceOf', inputs: [{ name: 'owner', type: 'address', internalType: 'address' }], outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], stateMutability: 'view', }, { type: 'function', name: 'burn', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'burnBatch', inputs: [ { name: 'tokenIds', type: 'uint256[]', internalType: 'uint256[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'claimedBalanceOf', inputs: [{ name: 'user', type: 'address', internalType: 'address' }], outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], stateMutability: 'view', }, { type: 'function', name: 'fulfill', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'fulfillBatch', inputs: [ { name: 'tokenIds', type: 'uint256[]', internalType: 'uint256[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'fulfilledBalanceOf', inputs: [{ name: 'user', type: 'address', internalType: 'address' }], outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], stateMutability: 'view', }, { type: 'function', name: 'fulfilledTokens', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [{ name: 'isFulfilled', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'getApproved', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'function', name: 'getIOU', inputs: [], outputs: [ { name: '', type: 'tuple', internalType: 'struct IAnteIOU721.IOU', components: [ { name: 'semaphoreGroupId', type: 'uint256', internalType: 'uint256', }, { name: 'text', type: 'bytes32', internalType: 'bytes32' }, { name: 'author', type: 'address', internalType: 'address' }, { name: 'isTransferable', type: 'bool', internalType: 'bool' }, { name: 'hasSemaphoreGroup', type: 'bool', internalType: 'bool' }, { name: 'mintGate', type: 'address', internalType: 'address' }, { name: 'baseURI', type: 'string', internalType: 'string' }, { name: 'tokenDescriptor', type: 'address', internalType: 'address' }, ], }, ], stateMutability: 'view', }, { type: 'function', name: 'grantRoles', inputs: [ { name: '_roles', type: 'bytes32[]', internalType: 'bytes32[]' }, { name: '_accounts', type: 'address[]', internalType: 'address[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'isApprovedForAll', inputs: [ { name: 'owner', type: 'address', internalType: 'address' }, { name: 'operator', type: 'address', internalType: 'address' }, ], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'mint', inputs: [ { name: 'to', type: 'address', internalType: 'address' }, { name: 'amount', type: 'uint256', internalType: 'uint256' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'mintBatch', inputs: [ { name: 'destinations', type: 'address[]', internalType: 'address[]' }, { name: 'amounts', type: 'uint256[]', internalType: 'uint256[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'name', inputs: [], outputs: [{ name: '', type: 'string', internalType: 'string' }], stateMutability: 'view', }, { type: 'function', name: 'nextTokenId', inputs: [], outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], stateMutability: 'view', }, { type: 'function', name: 'ownerOf', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [{ name: '', type: 'address', internalType: 'address' }], stateMutability: 'view', }, { type: 'function', name: 'removeMember', inputs: [ { name: 'identityCommitment', type: 'uint256', internalType: 'uint256' }, { name: 'merkleProofSiblings', type: 'uint256[]', internalType: 'uint256[]', }, { name: 'proof', type: 'tuple', internalType: 'struct ISemaphore.SemaphoreProof', components: [ { name: 'merkleTreeDepth', type: 'uint256', internalType: 'uint256' }, { name: 'merkleTreeRoot', type: 'uint256', internalType: 'uint256' }, { name: 'nullifier', type: 'uint256', internalType: 'uint256' }, { name: 'message', type: 'uint256', internalType: 'uint256' }, { name: 'scope', type: 'uint256', internalType: 'uint256' }, { name: 'points', type: 'uint256[8]', internalType: 'uint256[8]' }, ], }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'revokeRoles', inputs: [ { name: '_roles', type: 'bytes32[]', internalType: 'bytes32[]' }, { name: '_accounts', type: 'address[]', internalType: 'address[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'roles', inputs: [ { name: 'role', type: 'bytes32', internalType: 'bytes32' }, { name: 'account', type: 'address', internalType: 'address' }, ], outputs: [{ name: 'hasRole', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'safeBatchTransferFrom', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'to', type: 'address', internalType: 'address' }, { name: 'tokenIds', type: 'uint256[]', internalType: 'uint256[]' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'safeTransferFrom', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'to', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'safeTransferFrom', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'to', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, { name: 'data', type: 'bytes', internalType: 'bytes' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'semaphore', inputs: [], outputs: [ { name: '', type: 'address', internalType: 'contract ISemaphore' }, ], stateMutability: 'view', }, { type: 'function', name: 'setApprovalForAll', inputs: [ { name: 'operator', type: 'address', internalType: 'address' }, { name: 'approved', type: 'bool', internalType: 'bool' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'supportsInterface', inputs: [{ name: 'interfaceId', type: 'bytes4', internalType: 'bytes4' }], outputs: [{ name: '', type: 'bool', internalType: 'bool' }], stateMutability: 'view', }, { type: 'function', name: 'symbol', inputs: [], outputs: [{ name: '', type: 'string', internalType: 'string' }], stateMutability: 'view', }, { type: 'function', name: 'tokenURI', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], outputs: [{ name: '', type: 'string', internalType: 'string' }], stateMutability: 'view', }, { type: 'function', name: 'transferFrom', inputs: [ { name: 'from', type: 'address', internalType: 'address' }, { name: 'to', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'update', inputs: [ { name: 'params', type: 'tuple', internalType: 'struct IAnteIOU721.UpdateParams', components: [ { name: 'text', type: 'bytes32', internalType: 'bytes32' }, { name: 'isTransferable', type: 'bool', internalType: 'bool' }, { name: 'baseURI', type: 'string', internalType: 'string' }, { name: 'tokenDescriptor', type: 'address', internalType: 'address' }, ], }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'updateMintGate', inputs: [ { name: 'mintGate', type: 'address', internalType: 'address' }, { name: 'mintGateConfig', type: 'bytes', internalType: 'bytes' }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'function', name: 'zkClaim', inputs: [ { name: 'receiver', type: 'address', internalType: 'address' }, { name: 'proof', type: 'tuple', internalType: 'struct ISemaphore.SemaphoreProof', components: [ { name: 'merkleTreeDepth', type: 'uint256', internalType: 'uint256' }, { name: 'merkleTreeRoot', type: 'uint256', internalType: 'uint256' }, { name: 'nullifier', type: 'uint256', internalType: 'uint256' }, { name: 'message', type: 'uint256', internalType: 'uint256' }, { name: 'scope', type: 'uint256', internalType: 'uint256' }, { name: 'points', type: 'uint256[8]', internalType: 'uint256[8]' }, ], }, ], outputs: [], stateMutability: 'nonpayable', }, { type: 'event', name: 'Approval', inputs: [ { name: 'owner', type: 'address', indexed: true, internalType: 'address', }, { name: 'approved', type: 'address', indexed: true, internalType: 'address', }, { name: 'tokenId', type: 'uint256', indexed: true, internalType: 'uint256', }, ], anonymous: false, }, { type: 'event', name: 'ApprovalForAll', inputs: [ { name: 'owner', type: 'address', indexed: true, internalType: 'address', }, { name: 'operator', type: 'address', indexed: true, internalType: 'address', }, { name: 'approved', type: 'bool', indexed: false, internalType: 'bool' }, ], anonymous: false, }, { type: 'event', name: 'Claimed', inputs: [ { name: 'tokenId', type: 'uint256', indexed: true, internalType: 'uint256', }, { name: 'receiver', type: 'address', indexed: true, internalType: 'address', }, ], anonymous: false, }, { type: 'event', name: 'Fulfilled', inputs: [ { name: 'tokenId', type: 'uint256', indexed: true, internalType: 'uint256', }, { name: 'fulfiller', type: 'address', indexed: true, internalType: 'address', }, ], anonymous: false, }, { type: 'event', name: 'GroupCreated', inputs: [ { name: 'groupId', type: 'uint256', indexed: true, internalType: 'uint256', }, ], anonymous: false, }, { type: 'event', name: 'Initialized', inputs: [ { name: 'version', type: 'uint64', indexed: false, internalType: 'uint64', }, ], anonymous: false, }, { type: 'event', name: 'MemberRemoved', inputs: [ { name: 'operator', type: 'address', indexed: true, internalType: 'address', }, { name: 'identityCommitment', type: 'uint256', indexed: true, internalType: 'uint256', }, ], anonymous: false, }, { type: 'event', name: 'MembersAdded', inputs: [ { name: 'operator', type: 'address', indexed: true, internalType: 'address', }, { name: 'user', type: 'address', indexed: true, internalType: 'address' }, ], anonymous: false, }, { type: 'event', name: 'MintGateUpdated', inputs: [ { name: 'mintGate', type: 'address', indexed: false, internalType: 'address', }, ], anonymous: false, }, { type: 'event', name: 'RolesGranted', inputs: [ { name: 'operator', type: 'address', indexed: false, internalType: 'address', }, { name: 'roles', type: 'bytes32[]', indexed: false, internalType: 'bytes32[]', }, { name: 'accounts', type: 'address[]', indexed: false, internalType: 'address[]', }, ], anonymous: false, }, { type: 'event', name: 'RolesRevoked', inputs: [ { name: 'operator', type: 'address', indexed: false, internalType: 'address', }, { name: 'roles', type: 'bytes32[]', indexed: false, internalType: 'bytes32[]', }, { name: 'accounts', type: 'address[]', indexed: false, internalType: 'address[]', }, ], anonymous: false, }, { type: 'event', name: 'Transfer', inputs: [ { name: 'from', type: 'address', indexed: true, internalType: 'address' }, { name: 'to', type: 'address', indexed: true, internalType: 'address' }, { name: 'tokenId', type: 'uint256', indexed: true, internalType: 'uint256', }, ], anonymous: false, }, { type: 'event', name: 'Updated', inputs: [ { name: 'manager', type: 'address', indexed: true, internalType: 'address', }, ], anonymous: false, }, { type: 'error', name: 'AlreadyFulfilled', inputs: [] }, { type: 'error', name: 'ERC721IncorrectOwner', inputs: [ { name: 'sender', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, { name: 'owner', type: 'address', internalType: 'address' }, ], }, { type: 'error', name: 'ERC721InsufficientApproval', inputs: [ { name: 'operator', type: 'address', internalType: 'address' }, { name: 'tokenId', type: 'uint256', internalType: 'uint256' }, ], }, { type: 'error', name: 'ERC721InvalidApprover', inputs: [{ name: 'approver', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'ERC721InvalidOperator', inputs: [{ name: 'operator', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'ERC721InvalidOwner', inputs: [{ name: 'owner', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'ERC721InvalidReceiver', inputs: [{ name: 'receiver', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'ERC721InvalidSender', inputs: [{ name: 'sender', type: 'address', internalType: 'address' }], }, { type: 'error', name: 'ERC721NonexistentToken', inputs: [{ name: 'tokenId', type: 'uint256', internalType: 'uint256' }], }, { type: 'error', name: 'IdentityNotFound', inputs: [] }, { type: 'error', name: 'InvalidArrayLength', inputs: [] }, { type: 'error', name: 'InvalidInitialization', inputs: [] }, { type: 'error', name: 'InvalidLength', inputs: [] }, { type: 'error', name: 'InvalidReceiver', inputs: [] }, { type: 'error', name: 'NotAllowedByGate', inputs: [] }, { type: 'error', name: 'NotAuthorized', inputs: [] }, { type: 'error', name: 'NotInitializing', inputs: [] }, { type: 'error', name: 'NotTransferable', inputs: [] }, ] as const;