import {
  createUseReadContract,
  createUseWriteContract,
  createUseSimulateContract,
  createUseWatchContractEvent,
} from 'wagmi/codegen'

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP0ERC725Account
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp0Erc725AccountAbi = [
  {
    type: 'constructor',
    inputs: [
      { name: 'initialOwner', internalType: 'address', type: 'address' },
    ],
    stateMutability: 'payable',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_MsgValueDisallowedInDelegateCall',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [
      { name: 'postCall', internalType: 'bool', type: 'bool' },
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'LSP20CallVerificationFailed',
  },
  {
    type: 'error',
    inputs: [{ name: 'postCall', internalType: 'bool', type: 'bool' }],
    name: 'LSP20CallingVerifierFailed',
  },
  {
    type: 'error',
    inputs: [
      { name: 'logicVerifier', internalType: 'address', type: 'address' },
    ],
    name: 'LSP20EOACannotVerifyCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'pendingNewOwner', internalType: 'address', type: 'address' },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP0ERC725AccountInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp0Erc725AccountInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_MsgValueDisallowedInDelegateCall',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [
      { name: 'postCall', internalType: 'bool', type: 'bool' },
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'LSP20CallVerificationFailed',
  },
  {
    type: 'error',
    inputs: [{ name: 'postCall', internalType: 'bool', type: 'bool' }],
    name: 'LSP20CallingVerifierFailed',
  },
  {
    type: 'error',
    inputs: [
      { name: 'logicVerifier', internalType: 'address', type: 'address' },
    ],
    name: 'LSP20EOACannotVerifyCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'initialOwner', internalType: 'address', type: 'address' },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'pendingNewOwner', internalType: 'address', type: 'address' },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP11SocialRecovery
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp11SocialRecoveryAbi = [
  { type: 'error', inputs: [], name: 'AccountNotSetupYet' },
  {
    type: 'error',
    inputs: [{ name: 'iteration', internalType: 'uint256', type: 'uint256' }],
    name: 'BatchCallsFailed',
  },
  {
    type: 'error',
    inputs: [],
    name: 'BatchExecuteRelayCallParamsLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'guardian', internalType: 'address', type: 'address' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'CallerIsNotGuardian',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'CallerIsNotTheAccount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'votedAddress', internalType: 'address', type: 'address' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'CallerIsNotVotedAddress',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoverer', internalType: 'address', type: 'address' },
    ],
    name: 'CallerVotesHaveNotReachedThreshold',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'committer', internalType: 'address', type: 'address' },
    ],
    name: 'CannotRecoverAfterDirectCommit',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'delay', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'CannotRecoverBeforeDelay',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'guardian', internalType: 'address', type: 'address' },
      {
        name: 'guardianVotedAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    name: 'CannotVoteToAddressTwice',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'guardian', internalType: 'address', type: 'address' },
    ],
    name: 'GuardianAlreadyExists',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'guardian', internalType: 'address', type: 'address' },
    ],
    name: 'GuardianNotFound',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'threshold', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'GuardianNumberCannotGoBelowThreshold',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'committer', internalType: 'address', type: 'address' },
    ],
    name: 'InvalidCommitment',
  },
  {
    type: 'error',
    inputs: [
      { name: 'signer', internalType: 'address', type: 'address' },
      { name: 'invalidNonce', internalType: 'uint256', type: 'uint256' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidRelayNonce',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'secretHash', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'InvalidSecretHash',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP11BatchExcessiveValueSent',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP11BatchInsufficientValueSent',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'nonGuardian', internalType: 'address', type: 'address' },
    ],
    name: 'NotAGuardianOfTheAccount',
  },
  { type: 'error', inputs: [], name: 'RelayCallBeforeStartTime' },
  { type: 'error', inputs: [], name: 'RelayCallExpired' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'RelayCallNotSupported',
  },
  {
    type: 'error',
    inputs: [
      { name: 'votedAddress', internalType: 'address', type: 'address' },
      { name: 'recoveredAddress', internalType: 'address', type: 'address' },
    ],
    name: 'SignerIsNotVotedAddress',
  },
  {
    type: 'error',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'threshold', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ThresholdExceedsGuardianNumber',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'guardian',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'GuardianAdded',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'guardian',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'GuardianRemoved',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'recoveryCounter',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'guardian',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'guardianVotedAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'GuardianVotedFor',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'guardianThreshold',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
    ],
    name: 'GuardiansThresholdChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'previousRecoveryCounter',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
    ],
    name: 'RecoveryCancelled',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'recoveryDelay',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
    ],
    name: 'RecoveryDelayChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'recoveryCounter',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'guardianVotedAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'calldataExecuted',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'RecoveryProcessSuccessful',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'secretHash',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
    ],
    name: 'SecretHashChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'account',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'recoveryCounter',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'committedBy',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'commitment',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
    ],
    name: 'SecretHashCommitted',
  },
  {
    type: 'function',
    inputs: [],
    name: 'COMMITMEMT_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'DEFAULT_RECOVERY_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'newGuardian', internalType: 'address', type: 'address' },
    ],
    name: 'addGuardian',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'cancelRecoveryProcess',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'votedAddress', internalType: 'address', type: 'address' },
      { name: 'commitment', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'commitToRecover',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'validityTimestamps', internalType: 'uint256', type: 'uint256' },
      { name: 'payload', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'executeRelayCall',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signatures', internalType: 'bytes[]', type: 'bytes[]' },
      { name: 'nonces', internalType: 'uint256[]', type: 'uint256[]' },
      {
        name: 'validityTimestamps',
        internalType: 'uint256[]',
        type: 'uint256[]',
      },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeRelayCallBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryCounter', internalType: 'uint256', type: 'uint256' },
      { name: 'committedBy', internalType: 'address', type: 'address' },
    ],
    name: 'getCommitmentInfoOf',
    outputs: [
      { name: '', internalType: 'bytes32', type: 'bytes32' },
      { name: '', internalType: 'uint256', type: 'uint256' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryCounter', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getFirstRecoveryTimestampOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getGuardiansOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getGuardiansThresholdOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'channelId', internalType: 'uint128', type: 'uint128' },
    ],
    name: 'getNonce',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getRecoveryCounterOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getRecoveryDelayOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getSecretHashOf',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryCounter', internalType: 'uint256', type: 'uint256' },
      { name: 'guardian', internalType: 'address', type: 'address' },
    ],
    name: 'getVotedAddressByGuardian',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryCounter', internalType: 'uint256', type: 'uint256' },
      { name: 'votedAddress', internalType: 'address', type: 'address' },
    ],
    name: 'getVotesOfGuardianVotedAddress',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryCounter', internalType: 'uint256', type: 'uint256' },
      { name: 'votedAddress', internalType: 'address', type: 'address' },
    ],
    name: 'hasReachedThreshold',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'guardianAddress', internalType: 'address', type: 'address' },
    ],
    name: 'isGuardianOf',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'votedAddress', internalType: 'address', type: 'address' },
      { name: 'secretHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'newSecretHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'calldataToExecute', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'recoverAccess',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'existingGuardian', internalType: 'address', type: 'address' },
    ],
    name: 'removeGuardian',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'newThreshold', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'setGuardiansThreshold',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'recoveryDelay', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'setRecoveryDelay',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      {
        name: 'newRecoverSecretHash',
        internalType: 'bytes32',
        type: 'bytes32',
      },
    ],
    name: 'setRecoverySecretHash',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'guardian', internalType: 'address', type: 'address' },
      {
        name: 'guardianVotedAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    name: 'voteForRecovery',
    outputs: [],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP1UniversalReceiverDelegateUP
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp1UniversalReceiverDelegateUpAbi = [
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'CannotRegisterEOAsAsAssets',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'notifier', internalType: 'address', type: 'address' },
      { name: '', internalType: 'uint256', type: 'uint256' },
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: '', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiverDelegate',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP1UniversalReceiverDelegateVault
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp1UniversalReceiverDelegateVaultAbi = [
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'CannotRegisterEOAsAsAssets',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'notifier', internalType: 'address', type: 'address' },
      { name: '', internalType: 'uint256', type: 'uint256' },
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: '', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiverDelegate',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP23LinkedContractsFactory
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp23LinkedContractsFactoryAbi = [
  { type: 'error', inputs: [], name: 'InvalidValueSum' },
  {
    type: 'error',
    inputs: [{ name: 'errorData', internalType: 'bytes', type: 'bytes' }],
    name: 'PrimaryContractProxyInitFailureError',
  },
  {
    type: 'error',
    inputs: [{ name: 'errorData', internalType: 'bytes', type: 'bytes' }],
    name: 'SecondaryContractProxyInitFailureError',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'primaryContract',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'secondaryContract',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'primaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
        ],
        indexed: false,
      },
      {
        name: 'secondaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraConstructorParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
        indexed: false,
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DeployedContracts',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'primaryContract',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'secondaryContract',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'primaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
        indexed: false,
      },
      {
        name: 'secondaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraInitializationParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
        indexed: false,
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DeployedERC1167Proxies',
  },
  {
    type: 'function',
    inputs: [
      {
        name: 'primaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
        ],
      },
      {
        name: 'secondaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraConstructorParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'computeAddresses',
    outputs: [
      {
        name: 'primaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'secondaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      {
        name: 'primaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'secondaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraInitializationParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'computeERC1167Addresses',
    outputs: [
      {
        name: 'primaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'secondaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      {
        name: 'primaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
        ],
      },
      {
        name: 'secondaryContractDeployment',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeployment',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          { name: 'creationBytecode', internalType: 'bytes', type: 'bytes' },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraConstructorParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'deployContracts',
    outputs: [
      {
        name: 'primaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'secondaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      {
        name: 'primaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.PrimaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'secondaryContractDeploymentInit',
        internalType:
          'struct ILSP23LinkedContractsFactory.SecondaryContractDeploymentInit',
        type: 'tuple',
        components: [
          { name: 'fundingAmount', internalType: 'uint256', type: 'uint256' },
          {
            name: 'implementationContract',
            internalType: 'address',
            type: 'address',
          },
          {
            name: 'initializationCalldata',
            internalType: 'bytes',
            type: 'bytes',
          },
          {
            name: 'addPrimaryContractAddress',
            internalType: 'bool',
            type: 'bool',
          },
          {
            name: 'extraInitializationParams',
            internalType: 'bytes',
            type: 'bytes',
          },
        ],
      },
      {
        name: 'postDeploymentModule',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'postDeploymentModuleCalldata',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'deployERC1167Proxies',
    outputs: [
      {
        name: 'primaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
      {
        name: 'secondaryContractAddress',
        internalType: 'address',
        type: 'address',
      },
    ],
    stateMutability: 'payable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP26FollowerSystem
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp26FollowerSystemAbi = [
  {
    type: 'error',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'LSP26AlreadyFollowing',
  },
  { type: 'error', inputs: [], name: 'LSP26CannotSelfFollow' },
  {
    type: 'error',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'LSP26NotFollowing',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'follower',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      {
        name: 'addr',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
    ],
    name: 'Follow',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'unfollower',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      {
        name: 'addr',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
    ],
    name: 'Unfollow',
  },
  {
    type: 'function',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'follow',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'addresses', internalType: 'address[]', type: 'address[]' },
    ],
    name: 'followBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'followerCount',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'followingCount',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'addr', internalType: 'address', type: 'address' },
      { name: 'startIndex', internalType: 'uint256', type: 'uint256' },
      { name: 'endIndex', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getFollowersByIndex',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'addr', internalType: 'address', type: 'address' },
      { name: 'startIndex', internalType: 'uint256', type: 'uint256' },
      { name: 'endIndex', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getFollowsByIndex',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'follower', internalType: 'address', type: 'address' },
      { name: 'addr', internalType: 'address', type: 'address' },
    ],
    name: 'isFollowing',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'addr', internalType: 'address', type: 'address' }],
    name: 'unfollow',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'addresses', internalType: 'address[]', type: 'address[]' },
    ],
    name: 'unfollowBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP4DigitalAssetMetadata
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp4DigitalAssetMetadataAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP4DigitalAssetMetadataInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp4DigitalAssetMetadataInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP6KeyManager
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp6KeyManagerAbi = [
  {
    type: 'constructor',
    inputs: [{ name: 'target_', internalType: 'address', type: 'address' }],
    stateMutability: 'nonpayable',
  },
  { type: 'error', inputs: [], name: 'BatchExecuteParamsLengthMismatch' },
  {
    type: 'error',
    inputs: [],
    name: 'BatchExecuteRelayCallParamsLengthMismatch',
  },
  { type: 'error', inputs: [], name: 'CallingKeyManagerNotAllowed' },
  { type: 'error', inputs: [], name: 'DelegateCallDisallowedViaKeyManager' },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidDataValuesForDataKeys',
  },
  {
    type: 'error',
    inputs: [
      { name: 'invalidFunction', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'InvalidERC725Function',
  },
  {
    type: 'error',
    inputs: [
      { name: 'allowedCallsValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidEncodedAllowedCalls',
  },
  {
    type: 'error',
    inputs: [
      { name: 'value', internalType: 'bytes', type: 'bytes' },
      { name: 'context', internalType: 'string', type: 'string' },
    ],
    name: 'InvalidEncodedAllowedERC725YDataKeys',
  },
  { type: 'error', inputs: [], name: 'InvalidLSP6Target' },
  {
    type: 'error',
    inputs: [{ name: 'payload', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidPayload',
  },
  {
    type: 'error',
    inputs: [
      { name: 'signer', internalType: 'address', type: 'address' },
      { name: 'invalidNonce', internalType: 'uint256', type: 'uint256' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidRelayNonce',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'InvalidWhitelistedCall',
  },
  {
    type: 'error',
    inputs: [],
    name: 'KeyManagerCannotBeSetAsExtensionForLSP20Functions',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP6BatchExcessiveValueSent',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP6BatchInsufficientValueSent',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoCallsAllowed',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoERC725YDataKeysAllowed',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoPermissionsSet',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'selector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NotAllowedCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'disallowedKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'NotAllowedERC725YDataKey',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'permission', internalType: 'string', type: 'string' },
    ],
    name: 'NotAuthorised',
  },
  {
    type: 'error',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'NotRecognisedPermissionKey',
  },
  { type: 'error', inputs: [], name: 'RelayCallBeforeStartTime' },
  { type: 'error', inputs: [], name: 'RelayCallExpired' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'signer',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'PermissionsVerified',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'payload', internalType: 'bytes', type: 'bytes' }],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'validityTimestamps', internalType: 'uint256', type: 'uint256' },
      { name: 'payload', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'executeRelayCall',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signatures', internalType: 'bytes[]', type: 'bytes[]' },
      { name: 'nonces', internalType: 'uint256[]', type: 'uint256[]' },
      {
        name: 'validityTimestamps',
        internalType: 'uint256[]',
        type: 'uint256[]',
      },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeRelayCallBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'channelId', internalType: 'uint128', type: 'uint128' },
    ],
    name: 'getNonce',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: '', internalType: 'address', type: 'address' },
      { name: 'targetContract', internalType: 'address', type: 'address' },
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
      { name: 'callData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'lsp20VerifyCall',
    outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: '', internalType: 'bytes32', type: 'bytes32' },
      { name: '', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'lsp20VerifyCallResult',
    outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'target',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP6KeyManagerInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp6KeyManagerInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'BatchExecuteParamsLengthMismatch' },
  {
    type: 'error',
    inputs: [],
    name: 'BatchExecuteRelayCallParamsLengthMismatch',
  },
  { type: 'error', inputs: [], name: 'CallingKeyManagerNotAllowed' },
  { type: 'error', inputs: [], name: 'DelegateCallDisallowedViaKeyManager' },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidDataValuesForDataKeys',
  },
  {
    type: 'error',
    inputs: [
      { name: 'invalidFunction', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'InvalidERC725Function',
  },
  {
    type: 'error',
    inputs: [
      { name: 'allowedCallsValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidEncodedAllowedCalls',
  },
  {
    type: 'error',
    inputs: [
      { name: 'value', internalType: 'bytes', type: 'bytes' },
      { name: 'context', internalType: 'string', type: 'string' },
    ],
    name: 'InvalidEncodedAllowedERC725YDataKeys',
  },
  { type: 'error', inputs: [], name: 'InvalidLSP6Target' },
  {
    type: 'error',
    inputs: [{ name: 'payload', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidPayload',
  },
  {
    type: 'error',
    inputs: [
      { name: 'signer', internalType: 'address', type: 'address' },
      { name: 'invalidNonce', internalType: 'uint256', type: 'uint256' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'InvalidRelayNonce',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'InvalidWhitelistedCall',
  },
  {
    type: 'error',
    inputs: [],
    name: 'KeyManagerCannotBeSetAsExtensionForLSP20Functions',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP6BatchExcessiveValueSent',
  },
  {
    type: 'error',
    inputs: [
      { name: 'totalValues', internalType: 'uint256', type: 'uint256' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP6BatchInsufficientValueSent',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoCallsAllowed',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoERC725YDataKeysAllowed',
  },
  {
    type: 'error',
    inputs: [{ name: 'from', internalType: 'address', type: 'address' }],
    name: 'NoPermissionsSet',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'selector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NotAllowedCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'disallowedKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'NotAllowedERC725YDataKey',
  },
  {
    type: 'error',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'permission', internalType: 'string', type: 'string' },
    ],
    name: 'NotAuthorised',
  },
  {
    type: 'error',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'NotRecognisedPermissionKey',
  },
  { type: 'error', inputs: [], name: 'RelayCallBeforeStartTime' },
  { type: 'error', inputs: [], name: 'RelayCallExpired' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'signer',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'PermissionsVerified',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'payload', internalType: 'bytes', type: 'bytes' }],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'validityTimestamps', internalType: 'uint256', type: 'uint256' },
      { name: 'payload', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'executeRelayCall',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'signatures', internalType: 'bytes[]', type: 'bytes[]' },
      { name: 'nonces', internalType: 'uint256[]', type: 'uint256[]' },
      {
        name: 'validityTimestamps',
        internalType: 'uint256[]',
        type: 'uint256[]',
      },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'payloads', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeRelayCallBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'channelId', internalType: 'uint128', type: 'uint128' },
    ],
    name: 'getNonce',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'target_', internalType: 'address', type: 'address' }],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: '', internalType: 'address', type: 'address' },
      { name: 'targetContract', internalType: 'address', type: 'address' },
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'msgValue', internalType: 'uint256', type: 'uint256' },
      { name: 'callData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'lsp20VerifyCall',
    outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: '', internalType: 'bytes32', type: 'bytes32' },
      { name: '', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'lsp20VerifyCallResult',
    outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'target',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7CappedSupply
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7CappedSupplyAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP7CappedSupplyCannotMintOverCap' },
  { type: 'error', inputs: [], name: 'LSP7CappedSupplyRequired' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'tokenSupplyCap',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7CappedSupplyInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7CappedSupplyInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP7CappedSupplyCannotMintOverCap' },
  { type: 'error', inputs: [], name: 'LSP7CappedSupplyRequired' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'tokenSupplyCap',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7DigitalAsset
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7DigitalAssetAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7DigitalAssetInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7DigitalAssetInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7Mintable
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7MintableAbi = [
  {
    type: 'constructor',
    inputs: [
      { name: 'name_', internalType: 'string', type: 'string' },
      { name: 'symbol_', internalType: 'string', type: 'string' },
      { name: 'newOwner_', internalType: 'address', type: 'address' },
      { name: 'lsp4TokenType_', internalType: 'uint256', type: 'uint256' },
      { name: 'isNonDivisible_', internalType: 'bool', type: 'bool' },
    ],
    stateMutability: 'nonpayable',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'mint',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7MintableInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7MintableInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'name_', internalType: 'string', type: 'string' },
      { name: 'symbol_', internalType: 'string', type: 'string' },
      { name: 'newOwner_', internalType: 'address', type: 'address' },
      { name: 'lsp4TokenType_', internalType: 'uint256', type: 'uint256' },
      { name: 'isNonDivisible_', internalType: 'bool', type: 'bool' },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'mint',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP7Votes
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp7VotesAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'InvalidShortString' },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'authorizedAmount', internalType: 'uint256', type: 'uint256' },
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsAuthorizedAmount',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'LSP7AmountExceedsBalance',
  },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP7BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP7CannotSendWithAddressZero' },
  { type: 'error', inputs: [], name: 'LSP7CannotUseAddressZeroAsOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7DecreaseAllowanceNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7DecreasedAllowanceBelowZero' },
  { type: 'error', inputs: [], name: 'LSP7InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'operator', internalType: 'address', type: 'address' },
    ],
    name: 'LSP7RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP7TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP7TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [{ name: 'operator', internalType: 'address', type: 'address' }],
    name: 'OperatorAllowanceCannotBeIncreasedFromZero',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'error',
    inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
    name: 'StringTooLong',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'fromDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'toDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'DelegateChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'previousBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'newBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
    ],
    name: 'DelegateVotesChanged',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: true },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'amount',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'CLOCK_MODE',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'DOMAIN_SEPARATOR',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
    ],
    name: 'authorizedAmountFor',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'pos', internalType: 'uint32', type: 'uint32' },
    ],
    name: 'checkpoints',
    outputs: [
      {
        name: '',
        internalType: 'struct LSP7Votes.Checkpoint',
        type: 'tuple',
        components: [
          { name: 'fromBlock', internalType: 'uint32', type: 'uint32' },
          { name: 'votes', internalType: 'uint224', type: 'uint224' },
        ],
      },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'clock',
    outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'decimals',
    outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'subtractedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'decreaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'delegatee', internalType: 'address', type: 'address' }],
    name: 'delegate',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'delegatee', internalType: 'address', type: 'address' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'expiry', internalType: 'uint256', type: 'uint256' },
      { name: 'v', internalType: 'uint8', type: 'uint8' },
      { name: 'r', internalType: 'bytes32', type: 'bytes32' },
      { name: 's', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'delegateBySig',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'delegates',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'eip712Domain',
    outputs: [
      { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
      { name: 'name', internalType: 'string', type: 'string' },
      { name: 'version', internalType: 'string', type: 'string' },
      { name: 'chainId', internalType: 'uint256', type: 'uint256' },
      { name: 'verifyingContract', internalType: 'address', type: 'address' },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
      { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'timepoint', internalType: 'uint256', type: 'uint256' }],
    name: 'getPastTotalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'timepoint', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getPastVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'addedAmount', internalType: 'uint256', type: 'uint256' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'increaseAllowance',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
    name: 'nonces',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'numCheckpoints',
    outputs: [{ name: '', internalType: 'uint32', type: 'uint32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'amount', internalType: 'uint256', type: 'uint256' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'amount', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8Burnable
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8BurnableAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'burn',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8BurnableInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8BurnableInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'burn',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8CappedSupply
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8CappedSupplyAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8CappedSupplyCannotMintOverCap' },
  { type: 'error', inputs: [], name: 'LSP8CappedSupplyRequired' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'tokenSupplyCap',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8CappedSupplyInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8CappedSupplyInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8CappedSupplyCannotMintOverCap' },
  { type: 'error', inputs: [], name: 'LSP8CappedSupplyRequired' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'tokenSupplyCap',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8Enumerable
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8EnumerableAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256' }],
    name: 'tokenAt',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8EnumerableInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8EnumerableInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256' }],
    name: 'tokenAt',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8IdentifiableDigitalAsset
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8IdentifiableDigitalAssetAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8IdentifiableDigitalAssetInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8IdentifiableDigitalAssetInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8Mintable
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8MintableAbi = [
  {
    type: 'constructor',
    inputs: [
      { name: 'name_', internalType: 'string', type: 'string' },
      { name: 'symbol_', internalType: 'string', type: 'string' },
      { name: 'newOwner_', internalType: 'address', type: 'address' },
      { name: 'lsp4TokenType_', internalType: 'uint256', type: 'uint256' },
      { name: 'lsp8TokenIdFormat_', internalType: 'uint256', type: 'uint256' },
    ],
    stateMutability: 'nonpayable',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8TokenIdAlreadyMinted',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'mint',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8MintableInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8MintableInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8TokenIdAlreadyMinted',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'name_', internalType: 'string', type: 'string' },
      { name: 'symbol_', internalType: 'string', type: 'string' },
      { name: 'newOwner_', internalType: 'address', type: 'address' },
      { name: 'lsp4TokenType_', internalType: 'uint256', type: 'uint256' },
      { name: 'lsp8TokenIdFormat_', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'mint',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8Votes
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8VotesAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'InvalidShortString' },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'OwnableCannotSetZeroAddressAsOwner' },
  {
    type: 'error',
    inputs: [{ name: 'str', internalType: 'string', type: 'string' }],
    name: 'StringTooLong',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'fromDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'toDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'DelegateChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'previousBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'newBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
    ],
    name: 'DelegateVotesChanged',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'CLOCK_MODE',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'DOMAIN_SEPARATOR',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'clock',
    outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'delegatee', internalType: 'address', type: 'address' }],
    name: 'delegate',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'delegatee', internalType: 'address', type: 'address' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'expiry', internalType: 'uint256', type: 'uint256' },
      { name: 'v', internalType: 'uint8', type: 'uint8' },
      { name: 'r', internalType: 'bytes32', type: 'bytes32' },
      { name: 's', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'delegateBySig',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'delegates',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'eip712Domain',
    outputs: [
      { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
      { name: 'name', internalType: 'string', type: 'string' },
      { name: 'version', internalType: 'string', type: 'string' },
      { name: 'chainId', internalType: 'uint256', type: 'uint256' },
      { name: 'verifyingContract', internalType: 'address', type: 'address' },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
      { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'timepoint', internalType: 'uint256', type: 'uint256' }],
    name: 'getPastTotalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'timepoint', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getPastVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
    name: 'nonces',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP8VotesInitAbstract
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp8VotesInitAbstractAbi = [
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'storedData', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidExtensionAddress',
  },
  {
    type: 'error',
    inputs: [{ name: 'data', internalType: 'bytes', type: 'bytes' }],
    name: 'InvalidFunctionSelector',
  },
  { type: 'error', inputs: [], name: 'LSP4TokenNameNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenSymbolNotEditable' },
  { type: 'error', inputs: [], name: 'LSP4TokenTypeNotEditable' },
  {
    type: 'error',
    inputs: [{ name: 'callIndex', internalType: 'uint256', type: 'uint256' }],
    name: 'LSP8BatchCallFailed',
  },
  { type: 'error', inputs: [], name: 'LSP8CannotSendToAddressZero' },
  { type: 'error', inputs: [], name: 'LSP8CannotUseAddressZeroAsOperator' },
  { type: 'error', inputs: [], name: 'LSP8InvalidTransferBatch' },
  {
    type: 'error',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP8NonExistentTokenId',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8NonExistingOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOperator',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'caller', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotTokenOwner',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverContractMissingLSP1Interface',
  },
  {
    type: 'error',
    inputs: [
      { name: 'tokenReceiver', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8NotifyTokenReceiverIsEOA',
  },
  {
    type: 'error',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8OperatorAlreadyAuthorized',
  },
  {
    type: 'error',
    inputs: [
      { name: 'caller', internalType: 'address', type: 'address' },
      { name: 'tokenOwner', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'LSP8RevokeOperatorNotAuthorized',
  },
  { type: 'error', inputs: [], name: 'LSP8TokenContractCannotHoldValue' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdFormatNotEditable' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataEmptyArray' },
  { type: 'error', inputs: [], name: 'LSP8TokenIdsDataLengthMismatch' },
  { type: 'error', inputs: [], name: 'LSP8TokenOwnerCannotBeOperator' },
  {
    type: 'error',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'oldOwner', internalType: 'address', type: 'address' },
      { name: 'newOwner', internalType: 'address', type: 'address' },
    ],
    name: 'LSP8TokenOwnerChanged',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'fromDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'toDelegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'DelegateChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'delegate',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'previousBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'newBalance',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
    ],
    name: 'DelegateVotesChanged',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'EIP712DomainChanged' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorAuthorizationChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'notified', internalType: 'bool', type: 'bool', indexed: false },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'OperatorRevoked',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'TokenIdDataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operator',
        internalType: 'address',
        type: 'address',
        indexed: false,
      },
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      { name: 'to', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'tokenId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      { name: 'force', internalType: 'bool', type: 'bool', indexed: false },
      { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },
    ],
    name: 'Transfer',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'CLOCK_MODE',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'DOMAIN_SEPARATOR',
    outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'authorizeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'balanceOf',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'clock',
    outputs: [{ name: '', internalType: 'uint48', type: 'uint48' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'delegatee', internalType: 'address', type: 'address' }],
    name: 'delegate',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'delegatee', internalType: 'address', type: 'address' },
      { name: 'nonce', internalType: 'uint256', type: 'uint256' },
      { name: 'expiry', internalType: 'uint256', type: 'uint256' },
      { name: 'v', internalType: 'uint8', type: 'uint8' },
      { name: 'r', internalType: 'bytes32', type: 'bytes32' },
      { name: 's', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'delegateBySig',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'delegates',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'eip712Domain',
    outputs: [
      { name: 'fields', internalType: 'bytes1', type: 'bytes1' },
      { name: 'name', internalType: 'string', type: 'string' },
      { name: 'version', internalType: 'string', type: 'string' },
      { name: 'chainId', internalType: 'uint256', type: 'uint256' },
      { name: 'verifyingContract', internalType: 'address', type: 'address' },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32' },
      { name: 'extensions', internalType: 'uint256[]', type: 'uint256[]' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatchForTokenIds',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'getDataForTokenId',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getOperatorsOf',
    outputs: [{ name: '', internalType: 'address[]', type: 'address[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'timepoint', internalType: 'uint256', type: 'uint256' }],
    name: 'getPastTotalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'account', internalType: 'address', type: 'address' },
      { name: 'timepoint', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'getPastVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'account', internalType: 'address', type: 'address' }],
    name: 'getVotes',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
    ],
    name: 'isOperatorFor',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'owner', internalType: 'address', type: 'address' }],
    name: 'nonces',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operator', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'notify', internalType: 'bool', type: 'bool' },
      {
        name: 'operatorNotificationData',
        internalType: 'bytes',
        type: 'bytes',
      },
    ],
    name: 'revokeOperator',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenIds', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatchForTokenIds',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setDataForTokenId',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenOwner', internalType: 'address', type: 'address' }],
    name: 'tokenIdsOf',
    outputs: [{ name: '', internalType: 'bytes32[]', type: 'bytes32[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'tokenId', internalType: 'bytes32', type: 'bytes32' }],
    name: 'tokenOwnerOf',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'totalSupply',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address', type: 'address' },
      { name: 'to', internalType: 'address', type: 'address' },
      { name: 'tokenId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'force', internalType: 'bool', type: 'bool' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'transfer',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'from', internalType: 'address[]', type: 'address[]' },
      { name: 'to', internalType: 'address[]', type: 'address[]' },
      { name: 'tokenId', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'force', internalType: 'bool[]', type: 'bool[]' },
      { name: 'data', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'transferBatch',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP9Vault
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp9VaultAbi = [
  {
    type: 'constructor',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    stateMutability: 'payable',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP1DelegateNotAllowedToSetDataKey',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [
      { name: 'callerAddress', internalType: 'address', type: 'address' },
    ],
    name: 'OwnableCallerNotTheOwner',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LSP9VaultInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const lsp9VaultInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  { type: 'error', inputs: [], name: 'ERC725Y_MsgValueDisallowed' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'LSP1DelegateNotAllowedToSetDataKey',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'error',
    inputs: [
      { name: 'callerAddress', internalType: 'address', type: 'address' },
    ],
    name: 'OwnableCallerNotTheOwner',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'initialize',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// UniversalProfile
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const universalProfileAbi = [
  {
    type: 'constructor',
    inputs: [
      { name: 'initialOwner', internalType: 'address', type: 'address' },
    ],
    stateMutability: 'payable',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_MsgValueDisallowedInDelegateCall',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [
      { name: 'postCall', internalType: 'bool', type: 'bool' },
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'LSP20CallVerificationFailed',
  },
  {
    type: 'error',
    inputs: [{ name: 'postCall', internalType: 'bool', type: 'bool' }],
    name: 'LSP20CallingVerifierFailed',
  },
  {
    type: 'error',
    inputs: [
      { name: 'logicVerifier', internalType: 'address', type: 'address' },
    ],
    name: 'LSP20EOACannotVerifyCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'pendingNewOwner', internalType: 'address', type: 'address' },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// UniversalProfileInit
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export const universalProfileInitAbi = [
  { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },
  { type: 'error', inputs: [], name: 'ERC725X_ContractDeploymentFailed' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_CreateOperationsRequireEmptyRecipientAddress',
  },
  { type: 'error', inputs: [], name: 'ERC725X_ExecuteParametersEmptyArray' },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_ExecuteParametersLengthMismatch',
  },
  {
    type: 'error',
    inputs: [
      { name: 'balance', internalType: 'uint256', type: 'uint256' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
    ],
    name: 'ERC725X_InsufficientBalance',
  },
  {
    type: 'error',
    inputs: [],
    name: 'ERC725X_MsgValueDisallowedInDelegateCall',
  },
  { type: 'error', inputs: [], name: 'ERC725X_MsgValueDisallowedInStaticCall' },
  { type: 'error', inputs: [], name: 'ERC725X_NoContractBytecodeProvided' },
  {
    type: 'error',
    inputs: [
      {
        name: 'operationTypeProvided',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'ERC725X_UnknownOperationType',
  },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesEmptyArray' },
  { type: 'error', inputs: [], name: 'ERC725Y_DataKeysValuesLengthMismatch' },
  {
    type: 'error',
    inputs: [{ name: 'caller', internalType: 'address', type: 'address' }],
    name: 'LSP14CallerNotPendingOwner',
  },
  { type: 'error', inputs: [], name: 'LSP14CannotTransferOwnershipToSelf' },
  {
    type: 'error',
    inputs: [],
    name: 'LSP14MustAcceptOwnershipInSeparateTransaction',
  },
  {
    type: 'error',
    inputs: [
      {
        name: 'renounceOwnershipStart',
        internalType: 'uint256',
        type: 'uint256',
      },
      {
        name: 'renounceOwnershipEnd',
        internalType: 'uint256',
        type: 'uint256',
      },
    ],
    name: 'LSP14NotInRenounceOwnershipInterval',
  },
  {
    type: 'error',
    inputs: [
      { name: 'postCall', internalType: 'bool', type: 'bool' },
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'LSP20CallVerificationFailed',
  },
  {
    type: 'error',
    inputs: [{ name: 'postCall', internalType: 'bool', type: 'bool' }],
    name: 'LSP20CallingVerifierFailed',
  },
  {
    type: 'error',
    inputs: [
      { name: 'logicVerifier', internalType: 'address', type: 'address' },
    ],
    name: 'LSP20EOACannotVerifyCall',
  },
  {
    type: 'error',
    inputs: [
      { name: 'functionSelector', internalType: 'bytes4', type: 'bytes4' },
    ],
    name: 'NoExtensionFoundForFunctionSelector',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'contractAddress',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      { name: 'salt', internalType: 'bytes32', type: 'bytes32', indexed: true },
    ],
    name: 'ContractCreated',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'dataKey',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'dataValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'DataChanged',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'operationType',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'target',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: false,
      },
      {
        name: 'selector',
        internalType: 'bytes4',
        type: 'bytes4',
        indexed: true,
      },
    ],
    name: 'Executed',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },
    ],
    name: 'Initialized',
  },
  { type: 'event', anonymous: false, inputs: [], name: 'OwnershipRenounced' },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      {
        name: 'previousOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
      {
        name: 'newOwner',
        internalType: 'address',
        type: 'address',
        indexed: true,
      },
    ],
    name: 'OwnershipTransferred',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [],
    name: 'RenounceOwnershipStarted',
  },
  {
    type: 'event',
    anonymous: false,
    inputs: [
      { name: 'from', internalType: 'address', type: 'address', indexed: true },
      {
        name: 'value',
        internalType: 'uint256',
        type: 'uint256',
        indexed: true,
      },
      {
        name: 'typeId',
        internalType: 'bytes32',
        type: 'bytes32',
        indexed: true,
      },
      {
        name: 'receivedData',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
      {
        name: 'returnedValue',
        internalType: 'bytes',
        type: 'bytes',
        indexed: false,
      },
    ],
    name: 'UniversalReceiver',
  },
  { type: 'fallback', stateMutability: 'payable' },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
    outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'VERSION',
    outputs: [{ name: '', internalType: 'string', type: 'string' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'acceptOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [{ name: 'data', internalType: 'bytes[]', type: 'bytes[]' }],
    name: 'batchCalls',
    outputs: [{ name: 'results', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationType', internalType: 'uint256', type: 'uint256' },
      { name: 'target', internalType: 'address', type: 'address' },
      { name: 'value', internalType: 'uint256', type: 'uint256' },
      { name: 'data', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'execute',
    outputs: [{ name: '', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'operationsType', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'targets', internalType: 'address[]', type: 'address[]' },
      { name: 'values', internalType: 'uint256[]', type: 'uint256[]' },
      { name: 'datas', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'executeBatch',
    outputs: [{ name: '', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'dataKey', internalType: 'bytes32', type: 'bytes32' }],
    name: 'getData',
    outputs: [{ name: 'dataValue', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
    ],
    name: 'getDataBatch',
    outputs: [{ name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'initialOwner', internalType: 'address', type: 'address' },
    ],
    name: 'initialize',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataHash', internalType: 'bytes32', type: 'bytes32' },
      { name: 'signature', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'isValidSignature',
    outputs: [
      { name: 'returnedStatus', internalType: 'bytes4', type: 'bytes4' },
    ],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'owner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'pendingOwner',
    outputs: [{ name: '', internalType: 'address', type: 'address' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [],
    name: 'renounceOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKey', internalType: 'bytes32', type: 'bytes32' },
      { name: 'dataValue', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'setData',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'dataKeys', internalType: 'bytes32[]', type: 'bytes32[]' },
      { name: 'dataValues', internalType: 'bytes[]', type: 'bytes[]' },
    ],
    name: 'setDataBatch',
    outputs: [],
    stateMutability: 'payable',
  },
  {
    type: 'function',
    inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }],
    name: 'supportsInterface',
    outputs: [{ name: '', internalType: 'bool', type: 'bool' }],
    stateMutability: 'view',
  },
  {
    type: 'function',
    inputs: [
      { name: 'pendingNewOwner', internalType: 'address', type: 'address' },
    ],
    name: 'transferOwnership',
    outputs: [],
    stateMutability: 'nonpayable',
  },
  {
    type: 'function',
    inputs: [
      { name: 'typeId', internalType: 'bytes32', type: 'bytes32' },
      { name: 'receivedData', internalType: 'bytes', type: 'bytes' },
    ],
    name: 'universalReceiver',
    outputs: [{ name: 'returnedValues', internalType: 'bytes', type: 'bytes' }],
    stateMutability: 'payable',
  },
  { type: 'receive', stateMutability: 'payable' },
] as const

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// React
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__
 */
export const useReadLsp0Erc725Account = /*#__PURE__*/ createUseReadContract({
  abi: lsp0Erc725AccountAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadLsp0Erc725AccountRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadLsp0Erc725AccountRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp0Erc725AccountVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp0Erc725AccountGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp0Erc725AccountGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadLsp0Erc725AccountIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp0Erc725AccountOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadLsp0Erc725AccountPendingOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'pendingOwner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp0Erc725AccountSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__
 */
export const useWriteLsp0Erc725Account = /*#__PURE__*/ createUseWriteContract({
  abi: lsp0Erc725AccountAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteLsp0Erc725AccountAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp0Erc725AccountBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp0Erc725AccountExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp0Erc725AccountExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp0Erc725AccountRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp0Erc725AccountSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp0Erc725AccountSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp0Erc725AccountTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteLsp0Erc725AccountUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__
 */
export const useSimulateLsp0Erc725Account =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp0Erc725AccountAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateLsp0Erc725AccountAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp0Erc725AccountBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp0Erc725AccountExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp0Erc725AccountExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp0Erc725AccountRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp0Erc725AccountSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp0Erc725AccountSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp0Erc725AccountTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateLsp0Erc725AccountUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__
 */
export const useWatchLsp0Erc725AccountEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp0Erc725AccountAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchLsp0Erc725AccountContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp0Erc725AccountDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchLsp0Erc725AccountExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchLsp0Erc725AccountOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchLsp0Erc725AccountOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp0Erc725AccountOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchLsp0Erc725AccountRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchLsp0Erc725AccountUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountAbi,
    eventName: 'UniversalReceiver',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__
 */
export const useReadLsp0Erc725AccountInit = /*#__PURE__*/ createUseReadContract(
  { abi: lsp0Erc725AccountInitAbi },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadLsp0Erc725AccountInitRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadLsp0Erc725AccountInitRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp0Erc725AccountInitVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp0Erc725AccountInitGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp0Erc725AccountInitGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadLsp0Erc725AccountInitIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp0Erc725AccountInitOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadLsp0Erc725AccountInitPendingOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'pendingOwner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp0Erc725AccountInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__
 */
export const useWriteLsp0Erc725AccountInit =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp0Erc725AccountInitAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteLsp0Erc725AccountInitAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp0Erc725AccountInitBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp0Erc725AccountInitExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp0Erc725AccountInitExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteLsp0Erc725AccountInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp0Erc725AccountInitRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp0Erc725AccountInitSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp0Erc725AccountInitSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp0Erc725AccountInitTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteLsp0Erc725AccountInitUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__
 */
export const useSimulateLsp0Erc725AccountInit =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp0Erc725AccountInitAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateLsp0Erc725AccountInitAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp0Erc725AccountInitBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp0Erc725AccountInitExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp0Erc725AccountInitExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateLsp0Erc725AccountInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp0Erc725AccountInitRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp0Erc725AccountInitSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp0Erc725AccountInitSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp0Erc725AccountInitTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateLsp0Erc725AccountInitUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp0Erc725AccountInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__
 */
export const useWatchLsp0Erc725AccountInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp0Erc725AccountInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchLsp0Erc725AccountInitContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp0Erc725AccountInitDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchLsp0Erc725AccountInitExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp0Erc725AccountInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchLsp0Erc725AccountInitOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchLsp0Erc725AccountInitOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp0Erc725AccountInitOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchLsp0Erc725AccountInitRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp0Erc725AccountInitAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchLsp0Erc725AccountInitUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp0Erc725AccountInitAbi,
    eventName: 'UniversalReceiver',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__
 */
export const useReadLsp11SocialRecovery = /*#__PURE__*/ createUseReadContract({
  abi: lsp11SocialRecoveryAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"COMMITMEMT_DELAY"`
 */
export const useReadLsp11SocialRecoveryCommitmemtDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'COMMITMEMT_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"DEFAULT_RECOVERY_DELAY"`
 */
export const useReadLsp11SocialRecoveryDefaultRecoveryDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'DEFAULT_RECOVERY_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getCommitmentInfoOf"`
 */
export const useReadLsp11SocialRecoveryGetCommitmentInfoOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getCommitmentInfoOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getFirstRecoveryTimestampOf"`
 */
export const useReadLsp11SocialRecoveryGetFirstRecoveryTimestampOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getFirstRecoveryTimestampOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getGuardiansOf"`
 */
export const useReadLsp11SocialRecoveryGetGuardiansOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getGuardiansOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getGuardiansThresholdOf"`
 */
export const useReadLsp11SocialRecoveryGetGuardiansThresholdOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getGuardiansThresholdOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getNonce"`
 */
export const useReadLsp11SocialRecoveryGetNonce =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getNonce',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getRecoveryCounterOf"`
 */
export const useReadLsp11SocialRecoveryGetRecoveryCounterOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getRecoveryCounterOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getRecoveryDelayOf"`
 */
export const useReadLsp11SocialRecoveryGetRecoveryDelayOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getRecoveryDelayOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getSecretHashOf"`
 */
export const useReadLsp11SocialRecoveryGetSecretHashOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getSecretHashOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getVotedAddressByGuardian"`
 */
export const useReadLsp11SocialRecoveryGetVotedAddressByGuardian =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getVotedAddressByGuardian',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"getVotesOfGuardianVotedAddress"`
 */
export const useReadLsp11SocialRecoveryGetVotesOfGuardianVotedAddress =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'getVotesOfGuardianVotedAddress',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"hasReachedThreshold"`
 */
export const useReadLsp11SocialRecoveryHasReachedThreshold =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'hasReachedThreshold',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"isGuardianOf"`
 */
export const useReadLsp11SocialRecoveryIsGuardianOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'isGuardianOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp11SocialRecoverySupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__
 */
export const useWriteLsp11SocialRecovery = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp11SocialRecoveryAbi },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"addGuardian"`
 */
export const useWriteLsp11SocialRecoveryAddGuardian =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'addGuardian',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp11SocialRecoveryBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"cancelRecoveryProcess"`
 */
export const useWriteLsp11SocialRecoveryCancelRecoveryProcess =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'cancelRecoveryProcess',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"commitToRecover"`
 */
export const useWriteLsp11SocialRecoveryCommitToRecover =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'commitToRecover',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useWriteLsp11SocialRecoveryExecuteRelayCall =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useWriteLsp11SocialRecoveryExecuteRelayCallBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"recoverAccess"`
 */
export const useWriteLsp11SocialRecoveryRecoverAccess =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'recoverAccess',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"removeGuardian"`
 */
export const useWriteLsp11SocialRecoveryRemoveGuardian =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'removeGuardian',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setGuardiansThreshold"`
 */
export const useWriteLsp11SocialRecoverySetGuardiansThreshold =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setGuardiansThreshold',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setRecoveryDelay"`
 */
export const useWriteLsp11SocialRecoverySetRecoveryDelay =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setRecoveryDelay',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setRecoverySecretHash"`
 */
export const useWriteLsp11SocialRecoverySetRecoverySecretHash =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setRecoverySecretHash',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"voteForRecovery"`
 */
export const useWriteLsp11SocialRecoveryVoteForRecovery =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'voteForRecovery',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__
 */
export const useSimulateLsp11SocialRecovery =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp11SocialRecoveryAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"addGuardian"`
 */
export const useSimulateLsp11SocialRecoveryAddGuardian =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'addGuardian',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp11SocialRecoveryBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"cancelRecoveryProcess"`
 */
export const useSimulateLsp11SocialRecoveryCancelRecoveryProcess =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'cancelRecoveryProcess',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"commitToRecover"`
 */
export const useSimulateLsp11SocialRecoveryCommitToRecover =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'commitToRecover',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useSimulateLsp11SocialRecoveryExecuteRelayCall =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useSimulateLsp11SocialRecoveryExecuteRelayCallBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"recoverAccess"`
 */
export const useSimulateLsp11SocialRecoveryRecoverAccess =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'recoverAccess',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"removeGuardian"`
 */
export const useSimulateLsp11SocialRecoveryRemoveGuardian =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'removeGuardian',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setGuardiansThreshold"`
 */
export const useSimulateLsp11SocialRecoverySetGuardiansThreshold =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setGuardiansThreshold',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setRecoveryDelay"`
 */
export const useSimulateLsp11SocialRecoverySetRecoveryDelay =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setRecoveryDelay',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"setRecoverySecretHash"`
 */
export const useSimulateLsp11SocialRecoverySetRecoverySecretHash =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'setRecoverySecretHash',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `functionName` set to `"voteForRecovery"`
 */
export const useSimulateLsp11SocialRecoveryVoteForRecovery =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp11SocialRecoveryAbi,
    functionName: 'voteForRecovery',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__
 */
export const useWatchLsp11SocialRecoveryEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp11SocialRecoveryAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"GuardianAdded"`
 */
export const useWatchLsp11SocialRecoveryGuardianAddedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'GuardianAdded',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"GuardianRemoved"`
 */
export const useWatchLsp11SocialRecoveryGuardianRemovedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'GuardianRemoved',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"GuardianVotedFor"`
 */
export const useWatchLsp11SocialRecoveryGuardianVotedForEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'GuardianVotedFor',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"GuardiansThresholdChanged"`
 */
export const useWatchLsp11SocialRecoveryGuardiansThresholdChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'GuardiansThresholdChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"RecoveryCancelled"`
 */
export const useWatchLsp11SocialRecoveryRecoveryCancelledEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'RecoveryCancelled',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"RecoveryDelayChanged"`
 */
export const useWatchLsp11SocialRecoveryRecoveryDelayChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'RecoveryDelayChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"RecoveryProcessSuccessful"`
 */
export const useWatchLsp11SocialRecoveryRecoveryProcessSuccessfulEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'RecoveryProcessSuccessful',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"SecretHashChanged"`
 */
export const useWatchLsp11SocialRecoverySecretHashChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'SecretHashChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp11SocialRecoveryAbi}__ and `eventName` set to `"SecretHashCommitted"`
 */
export const useWatchLsp11SocialRecoverySecretHashCommittedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp11SocialRecoveryAbi,
    eventName: 'SecretHashCommitted',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__
 */
export const useReadLsp1UniversalReceiverDelegateUp =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp1UniversalReceiverDelegateUpVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp1UniversalReceiverDelegateUpSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__
 */
export const useWriteLsp1UniversalReceiverDelegateUp =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__ and `functionName` set to `"universalReceiverDelegate"`
 */
export const useWriteLsp1UniversalReceiverDelegateUpUniversalReceiverDelegate =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
    functionName: 'universalReceiverDelegate',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__
 */
export const useSimulateLsp1UniversalReceiverDelegateUp =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateUpAbi}__ and `functionName` set to `"universalReceiverDelegate"`
 */
export const useSimulateLsp1UniversalReceiverDelegateUpUniversalReceiverDelegate =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp1UniversalReceiverDelegateUpAbi,
    functionName: 'universalReceiverDelegate',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__
 */
export const useReadLsp1UniversalReceiverDelegateVault =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp1UniversalReceiverDelegateVaultVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp1UniversalReceiverDelegateVaultSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__
 */
export const useWriteLsp1UniversalReceiverDelegateVault =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__ and `functionName` set to `"universalReceiverDelegate"`
 */
export const useWriteLsp1UniversalReceiverDelegateVaultUniversalReceiverDelegate =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
    functionName: 'universalReceiverDelegate',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__
 */
export const useSimulateLsp1UniversalReceiverDelegateVault =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp1UniversalReceiverDelegateVaultAbi}__ and `functionName` set to `"universalReceiverDelegate"`
 */
export const useSimulateLsp1UniversalReceiverDelegateVaultUniversalReceiverDelegate =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp1UniversalReceiverDelegateVaultAbi,
    functionName: 'universalReceiverDelegate',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__
 */
export const useReadLsp23LinkedContractsFactory =
  /*#__PURE__*/ createUseReadContract({ abi: lsp23LinkedContractsFactoryAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"computeAddresses"`
 */
export const useReadLsp23LinkedContractsFactoryComputeAddresses =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'computeAddresses',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"computeERC1167Addresses"`
 */
export const useReadLsp23LinkedContractsFactoryComputeErc1167Addresses =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'computeERC1167Addresses',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__
 */
export const useWriteLsp23LinkedContractsFactory =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp23LinkedContractsFactoryAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"deployContracts"`
 */
export const useWriteLsp23LinkedContractsFactoryDeployContracts =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'deployContracts',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"deployERC1167Proxies"`
 */
export const useWriteLsp23LinkedContractsFactoryDeployErc1167Proxies =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'deployERC1167Proxies',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__
 */
export const useSimulateLsp23LinkedContractsFactory =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp23LinkedContractsFactoryAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"deployContracts"`
 */
export const useSimulateLsp23LinkedContractsFactoryDeployContracts =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'deployContracts',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `functionName` set to `"deployERC1167Proxies"`
 */
export const useSimulateLsp23LinkedContractsFactoryDeployErc1167Proxies =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp23LinkedContractsFactoryAbi,
    functionName: 'deployERC1167Proxies',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__
 */
export const useWatchLsp23LinkedContractsFactoryEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp23LinkedContractsFactoryAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `eventName` set to `"DeployedContracts"`
 */
export const useWatchLsp23LinkedContractsFactoryDeployedContractsEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp23LinkedContractsFactoryAbi,
    eventName: 'DeployedContracts',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp23LinkedContractsFactoryAbi}__ and `eventName` set to `"DeployedERC1167Proxies"`
 */
export const useWatchLsp23LinkedContractsFactoryDeployedErc1167ProxiesEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp23LinkedContractsFactoryAbi,
    eventName: 'DeployedERC1167Proxies',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__
 */
export const useReadLsp26FollowerSystem = /*#__PURE__*/ createUseReadContract({
  abi: lsp26FollowerSystemAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"followerCount"`
 */
export const useReadLsp26FollowerSystemFollowerCount =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'followerCount',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"followingCount"`
 */
export const useReadLsp26FollowerSystemFollowingCount =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'followingCount',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"getFollowersByIndex"`
 */
export const useReadLsp26FollowerSystemGetFollowersByIndex =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'getFollowersByIndex',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"getFollowsByIndex"`
 */
export const useReadLsp26FollowerSystemGetFollowsByIndex =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'getFollowsByIndex',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"isFollowing"`
 */
export const useReadLsp26FollowerSystemIsFollowing =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'isFollowing',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__
 */
export const useWriteLsp26FollowerSystem = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp26FollowerSystemAbi },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"follow"`
 */
export const useWriteLsp26FollowerSystemFollow =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'follow',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"followBatch"`
 */
export const useWriteLsp26FollowerSystemFollowBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'followBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"unfollow"`
 */
export const useWriteLsp26FollowerSystemUnfollow =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'unfollow',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"unfollowBatch"`
 */
export const useWriteLsp26FollowerSystemUnfollowBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'unfollowBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__
 */
export const useSimulateLsp26FollowerSystem =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp26FollowerSystemAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"follow"`
 */
export const useSimulateLsp26FollowerSystemFollow =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'follow',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"followBatch"`
 */
export const useSimulateLsp26FollowerSystemFollowBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'followBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"unfollow"`
 */
export const useSimulateLsp26FollowerSystemUnfollow =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'unfollow',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `functionName` set to `"unfollowBatch"`
 */
export const useSimulateLsp26FollowerSystemUnfollowBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp26FollowerSystemAbi,
    functionName: 'unfollowBatch',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__
 */
export const useWatchLsp26FollowerSystemEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp26FollowerSystemAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `eventName` set to `"Follow"`
 */
export const useWatchLsp26FollowerSystemFollowEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp26FollowerSystemAbi,
    eventName: 'Follow',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp26FollowerSystemAbi}__ and `eventName` set to `"Unfollow"`
 */
export const useWatchLsp26FollowerSystemUnfollowEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp26FollowerSystemAbi,
    eventName: 'Unfollow',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__
 */
export const useReadLsp4DigitalAssetMetadata =
  /*#__PURE__*/ createUseReadContract({ abi: lsp4DigitalAssetMetadataAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp4DigitalAssetMetadataGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp4DigitalAssetMetadataGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp4DigitalAssetMetadataOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp4DigitalAssetMetadataSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__
 */
export const useWriteLsp4DigitalAssetMetadata =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp4DigitalAssetMetadataAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp4DigitalAssetMetadataRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp4DigitalAssetMetadataSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp4DigitalAssetMetadataSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp4DigitalAssetMetadataTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__
 */
export const useSimulateLsp4DigitalAssetMetadata =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp4DigitalAssetMetadataAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp4DigitalAssetMetadataRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp4DigitalAssetMetadataSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp4DigitalAssetMetadataSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp4DigitalAssetMetadataTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__
 */
export const useWatchLsp4DigitalAssetMetadataEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp4DigitalAssetMetadataDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp4DigitalAssetMetadataOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__
 */
export const useReadLsp4DigitalAssetMetadataInitAbstract =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp4DigitalAssetMetadataInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp4DigitalAssetMetadataInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp4DigitalAssetMetadataInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp4DigitalAssetMetadataInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__
 */
export const useWriteLsp4DigitalAssetMetadataInitAbstract =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp4DigitalAssetMetadataInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp4DigitalAssetMetadataInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp4DigitalAssetMetadataInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp4DigitalAssetMetadataInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__
 */
export const useSimulateLsp4DigitalAssetMetadataInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp4DigitalAssetMetadataInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp4DigitalAssetMetadataInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp4DigitalAssetMetadataInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp4DigitalAssetMetadataInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__
 */
export const useWatchLsp4DigitalAssetMetadataInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp4DigitalAssetMetadataInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp4DigitalAssetMetadataInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp4DigitalAssetMetadataInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp4DigitalAssetMetadataInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp4DigitalAssetMetadataInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__
 */
export const useReadLsp6KeyManager = /*#__PURE__*/ createUseReadContract({
  abi: lsp6KeyManagerAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp6KeyManagerVersion = /*#__PURE__*/ createUseReadContract(
  { abi: lsp6KeyManagerAbi, functionName: 'VERSION' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"getNonce"`
 */
export const useReadLsp6KeyManagerGetNonce =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'getNonce',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadLsp6KeyManagerIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp6KeyManagerSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"target"`
 */
export const useReadLsp6KeyManagerTarget = /*#__PURE__*/ createUseReadContract({
  abi: lsp6KeyManagerAbi,
  functionName: 'target',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__
 */
export const useWriteLsp6KeyManager = /*#__PURE__*/ createUseWriteContract({
  abi: lsp6KeyManagerAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp6KeyManagerExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp6KeyManagerExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useWriteLsp6KeyManagerExecuteRelayCall =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useWriteLsp6KeyManagerExecuteRelayCallBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"lsp20VerifyCall"`
 */
export const useWriteLsp6KeyManagerLsp20VerifyCall =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'lsp20VerifyCall',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"lsp20VerifyCallResult"`
 */
export const useWriteLsp6KeyManagerLsp20VerifyCallResult =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'lsp20VerifyCallResult',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__
 */
export const useSimulateLsp6KeyManager =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp6KeyManagerAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp6KeyManagerExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp6KeyManagerExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useSimulateLsp6KeyManagerExecuteRelayCall =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useSimulateLsp6KeyManagerExecuteRelayCallBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"lsp20VerifyCall"`
 */
export const useSimulateLsp6KeyManagerLsp20VerifyCall =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'lsp20VerifyCall',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `functionName` set to `"lsp20VerifyCallResult"`
 */
export const useSimulateLsp6KeyManagerLsp20VerifyCallResult =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerAbi,
    functionName: 'lsp20VerifyCallResult',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp6KeyManagerAbi}__
 */
export const useWatchLsp6KeyManagerEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp6KeyManagerAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp6KeyManagerAbi}__ and `eventName` set to `"PermissionsVerified"`
 */
export const useWatchLsp6KeyManagerPermissionsVerifiedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp6KeyManagerAbi,
    eventName: 'PermissionsVerified',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__
 */
export const useReadLsp6KeyManagerInit = /*#__PURE__*/ createUseReadContract({
  abi: lsp6KeyManagerInitAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp6KeyManagerInitVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"getNonce"`
 */
export const useReadLsp6KeyManagerInitGetNonce =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'getNonce',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadLsp6KeyManagerInitIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp6KeyManagerInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"target"`
 */
export const useReadLsp6KeyManagerInitTarget =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'target',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__
 */
export const useWriteLsp6KeyManagerInit = /*#__PURE__*/ createUseWriteContract({
  abi: lsp6KeyManagerInitAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp6KeyManagerInitExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp6KeyManagerInitExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useWriteLsp6KeyManagerInitExecuteRelayCall =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useWriteLsp6KeyManagerInitExecuteRelayCallBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteLsp6KeyManagerInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"lsp20VerifyCall"`
 */
export const useWriteLsp6KeyManagerInitLsp20VerifyCall =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'lsp20VerifyCall',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"lsp20VerifyCallResult"`
 */
export const useWriteLsp6KeyManagerInitLsp20VerifyCallResult =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'lsp20VerifyCallResult',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__
 */
export const useSimulateLsp6KeyManagerInit =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp6KeyManagerInitAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp6KeyManagerInitExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp6KeyManagerInitExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeRelayCall"`
 */
export const useSimulateLsp6KeyManagerInitExecuteRelayCall =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeRelayCall',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"executeRelayCallBatch"`
 */
export const useSimulateLsp6KeyManagerInitExecuteRelayCallBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'executeRelayCallBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateLsp6KeyManagerInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"lsp20VerifyCall"`
 */
export const useSimulateLsp6KeyManagerInitLsp20VerifyCall =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'lsp20VerifyCall',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `functionName` set to `"lsp20VerifyCallResult"`
 */
export const useSimulateLsp6KeyManagerInitLsp20VerifyCallResult =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp6KeyManagerInitAbi,
    functionName: 'lsp20VerifyCallResult',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__
 */
export const useWatchLsp6KeyManagerInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp6KeyManagerInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp6KeyManagerInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp6KeyManagerInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp6KeyManagerInitAbi}__ and `eventName` set to `"PermissionsVerified"`
 */
export const useWatchLsp6KeyManagerInitPermissionsVerifiedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp6KeyManagerInitAbi,
    eventName: 'PermissionsVerified',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__
 */
export const useReadLsp7CappedSupply = /*#__PURE__*/ createUseReadContract({
  abi: lsp7CappedSupplyAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7CappedSupplyAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7CappedSupplyBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7CappedSupplyDecimals =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'decimals',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7CappedSupplyGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7CappedSupplyGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7CappedSupplyGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7CappedSupplyOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7CappedSupplyAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7CappedSupplySupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"tokenSupplyCap"`
 */
export const useReadLsp7CappedSupplyTokenSupplyCap =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'tokenSupplyCap',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7CappedSupplyTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__
 */
export const useWriteLsp7CappedSupply = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7CappedSupplyAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7CappedSupplyAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7CappedSupplyBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7CappedSupplyDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7CappedSupplyIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7CappedSupplyRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7CappedSupplyRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7CappedSupplySetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7CappedSupplySetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7CappedSupplyTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7CappedSupplyTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7CappedSupplyTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__
 */
export const useSimulateLsp7CappedSupply =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp7CappedSupplyAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7CappedSupplyAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7CappedSupplyBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7CappedSupplyDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7CappedSupplyIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7CappedSupplyRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7CappedSupplyRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7CappedSupplySetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7CappedSupplySetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7CappedSupplyTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7CappedSupplyTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7CappedSupplyTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__
 */
export const useWatchLsp7CappedSupplyEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp7CappedSupplyAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7CappedSupplyDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7CappedSupplyOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7CappedSupplyOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7CappedSupplyOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7CappedSupplyTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__
 */
export const useReadLsp7CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseReadContract({ abi: lsp7CappedSupplyInitAbstractAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7CappedSupplyInitAbstractAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7CappedSupplyInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7CappedSupplyInitAbstractDecimals =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'decimals',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7CappedSupplyInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7CappedSupplyInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7CappedSupplyInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7CappedSupplyInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7CappedSupplyInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"tokenSupplyCap"`
 */
export const useReadLsp7CappedSupplyInitAbstractTokenSupplyCap =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'tokenSupplyCap',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7CappedSupplyInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__
 */
export const useWriteLsp7CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp7CappedSupplyInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7CappedSupplyInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7CappedSupplyInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7CappedSupplyInitAbstractDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7CappedSupplyInitAbstractIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7CappedSupplyInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7CappedSupplyInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7CappedSupplyInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7CappedSupplyInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7CappedSupplyInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7CappedSupplyInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7CappedSupplyInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__
 */
export const useSimulateLsp7CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7CappedSupplyInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7CappedSupplyInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__
 */
export const useWatchLsp7CappedSupplyInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7CappedSupplyInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp7CappedSupplyInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7CappedSupplyInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7CappedSupplyInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7CappedSupplyInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7CappedSupplyInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7CappedSupplyInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7CappedSupplyInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__
 */
export const useReadLsp7DigitalAsset = /*#__PURE__*/ createUseReadContract({
  abi: lsp7DigitalAssetAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7DigitalAssetAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7DigitalAssetBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7DigitalAssetDecimals =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'decimals',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7DigitalAssetGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7DigitalAssetGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7DigitalAssetGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7DigitalAssetOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7DigitalAssetAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7DigitalAssetSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7DigitalAssetTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__
 */
export const useWriteLsp7DigitalAsset = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7DigitalAssetAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7DigitalAssetAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7DigitalAssetBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7DigitalAssetDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7DigitalAssetIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7DigitalAssetRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7DigitalAssetRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7DigitalAssetSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7DigitalAssetSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7DigitalAssetTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7DigitalAssetTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7DigitalAssetTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__
 */
export const useSimulateLsp7DigitalAsset =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp7DigitalAssetAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7DigitalAssetAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7DigitalAssetBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7DigitalAssetDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7DigitalAssetIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7DigitalAssetRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7DigitalAssetRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7DigitalAssetSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7DigitalAssetSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7DigitalAssetTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7DigitalAssetTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7DigitalAssetTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__
 */
export const useWatchLsp7DigitalAssetEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp7DigitalAssetAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7DigitalAssetDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7DigitalAssetOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7DigitalAssetOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7DigitalAssetOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7DigitalAssetTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__
 */
export const useReadLsp7DigitalAssetInitAbstract =
  /*#__PURE__*/ createUseReadContract({ abi: lsp7DigitalAssetInitAbstractAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7DigitalAssetInitAbstractAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7DigitalAssetInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7DigitalAssetInitAbstractDecimals =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'decimals',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7DigitalAssetInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7DigitalAssetInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7DigitalAssetInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7DigitalAssetInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7DigitalAssetInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7DigitalAssetInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__
 */
export const useWriteLsp7DigitalAssetInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp7DigitalAssetInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7DigitalAssetInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7DigitalAssetInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7DigitalAssetInitAbstractDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7DigitalAssetInitAbstractIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7DigitalAssetInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7DigitalAssetInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7DigitalAssetInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7DigitalAssetInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7DigitalAssetInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7DigitalAssetInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7DigitalAssetInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__
 */
export const useSimulateLsp7DigitalAssetInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7DigitalAssetInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7DigitalAssetInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__
 */
export const useWatchLsp7DigitalAssetInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7DigitalAssetInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp7DigitalAssetInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7DigitalAssetInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7DigitalAssetInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7DigitalAssetInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7DigitalAssetInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7DigitalAssetInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7DigitalAssetInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__
 */
export const useReadLsp7Mintable = /*#__PURE__*/ createUseReadContract({
  abi: lsp7MintableAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7MintableAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7MintableBalanceOf = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7MintableAbi, functionName: 'balanceOf' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7MintableDecimals = /*#__PURE__*/ createUseReadContract({
  abi: lsp7MintableAbi,
  functionName: 'decimals',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7MintableGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp7MintableAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7MintableGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7MintableGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7MintableOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp7MintableAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7MintableSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7MintableTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__
 */
export const useWriteLsp7Mintable = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7MintableAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7MintableAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7MintableBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7MintableDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7MintableIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"mint"`
 */
export const useWriteLsp7MintableMint = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7MintableAbi,
  functionName: 'mint',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7MintableRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7MintableRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7MintableSetData = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp7MintableAbi, functionName: 'setData' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7MintableSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7MintableTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7MintableTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7MintableTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__
 */
export const useSimulateLsp7Mintable = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp7MintableAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7MintableAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7MintableBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7MintableDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7MintableIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"mint"`
 */
export const useSimulateLsp7MintableMint =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7MintableRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7MintableRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7MintableSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7MintableSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7MintableTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7MintableTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7MintableTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__
 */
export const useWatchLsp7MintableEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp7MintableAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7MintableDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7MintableOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7MintableOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7MintableOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7MintableTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__
 */
export const useReadLsp7MintableInit = /*#__PURE__*/ createUseReadContract({
  abi: lsp7MintableInitAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7MintableInitAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7MintableInitBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7MintableInitDecimals =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'decimals',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7MintableInitGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7MintableInitGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7MintableInitGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7MintableInitOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7MintableInitAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7MintableInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7MintableInitTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7MintableInitAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__
 */
export const useWriteLsp7MintableInit = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7MintableInitAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7MintableInitAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7MintableInitBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7MintableInitDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7MintableInitIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteLsp7MintableInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"mint"`
 */
export const useWriteLsp7MintableInitMint =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7MintableInitRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7MintableInitRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7MintableInitSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7MintableInitSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7MintableInitTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7MintableInitTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7MintableInitTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__
 */
export const useSimulateLsp7MintableInit =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp7MintableInitAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7MintableInitAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7MintableInitBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7MintableInitDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7MintableInitIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateLsp7MintableInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"mint"`
 */
export const useSimulateLsp7MintableInitMint =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7MintableInitRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7MintableInitRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7MintableInitSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7MintableInitSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7MintableInitTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7MintableInitTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7MintableInitTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7MintableInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__
 */
export const useWatchLsp7MintableInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp7MintableInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7MintableInitDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp7MintableInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7MintableInitOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7MintableInitOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7MintableInitOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7MintableInitAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7MintableInitTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7MintableInitAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__
 */
export const useReadLsp7Votes = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"CLOCK_MODE"`
 */
export const useReadLsp7VotesClockMode = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'CLOCK_MODE',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"DOMAIN_SEPARATOR"`
 */
export const useReadLsp7VotesDomainSeparator =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'DOMAIN_SEPARATOR',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"authorizedAmountFor"`
 */
export const useReadLsp7VotesAuthorizedAmountFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'authorizedAmountFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp7VotesBalanceOf = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'balanceOf',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"checkpoints"`
 */
export const useReadLsp7VotesCheckpoints = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'checkpoints',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"clock"`
 */
export const useReadLsp7VotesClock = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'clock',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"decimals"`
 */
export const useReadLsp7VotesDecimals = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'decimals',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"delegates"`
 */
export const useReadLsp7VotesDelegates = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'delegates',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"eip712Domain"`
 */
export const useReadLsp7VotesEip712Domain = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7VotesAbi, functionName: 'eip712Domain' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp7VotesGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp7VotesGetDataBatch = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7VotesAbi, functionName: 'getDataBatch' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp7VotesGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getPastTotalSupply"`
 */
export const useReadLsp7VotesGetPastTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'getPastTotalSupply',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getPastVotes"`
 */
export const useReadLsp7VotesGetPastVotes = /*#__PURE__*/ createUseReadContract(
  { abi: lsp7VotesAbi, functionName: 'getPastVotes' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"getVotes"`
 */
export const useReadLsp7VotesGetVotes = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'getVotes',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"nonces"`
 */
export const useReadLsp7VotesNonces = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'nonces',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"numCheckpoints"`
 */
export const useReadLsp7VotesNumCheckpoints =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'numCheckpoints',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp7VotesOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp7VotesSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp7VotesAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp7VotesTotalSupply = /*#__PURE__*/ createUseReadContract({
  abi: lsp7VotesAbi,
  functionName: 'totalSupply',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__
 */
export const useWriteLsp7Votes = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7VotesAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp7VotesAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp7VotesBatchCalls = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp7VotesAbi, functionName: 'batchCalls' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useWriteLsp7VotesDecreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"delegate"`
 */
export const useWriteLsp7VotesDelegate = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7VotesAbi,
  functionName: 'delegate',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useWriteLsp7VotesDelegateBySig =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useWriteLsp7VotesIncreaseAllowance =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp7VotesRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp7VotesRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp7VotesSetData = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7VotesAbi,
  functionName: 'setData',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp7VotesSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp7VotesTransfer = /*#__PURE__*/ createUseWriteContract({
  abi: lsp7VotesAbi,
  functionName: 'transfer',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp7VotesTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp7VotesTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp7VotesAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__
 */
export const useSimulateLsp7Votes = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp7VotesAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp7VotesAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp7VotesBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"decreaseAllowance"`
 */
export const useSimulateLsp7VotesDecreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'decreaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"delegate"`
 */
export const useSimulateLsp7VotesDelegate =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'delegate',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useSimulateLsp7VotesDelegateBySig =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"increaseAllowance"`
 */
export const useSimulateLsp7VotesIncreaseAllowance =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'increaseAllowance',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp7VotesRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp7VotesRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp7VotesSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp7VotesSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp7VotesTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp7VotesTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp7VotesAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp7VotesTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp7VotesAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__
 */
export const useWatchLsp7VotesEvent = /*#__PURE__*/ createUseWatchContractEvent(
  { abi: lsp7VotesAbi },
)

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp7VotesDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"DelegateChanged"`
 */
export const useWatchLsp7VotesDelegateChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'DelegateChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"DelegateVotesChanged"`
 */
export const useWatchLsp7VotesDelegateVotesChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'DelegateVotesChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"EIP712DomainChanged"`
 */
export const useWatchLsp7VotesEip712DomainChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'EIP712DomainChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp7VotesOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp7VotesOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp7VotesOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp7VotesAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp7VotesTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp7VotesAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__
 */
export const useReadLsp8Burnable = /*#__PURE__*/ createUseReadContract({
  abi: lsp8BurnableAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8BurnableBalanceOf = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8BurnableAbi, functionName: 'balanceOf' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8BurnableGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp8BurnableAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8BurnableGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8BurnableGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8BurnableGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8BurnableGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8BurnableIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8BurnableOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp8BurnableAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8BurnableSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8BurnableTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8BurnableTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8BurnableTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__
 */
export const useWriteLsp8Burnable = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8BurnableAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8BurnableAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8BurnableBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"burn"`
 */
export const useWriteLsp8BurnableBurn = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8BurnableAbi,
  functionName: 'burn',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8BurnableRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8BurnableRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8BurnableSetData = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp8BurnableAbi, functionName: 'setData' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8BurnableSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8BurnableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8BurnableSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8BurnableTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8BurnableTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8BurnableTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__
 */
export const useSimulateLsp8Burnable = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp8BurnableAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8BurnableAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8BurnableBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"burn"`
 */
export const useSimulateLsp8BurnableBurn =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'burn',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8BurnableRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8BurnableRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8BurnableSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8BurnableSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8BurnableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8BurnableSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8BurnableTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8BurnableTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8BurnableTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__
 */
export const useWatchLsp8BurnableEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8BurnableAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8BurnableDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8BurnableOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8BurnableOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8BurnableOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8BurnableTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8BurnableTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__
 */
export const useReadLsp8BurnableInitAbstract =
  /*#__PURE__*/ createUseReadContract({ abi: lsp8BurnableInitAbstractAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8BurnableInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8BurnableInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8BurnableInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8BurnableInitAbstractGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8BurnableInitAbstractGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8BurnableInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8BurnableInitAbstractIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8BurnableInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8BurnableInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8BurnableInitAbstractTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8BurnableInitAbstractTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8BurnableInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__
 */
export const useWriteLsp8BurnableInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp8BurnableInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8BurnableInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8BurnableInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"burn"`
 */
export const useWriteLsp8BurnableInitAbstractBurn =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'burn',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8BurnableInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8BurnableInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8BurnableInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8BurnableInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8BurnableInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8BurnableInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8BurnableInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8BurnableInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8BurnableInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__
 */
export const useSimulateLsp8BurnableInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp8BurnableInitAbstractAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8BurnableInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8BurnableInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"burn"`
 */
export const useSimulateLsp8BurnableInitAbstractBurn =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'burn',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8BurnableInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8BurnableInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8BurnableInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8BurnableInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8BurnableInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8BurnableInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8BurnableInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8BurnableInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8BurnableInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8BurnableInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__
 */
export const useWatchLsp8BurnableInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8BurnableInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8BurnableInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8BurnableInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8BurnableInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8BurnableInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8BurnableInitAbstractTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8BurnableInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8BurnableInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8BurnableInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__
 */
export const useReadLsp8CappedSupply = /*#__PURE__*/ createUseReadContract({
  abi: lsp8CappedSupplyAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8CappedSupplyBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8CappedSupplyGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8CappedSupplyGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8CappedSupplyGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8CappedSupplyGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8CappedSupplyGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8CappedSupplyIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8CappedSupplyOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8CappedSupplyAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8CappedSupplySupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8CappedSupplyTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8CappedSupplyTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"tokenSupplyCap"`
 */
export const useReadLsp8CappedSupplyTokenSupplyCap =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'tokenSupplyCap',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8CappedSupplyTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__
 */
export const useWriteLsp8CappedSupply = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8CappedSupplyAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8CappedSupplyAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8CappedSupplyBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8CappedSupplyRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8CappedSupplyRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8CappedSupplySetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8CappedSupplySetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8CappedSupplySetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8CappedSupplySetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8CappedSupplyTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8CappedSupplyTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8CappedSupplyTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__
 */
export const useSimulateLsp8CappedSupply =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp8CappedSupplyAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8CappedSupplyAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8CappedSupplyBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8CappedSupplyRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8CappedSupplyRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8CappedSupplySetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8CappedSupplySetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8CappedSupplySetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8CappedSupplySetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8CappedSupplyTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8CappedSupplyTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8CappedSupplyTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__
 */
export const useWatchLsp8CappedSupplyEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8CappedSupplyAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8CappedSupplyDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8CappedSupplyOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8CappedSupplyOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8CappedSupplyOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8CappedSupplyTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8CappedSupplyTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__
 */
export const useReadLsp8CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseReadContract({ abi: lsp8CappedSupplyInitAbstractAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8CappedSupplyInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8CappedSupplyInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8CappedSupplyInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8CappedSupplyInitAbstractGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8CappedSupplyInitAbstractGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8CappedSupplyInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8CappedSupplyInitAbstractIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8CappedSupplyInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8CappedSupplyInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8CappedSupplyInitAbstractTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8CappedSupplyInitAbstractTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"tokenSupplyCap"`
 */
export const useReadLsp8CappedSupplyInitAbstractTokenSupplyCap =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'tokenSupplyCap',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8CappedSupplyInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__
 */
export const useWriteLsp8CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp8CappedSupplyInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8CappedSupplyInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8CappedSupplyInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8CappedSupplyInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8CappedSupplyInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8CappedSupplyInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8CappedSupplyInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8CappedSupplyInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8CappedSupplyInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8CappedSupplyInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8CappedSupplyInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8CappedSupplyInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__
 */
export const useSimulateLsp8CappedSupplyInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8CappedSupplyInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8CappedSupplyInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__
 */
export const useWatchLsp8CappedSupplyInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8CappedSupplyInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8CappedSupplyInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8CappedSupplyInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8CappedSupplyInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8CappedSupplyInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8CappedSupplyInitAbstractTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8CappedSupplyInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8CappedSupplyInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8CappedSupplyInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__
 */
export const useReadLsp8Enumerable = /*#__PURE__*/ createUseReadContract({
  abi: lsp8EnumerableAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8EnumerableBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8EnumerableGetData = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8EnumerableAbi, functionName: 'getData' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8EnumerableGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8EnumerableGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8EnumerableGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8EnumerableGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8EnumerableIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8EnumerableOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp8EnumerableAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8EnumerableSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"tokenAt"`
 */
export const useReadLsp8EnumerableTokenAt = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8EnumerableAbi, functionName: 'tokenAt' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8EnumerableTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8EnumerableTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8EnumerableTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__
 */
export const useWriteLsp8Enumerable = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8EnumerableAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8EnumerableAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8EnumerableBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8EnumerableRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8EnumerableRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8EnumerableSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8EnumerableSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8EnumerableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8EnumerableSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8EnumerableTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8EnumerableTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8EnumerableTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__
 */
export const useSimulateLsp8Enumerable =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp8EnumerableAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8EnumerableAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8EnumerableBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8EnumerableRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8EnumerableRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8EnumerableSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8EnumerableSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8EnumerableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8EnumerableSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8EnumerableTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8EnumerableTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8EnumerableTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__
 */
export const useWatchLsp8EnumerableEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8EnumerableAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8EnumerableDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8EnumerableOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8EnumerableOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8EnumerableOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8EnumerableTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8EnumerableTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__
 */
export const useReadLsp8EnumerableInitAbstract =
  /*#__PURE__*/ createUseReadContract({ abi: lsp8EnumerableInitAbstractAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8EnumerableInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8EnumerableInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8EnumerableInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8EnumerableInitAbstractGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8EnumerableInitAbstractGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8EnumerableInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8EnumerableInitAbstractIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8EnumerableInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8EnumerableInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"tokenAt"`
 */
export const useReadLsp8EnumerableInitAbstractTokenAt =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'tokenAt',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8EnumerableInitAbstractTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8EnumerableInitAbstractTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8EnumerableInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__
 */
export const useWriteLsp8EnumerableInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp8EnumerableInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8EnumerableInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8EnumerableInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8EnumerableInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8EnumerableInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8EnumerableInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8EnumerableInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8EnumerableInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8EnumerableInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8EnumerableInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8EnumerableInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8EnumerableInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__
 */
export const useSimulateLsp8EnumerableInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8EnumerableInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8EnumerableInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8EnumerableInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8EnumerableInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8EnumerableInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8EnumerableInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8EnumerableInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8EnumerableInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8EnumerableInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8EnumerableInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8EnumerableInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8EnumerableInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__
 */
export const useWatchLsp8EnumerableInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8EnumerableInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8EnumerableInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8EnumerableInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8EnumerableInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8EnumerableInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8EnumerableInitAbstractTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8EnumerableInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8EnumerableInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8EnumerableInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__
 */
export const useReadLsp8IdentifiableDigitalAsset =
  /*#__PURE__*/ createUseReadContract({ abi: lsp8IdentifiableDigitalAssetAbi })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8IdentifiableDigitalAssetGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8IdentifiableDigitalAssetGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8IdentifiableDigitalAssetGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8IdentifiableDigitalAssetGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8IdentifiableDigitalAssetIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8IdentifiableDigitalAssetOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8IdentifiableDigitalAssetSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8IdentifiableDigitalAssetTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__
 */
export const useWriteLsp8IdentifiableDigitalAsset =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp8IdentifiableDigitalAssetAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8IdentifiableDigitalAssetAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8IdentifiableDigitalAssetBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8IdentifiableDigitalAssetRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8IdentifiableDigitalAssetRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8IdentifiableDigitalAssetSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8IdentifiableDigitalAssetSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8IdentifiableDigitalAssetSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8IdentifiableDigitalAssetSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8IdentifiableDigitalAssetTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8IdentifiableDigitalAssetTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8IdentifiableDigitalAssetTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__
 */
export const useSimulateLsp8IdentifiableDigitalAsset =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__
 */
export const useWatchLsp8IdentifiableDigitalAssetEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8IdentifiableDigitalAssetOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8IdentifiableDigitalAssetOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8IdentifiableDigitalAssetTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstract =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8IdentifiableDigitalAssetInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstract =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8IdentifiableDigitalAssetInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8IdentifiableDigitalAssetInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8IdentifiableDigitalAssetInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8IdentifiableDigitalAssetInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8IdentifiableDigitalAssetInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__
 */
export const useReadLsp8Mintable = /*#__PURE__*/ createUseReadContract({
  abi: lsp8MintableAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8MintableBalanceOf = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8MintableAbi, functionName: 'balanceOf' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8MintableGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp8MintableAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8MintableGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8MintableGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8MintableGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8MintableGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8MintableIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8MintableOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp8MintableAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8MintableSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8MintableTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8MintableTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8MintableTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__
 */
export const useWriteLsp8Mintable = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8MintableAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8MintableAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8MintableBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"mint"`
 */
export const useWriteLsp8MintableMint = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8MintableAbi,
  functionName: 'mint',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8MintableRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8MintableRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8MintableSetData = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp8MintableAbi, functionName: 'setData' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8MintableSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8MintableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8MintableSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8MintableTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8MintableTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8MintableTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__
 */
export const useSimulateLsp8Mintable = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp8MintableAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8MintableAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8MintableBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"mint"`
 */
export const useSimulateLsp8MintableMint =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8MintableRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8MintableRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8MintableSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8MintableSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8MintableSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8MintableSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8MintableTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8MintableTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8MintableTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__
 */
export const useWatchLsp8MintableEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8MintableAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8MintableDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8MintableOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8MintableOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8MintableOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8MintableTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8MintableTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__
 */
export const useReadLsp8MintableInit = /*#__PURE__*/ createUseReadContract({
  abi: lsp8MintableInitAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8MintableInitBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8MintableInitGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8MintableInitGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8MintableInitGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8MintableInitGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8MintableInitGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8MintableInitIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8MintableInitOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8MintableInitAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8MintableInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8MintableInitTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8MintableInitTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8MintableInitTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8MintableInitAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__
 */
export const useWriteLsp8MintableInit = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8MintableInitAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8MintableInitAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8MintableInitBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteLsp8MintableInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"mint"`
 */
export const useWriteLsp8MintableInitMint =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8MintableInitRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8MintableInitRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8MintableInitSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8MintableInitSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8MintableInitSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8MintableInitSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8MintableInitTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8MintableInitTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8MintableInitTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__
 */
export const useSimulateLsp8MintableInit =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp8MintableInitAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8MintableInitAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8MintableInitBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateLsp8MintableInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"mint"`
 */
export const useSimulateLsp8MintableInitMint =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'mint',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8MintableInitRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8MintableInitRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8MintableInitSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8MintableInitSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8MintableInitSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8MintableInitSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8MintableInitTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8MintableInitTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8MintableInitTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8MintableInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__
 */
export const useWatchLsp8MintableInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8MintableInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8MintableInitDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8MintableInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8MintableInitOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8MintableInitOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8MintableInitOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8MintableInitTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8MintableInitAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8MintableInitTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8MintableInitAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__
 */
export const useReadLsp8Votes = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"CLOCK_MODE"`
 */
export const useReadLsp8VotesClockMode = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'CLOCK_MODE',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"DOMAIN_SEPARATOR"`
 */
export const useReadLsp8VotesDomainSeparator =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'DOMAIN_SEPARATOR',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8VotesBalanceOf = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'balanceOf',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"clock"`
 */
export const useReadLsp8VotesClock = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'clock',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"delegates"`
 */
export const useReadLsp8VotesDelegates = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'delegates',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"eip712Domain"`
 */
export const useReadLsp8VotesEip712Domain = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8VotesAbi, functionName: 'eip712Domain' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8VotesGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8VotesGetDataBatch = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8VotesAbi, functionName: 'getDataBatch' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8VotesGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8VotesGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8VotesGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getPastTotalSupply"`
 */
export const useReadLsp8VotesGetPastTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'getPastTotalSupply',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getPastVotes"`
 */
export const useReadLsp8VotesGetPastVotes = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8VotesAbi, functionName: 'getPastVotes' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"getVotes"`
 */
export const useReadLsp8VotesGetVotes = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'getVotes',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8VotesIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"nonces"`
 */
export const useReadLsp8VotesNonces = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'nonces',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8VotesOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8VotesSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8VotesTokenIdsOf = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'tokenIdsOf',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8VotesTokenOwnerOf = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8VotesAbi, functionName: 'tokenOwnerOf' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8VotesTotalSupply = /*#__PURE__*/ createUseReadContract({
  abi: lsp8VotesAbi,
  functionName: 'totalSupply',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__
 */
export const useWriteLsp8Votes = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8VotesAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8VotesAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8VotesBatchCalls = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp8VotesAbi, functionName: 'batchCalls' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"delegate"`
 */
export const useWriteLsp8VotesDelegate = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8VotesAbi,
  functionName: 'delegate',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useWriteLsp8VotesDelegateBySig =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8VotesRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8VotesRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8VotesSetData = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8VotesAbi,
  functionName: 'setData',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8VotesSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8VotesSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8VotesSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8VotesTransfer = /*#__PURE__*/ createUseWriteContract({
  abi: lsp8VotesAbi,
  functionName: 'transfer',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8VotesTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8VotesTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__
 */
export const useSimulateLsp8Votes = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp8VotesAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8VotesAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8VotesBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"delegate"`
 */
export const useSimulateLsp8VotesDelegate =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'delegate',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useSimulateLsp8VotesDelegateBySig =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8VotesRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8VotesRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8VotesSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8VotesSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8VotesSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8VotesSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8VotesTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8VotesTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8VotesTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__
 */
export const useWatchLsp8VotesEvent = /*#__PURE__*/ createUseWatchContractEvent(
  { abi: lsp8VotesAbi },
)

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8VotesDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"DelegateChanged"`
 */
export const useWatchLsp8VotesDelegateChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'DelegateChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"DelegateVotesChanged"`
 */
export const useWatchLsp8VotesDelegateVotesChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'DelegateVotesChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"EIP712DomainChanged"`
 */
export const useWatchLsp8VotesEip712DomainChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'EIP712DomainChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8VotesOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8VotesOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8VotesOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8VotesTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8VotesTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__
 */
export const useReadLsp8VotesInitAbstract = /*#__PURE__*/ createUseReadContract(
  { abi: lsp8VotesInitAbstractAbi },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"CLOCK_MODE"`
 */
export const useReadLsp8VotesInitAbstractClockMode =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'CLOCK_MODE',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"DOMAIN_SEPARATOR"`
 */
export const useReadLsp8VotesInitAbstractDomainSeparator =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'DOMAIN_SEPARATOR',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"balanceOf"`
 */
export const useReadLsp8VotesInitAbstractBalanceOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'balanceOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"clock"`
 */
export const useReadLsp8VotesInitAbstractClock =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'clock',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"delegates"`
 */
export const useReadLsp8VotesInitAbstractDelegates =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'delegates',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"eip712Domain"`
 */
export const useReadLsp8VotesInitAbstractEip712Domain =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'eip712Domain',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp8VotesInitAbstractGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp8VotesInitAbstractGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getDataBatchForTokenIds"`
 */
export const useReadLsp8VotesInitAbstractGetDataBatchForTokenIds =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getDataForTokenId"`
 */
export const useReadLsp8VotesInitAbstractGetDataForTokenId =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getDataForTokenId',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getOperatorsOf"`
 */
export const useReadLsp8VotesInitAbstractGetOperatorsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getOperatorsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getPastTotalSupply"`
 */
export const useReadLsp8VotesInitAbstractGetPastTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getPastTotalSupply',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getPastVotes"`
 */
export const useReadLsp8VotesInitAbstractGetPastVotes =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getPastVotes',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"getVotes"`
 */
export const useReadLsp8VotesInitAbstractGetVotes =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'getVotes',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"isOperatorFor"`
 */
export const useReadLsp8VotesInitAbstractIsOperatorFor =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'isOperatorFor',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"nonces"`
 */
export const useReadLsp8VotesInitAbstractNonces =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'nonces',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp8VotesInitAbstractOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp8VotesInitAbstractSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"tokenIdsOf"`
 */
export const useReadLsp8VotesInitAbstractTokenIdsOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'tokenIdsOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"tokenOwnerOf"`
 */
export const useReadLsp8VotesInitAbstractTokenOwnerOf =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'tokenOwnerOf',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"totalSupply"`
 */
export const useReadLsp8VotesInitAbstractTotalSupply =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'totalSupply',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__
 */
export const useWriteLsp8VotesInitAbstract =
  /*#__PURE__*/ createUseWriteContract({ abi: lsp8VotesInitAbstractAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useWriteLsp8VotesInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp8VotesInitAbstractBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"delegate"`
 */
export const useWriteLsp8VotesInitAbstractDelegate =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'delegate',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useWriteLsp8VotesInitAbstractDelegateBySig =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp8VotesInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useWriteLsp8VotesInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp8VotesInitAbstractSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp8VotesInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useWriteLsp8VotesInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useWriteLsp8VotesInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useWriteLsp8VotesInitAbstractTransfer =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useWriteLsp8VotesInitAbstractTransferBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp8VotesInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__
 */
export const useSimulateLsp8VotesInitAbstract =
  /*#__PURE__*/ createUseSimulateContract({ abi: lsp8VotesInitAbstractAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"authorizeOperator"`
 */
export const useSimulateLsp8VotesInitAbstractAuthorizeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'authorizeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp8VotesInitAbstractBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"delegate"`
 */
export const useSimulateLsp8VotesInitAbstractDelegate =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'delegate',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"delegateBySig"`
 */
export const useSimulateLsp8VotesInitAbstractDelegateBySig =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'delegateBySig',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp8VotesInitAbstractRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"revokeOperator"`
 */
export const useSimulateLsp8VotesInitAbstractRevokeOperator =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'revokeOperator',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp8VotesInitAbstractSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp8VotesInitAbstractSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataBatchForTokenIds"`
 */
export const useSimulateLsp8VotesInitAbstractSetDataBatchForTokenIds =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataBatchForTokenIds',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"setDataForTokenId"`
 */
export const useSimulateLsp8VotesInitAbstractSetDataForTokenId =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'setDataForTokenId',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transfer"`
 */
export const useSimulateLsp8VotesInitAbstractTransfer =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transfer',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transferBatch"`
 */
export const useSimulateLsp8VotesInitAbstractTransferBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transferBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp8VotesInitAbstractTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp8VotesInitAbstractAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__
 */
export const useWatchLsp8VotesInitAbstractEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp8VotesInitAbstractAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp8VotesInitAbstractDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"DelegateChanged"`
 */
export const useWatchLsp8VotesInitAbstractDelegateChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'DelegateChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"DelegateVotesChanged"`
 */
export const useWatchLsp8VotesInitAbstractDelegateVotesChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'DelegateVotesChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"EIP712DomainChanged"`
 */
export const useWatchLsp8VotesInitAbstractEip712DomainChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'EIP712DomainChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp8VotesInitAbstractInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"OperatorAuthorizationChanged"`
 */
export const useWatchLsp8VotesInitAbstractOperatorAuthorizationChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'OperatorAuthorizationChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"OperatorRevoked"`
 */
export const useWatchLsp8VotesInitAbstractOperatorRevokedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'OperatorRevoked',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp8VotesInitAbstractOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"TokenIdDataChanged"`
 */
export const useWatchLsp8VotesInitAbstractTokenIdDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'TokenIdDataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp8VotesInitAbstractAbi}__ and `eventName` set to `"Transfer"`
 */
export const useWatchLsp8VotesInitAbstractTransferEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp8VotesInitAbstractAbi,
    eventName: 'Transfer',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__
 */
export const useReadLsp9Vault = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadLsp9VaultRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadLsp9VaultRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp9VaultVersion = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultAbi,
  functionName: 'VERSION',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp9VaultGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp9VaultGetDataBatch = /*#__PURE__*/ createUseReadContract(
  { abi: lsp9VaultAbi, functionName: 'getDataBatch' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp9VaultOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadLsp9VaultPendingOwner = /*#__PURE__*/ createUseReadContract(
  { abi: lsp9VaultAbi, functionName: 'pendingOwner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp9VaultSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__
 */
export const useWriteLsp9Vault = /*#__PURE__*/ createUseWriteContract({
  abi: lsp9VaultAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteLsp9VaultAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp9VaultBatchCalls = /*#__PURE__*/ createUseWriteContract(
  { abi: lsp9VaultAbi, functionName: 'batchCalls' },
)

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp9VaultExecute = /*#__PURE__*/ createUseWriteContract({
  abi: lsp9VaultAbi,
  functionName: 'execute',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp9VaultExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp9VaultRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp9VaultSetData = /*#__PURE__*/ createUseWriteContract({
  abi: lsp9VaultAbi,
  functionName: 'setData',
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp9VaultSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp9VaultTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteLsp9VaultUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__
 */
export const useSimulateLsp9Vault = /*#__PURE__*/ createUseSimulateContract({
  abi: lsp9VaultAbi,
})

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateLsp9VaultAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp9VaultBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp9VaultExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp9VaultExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp9VaultRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp9VaultSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp9VaultSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp9VaultTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateLsp9VaultUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__
 */
export const useWatchLsp9VaultEvent = /*#__PURE__*/ createUseWatchContractEvent(
  { abi: lsp9VaultAbi },
)

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchLsp9VaultContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp9VaultDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchLsp9VaultExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchLsp9VaultOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchLsp9VaultOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp9VaultOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchLsp9VaultRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchLsp9VaultUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultAbi,
    eventName: 'UniversalReceiver',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__
 */
export const useReadLsp9VaultInit = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultInitAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadLsp9VaultInitRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadLsp9VaultInitRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadLsp9VaultInitVersion = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultInitAbi,
  functionName: 'VERSION',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"getData"`
 */
export const useReadLsp9VaultInitGetData = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultInitAbi,
  functionName: 'getData',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadLsp9VaultInitGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultInitAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"owner"`
 */
export const useReadLsp9VaultInitOwner = /*#__PURE__*/ createUseReadContract({
  abi: lsp9VaultInitAbi,
  functionName: 'owner',
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadLsp9VaultInitPendingOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultInitAbi,
    functionName: 'pendingOwner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadLsp9VaultInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: lsp9VaultInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__
 */
export const useWriteLsp9VaultInit = /*#__PURE__*/ createUseWriteContract({
  abi: lsp9VaultInitAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteLsp9VaultInitAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteLsp9VaultInitBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteLsp9VaultInitExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteLsp9VaultInitExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteLsp9VaultInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteLsp9VaultInitRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteLsp9VaultInitSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteLsp9VaultInitSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteLsp9VaultInitTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteLsp9VaultInitUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: lsp9VaultInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__
 */
export const useSimulateLsp9VaultInit = /*#__PURE__*/ createUseSimulateContract(
  { abi: lsp9VaultInitAbi },
)

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateLsp9VaultInitAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateLsp9VaultInitBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateLsp9VaultInitExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateLsp9VaultInitExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateLsp9VaultInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateLsp9VaultInitRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateLsp9VaultInitSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateLsp9VaultInitSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateLsp9VaultInitTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateLsp9VaultInitUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: lsp9VaultInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__
 */
export const useWatchLsp9VaultInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: lsp9VaultInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchLsp9VaultInitContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchLsp9VaultInitDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchLsp9VaultInitExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchLsp9VaultInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchLsp9VaultInitOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchLsp9VaultInitOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchLsp9VaultInitOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchLsp9VaultInitRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link lsp9VaultInitAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchLsp9VaultInitUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: lsp9VaultInitAbi,
    eventName: 'UniversalReceiver',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__
 */
export const useReadUniversalProfile = /*#__PURE__*/ createUseReadContract({
  abi: universalProfileAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadUniversalProfileRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadUniversalProfileRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadUniversalProfileVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"getData"`
 */
export const useReadUniversalProfileGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadUniversalProfileGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadUniversalProfileIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"owner"`
 */
export const useReadUniversalProfileOwner = /*#__PURE__*/ createUseReadContract(
  { abi: universalProfileAbi, functionName: 'owner' },
)

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadUniversalProfilePendingOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'pendingOwner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadUniversalProfileSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__
 */
export const useWriteUniversalProfile = /*#__PURE__*/ createUseWriteContract({
  abi: universalProfileAbi,
})

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteUniversalProfileAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteUniversalProfileBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteUniversalProfileExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteUniversalProfileExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteUniversalProfileRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteUniversalProfileSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteUniversalProfileSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteUniversalProfileTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteUniversalProfileUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__
 */
export const useSimulateUniversalProfile =
  /*#__PURE__*/ createUseSimulateContract({ abi: universalProfileAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateUniversalProfileAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateUniversalProfileBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateUniversalProfileExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateUniversalProfileExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateUniversalProfileRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateUniversalProfileSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateUniversalProfileSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateUniversalProfileTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateUniversalProfileUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__
 */
export const useWatchUniversalProfileEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: universalProfileAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchUniversalProfileContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchUniversalProfileDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchUniversalProfileExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchUniversalProfileOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchUniversalProfileOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchUniversalProfileOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchUniversalProfileRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchUniversalProfileUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileAbi,
    eventName: 'UniversalReceiver',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__
 */
export const useReadUniversalProfileInit = /*#__PURE__*/ createUseReadContract({
  abi: universalProfileInitAbi,
})

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY"`
 */
export const useReadUniversalProfileInitRenounceOwnershipConfirmationDelay =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_DELAY',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD"`
 */
export const useReadUniversalProfileInitRenounceOwnershipConfirmationPeriod =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'RENOUNCE_OWNERSHIP_CONFIRMATION_PERIOD',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"VERSION"`
 */
export const useReadUniversalProfileInitVersion =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'VERSION',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"getData"`
 */
export const useReadUniversalProfileInitGetData =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'getData',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"getDataBatch"`
 */
export const useReadUniversalProfileInitGetDataBatch =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'getDataBatch',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"isValidSignature"`
 */
export const useReadUniversalProfileInitIsValidSignature =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'isValidSignature',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"owner"`
 */
export const useReadUniversalProfileInitOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'owner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"pendingOwner"`
 */
export const useReadUniversalProfileInitPendingOwner =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'pendingOwner',
  })

/**
 * Wraps __{@link useReadContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"supportsInterface"`
 */
export const useReadUniversalProfileInitSupportsInterface =
  /*#__PURE__*/ createUseReadContract({
    abi: universalProfileInitAbi,
    functionName: 'supportsInterface',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__
 */
export const useWriteUniversalProfileInit =
  /*#__PURE__*/ createUseWriteContract({ abi: universalProfileInitAbi })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useWriteUniversalProfileInitAcceptOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useWriteUniversalProfileInitBatchCalls =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"execute"`
 */
export const useWriteUniversalProfileInitExecute =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useWriteUniversalProfileInitExecuteBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useWriteUniversalProfileInitInitialize =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useWriteUniversalProfileInitRenounceOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"setData"`
 */
export const useWriteUniversalProfileInitSetData =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useWriteUniversalProfileInitSetDataBatch =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useWriteUniversalProfileInitTransferOwnership =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useWriteContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useWriteUniversalProfileInitUniversalReceiver =
  /*#__PURE__*/ createUseWriteContract({
    abi: universalProfileInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__
 */
export const useSimulateUniversalProfileInit =
  /*#__PURE__*/ createUseSimulateContract({ abi: universalProfileInitAbi })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"acceptOwnership"`
 */
export const useSimulateUniversalProfileInitAcceptOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'acceptOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"batchCalls"`
 */
export const useSimulateUniversalProfileInitBatchCalls =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'batchCalls',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"execute"`
 */
export const useSimulateUniversalProfileInitExecute =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'execute',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"executeBatch"`
 */
export const useSimulateUniversalProfileInitExecuteBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'executeBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"initialize"`
 */
export const useSimulateUniversalProfileInitInitialize =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'initialize',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"renounceOwnership"`
 */
export const useSimulateUniversalProfileInitRenounceOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'renounceOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"setData"`
 */
export const useSimulateUniversalProfileInitSetData =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'setData',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"setDataBatch"`
 */
export const useSimulateUniversalProfileInitSetDataBatch =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'setDataBatch',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"transferOwnership"`
 */
export const useSimulateUniversalProfileInitTransferOwnership =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'transferOwnership',
  })

/**
 * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link universalProfileInitAbi}__ and `functionName` set to `"universalReceiver"`
 */
export const useSimulateUniversalProfileInitUniversalReceiver =
  /*#__PURE__*/ createUseSimulateContract({
    abi: universalProfileInitAbi,
    functionName: 'universalReceiver',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__
 */
export const useWatchUniversalProfileInitEvent =
  /*#__PURE__*/ createUseWatchContractEvent({ abi: universalProfileInitAbi })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"ContractCreated"`
 */
export const useWatchUniversalProfileInitContractCreatedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'ContractCreated',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"DataChanged"`
 */
export const useWatchUniversalProfileInitDataChangedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'DataChanged',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"Executed"`
 */
export const useWatchUniversalProfileInitExecutedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'Executed',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"Initialized"`
 */
export const useWatchUniversalProfileInitInitializedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'Initialized',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"OwnershipRenounced"`
 */
export const useWatchUniversalProfileInitOwnershipRenouncedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'OwnershipRenounced',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"OwnershipTransferStarted"`
 */
export const useWatchUniversalProfileInitOwnershipTransferStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'OwnershipTransferStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"OwnershipTransferred"`
 */
export const useWatchUniversalProfileInitOwnershipTransferredEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'OwnershipTransferred',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"RenounceOwnershipStarted"`
 */
export const useWatchUniversalProfileInitRenounceOwnershipStartedEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'RenounceOwnershipStarted',
  })

/**
 * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link universalProfileInitAbi}__ and `eventName` set to `"UniversalReceiver"`
 */
export const useWatchUniversalProfileInitUniversalReceiverEvent =
  /*#__PURE__*/ createUseWatchContractEvent({
    abi: universalProfileInitAbi,
    eventName: 'UniversalReceiver',
  })
