UNPKG

@ethereum-tag-service/contracts

Version:

Composable content tagging service for Web3

1 lines 214 kB
{"version":3,"sources":["../src/contracts.ts"],"sourcesContent":["//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// AirnodeRrpV0Proxy\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x89C20aDAaadaBd7f320E53b08403817e5BD75621)\n * -\n */\nexport const airnodeRrpV0ProxyAbi = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'templateId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'endpointId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'parameters',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'CreatedTemplate',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'requestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'errorMessage',\n internalType: 'string',\n type: 'string',\n indexed: false,\n },\n ],\n name: 'FailedRequest',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'requestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false },\n ],\n name: 'FulfilledRequest',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sponsor',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'withdrawalRequestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'sponsorWallet',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'FulfilledWithdrawal',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'requestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'requesterRequestCount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'chainId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'requester',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'endpointId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'sponsor',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'sponsorWallet',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fulfillAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fulfillFunctionId',\n internalType: 'bytes4',\n type: 'bytes4',\n indexed: false,\n },\n {\n name: 'parameters',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'MadeFullRequest',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'requestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'requesterRequestCount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'chainId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'requester',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'templateId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: false,\n },\n {\n name: 'sponsor',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'sponsorWallet',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fulfillAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'fulfillFunctionId',\n internalType: 'bytes4',\n type: 'bytes4',\n indexed: false,\n },\n {\n name: 'parameters',\n internalType: 'bytes',\n type: 'bytes',\n indexed: false,\n },\n ],\n name: 'MadeTemplateRequest',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'airnode',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sponsor',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'withdrawalRequestId',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'sponsorWallet',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'RequestedWithdrawal',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'sponsor',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'requester',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sponsorshipStatus',\n internalType: 'bool',\n type: 'bool',\n indexed: false,\n },\n ],\n name: 'SetSponsorshipStatus',\n },\n {\n type: 'function',\n inputs: [\n { name: 'authorizers', internalType: 'address[]', type: 'address[]' },\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'requestId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'endpointId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sponsor', internalType: 'address', type: 'address' },\n { name: 'requester', internalType: 'address', type: 'address' },\n ],\n name: 'checkAuthorizationStatus',\n outputs: [{ name: 'status', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'authorizers', internalType: 'address[]', type: 'address[]' },\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'requestIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'endpointIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'sponsors', internalType: 'address[]', type: 'address[]' },\n { name: 'requesters', internalType: 'address[]', type: 'address[]' },\n ],\n name: 'checkAuthorizationStatuses',\n outputs: [{ name: 'statuses', internalType: 'bool[]', type: 'bool[]' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'endpointId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'parameters', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'createTemplate',\n outputs: [{ name: 'templateId', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'requestId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'fulfillAddress', internalType: 'address', type: 'address' },\n { name: 'fulfillFunctionId', internalType: 'bytes4', type: 'bytes4' },\n { name: 'errorMessage', internalType: 'string', type: 'string' },\n ],\n name: 'fail',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'requestId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'fulfillAddress', internalType: 'address', type: 'address' },\n { name: 'fulfillFunctionId', internalType: 'bytes4', type: 'bytes4' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n { name: 'signature', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'fulfill',\n outputs: [\n { name: 'callSuccess', internalType: 'bool', type: 'bool' },\n { name: 'callData', internalType: 'bytes', type: 'bytes' },\n ],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'withdrawalRequestId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'sponsor', internalType: 'address', type: 'address' },\n ],\n name: 'fulfillWithdrawal',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'templateIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n ],\n name: 'getTemplates',\n outputs: [\n { name: 'airnodes', internalType: 'address[]', type: 'address[]' },\n { name: 'endpointIds', internalType: 'bytes32[]', type: 'bytes32[]' },\n { name: 'parameters', internalType: 'bytes[]', type: 'bytes[]' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'endpointId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sponsor', internalType: 'address', type: 'address' },\n { name: 'sponsorWallet', internalType: 'address', type: 'address' },\n { name: 'fulfillAddress', internalType: 'address', type: 'address' },\n { name: 'fulfillFunctionId', internalType: 'bytes4', type: 'bytes4' },\n { name: 'parameters', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'makeFullRequest',\n outputs: [{ name: 'requestId', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'templateId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'sponsor', internalType: 'address', type: 'address' },\n { name: 'sponsorWallet', internalType: 'address', type: 'address' },\n { name: 'fulfillAddress', internalType: 'address', type: 'address' },\n { name: 'fulfillFunctionId', internalType: 'bytes4', type: 'bytes4' },\n { name: 'parameters', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'makeTemplateRequest',\n outputs: [{ name: 'requestId', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: 'requestId', internalType: 'bytes32', type: 'bytes32' }],\n name: 'requestIsAwaitingFulfillment',\n outputs: [\n { name: 'isAwaitingFulfillment', internalType: 'bool', type: 'bool' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'sponsorWallet', internalType: 'address', type: 'address' },\n ],\n name: 'requestWithdrawal',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'requesterToRequestCountPlusOne',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'requester', internalType: 'address', type: 'address' },\n { name: 'sponsorshipStatus', internalType: 'bool', type: 'bool' },\n ],\n name: 'setSponsorshipStatus',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '', internalType: 'address', type: 'address' },\n { name: '', internalType: 'address', type: 'address' },\n ],\n name: 'sponsorToRequesterToSponsorshipStatus',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'sponsorToWithdrawalRequestCount',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n name: 'templates',\n outputs: [\n { name: 'airnode', internalType: 'address', type: 'address' },\n { name: 'endpointId', internalType: 'bytes32', type: 'bytes32' },\n { name: 'parameters', internalType: 'bytes', type: 'bytes' },\n ],\n stateMutability: 'view',\n },\n] as const\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x89C20aDAaadaBd7f320E53b08403817e5BD75621)\n * -\n */\nexport const airnodeRrpV0ProxyAddress = {\n 31337: '0x8A791620dd6260079BF849Dc5567aDC3F2FdC318',\n '84532_staging': '0x89C20aDAaadaBd7f320E53b08403817e5BD75621',\n '31337_localhost': '0x8A791620dd6260079BF849Dc5567aDC3F2FdC318',\n} as const\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x89C20aDAaadaBd7f320E53b08403817e5BD75621)\n * -\n */\nexport const airnodeRrpV0ProxyConfig = {\n address: airnodeRrpV0ProxyAddress,\n abi: airnodeRrpV0ProxyAbi,\n} as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ETS\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x36f564ec1c7E9f9c7A6EE66e9d4f4BdD01749727)\n * -\n */\nexport const etsAbi = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'newAccessControls',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AccessControlsSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'who', internalType: 'address', type: 'address', indexed: true },\n {\n name: 'amount',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'FundsWithdrawn',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'platformPercentage',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'relayerPercentage',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'PercentagesSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'newTaggingFee',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TaggingFeeSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'taggingRecordId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n ],\n name: 'TaggingRecordCreated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'taggingRecordId',\n internalType: 'uint256',\n type: 'uint256',\n indexed: false,\n },\n {\n name: 'action',\n internalType: 'enum IETS.TaggingAction',\n type: 'uint8',\n indexed: false,\n },\n ],\n name: 'TaggingRecordUpdated',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'function',\n inputs: [],\n name: 'MODULO',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'accrued',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_taggingRecordId', internalType: 'uint256', type: 'uint256' },\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'appendTags',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_tagger', internalType: 'address payable', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'applyTagsWithCompositeKey',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_tagger', internalType: 'address payable', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'applyTagsWithRawInput',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_taggingRecordId', internalType: 'uint256', type: 'uint256' },\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n {\n name: '_action',\n internalType: 'enum IETS.TaggingAction',\n type: 'uint8',\n },\n ],\n name: 'computeTaggingFee',\n outputs: [\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n { name: 'tagCount', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n {\n name: '_action',\n internalType: 'enum IETS.TaggingAction',\n type: 'uint8',\n },\n ],\n name: 'computeTaggingFeeFromCompositeKey',\n outputs: [\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n { name: 'tagCount', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n {\n name: '_action',\n internalType: 'enum IETS.TaggingAction',\n type: 'uint8',\n },\n ],\n name: 'computeTaggingFeeFromRawInput',\n outputs: [\n { name: 'fee', internalType: 'uint256', type: 'uint256' },\n { name: 'tagCount', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'computeTaggingRecordIdFromCompositeKey',\n outputs: [\n { name: 'taggingRecordId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'pure',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'computeTaggingRecordIdFromRawInput',\n outputs: [\n { name: 'taggingRecordId', internalType: 'uint256', type: 'uint256' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tag', internalType: 'string', type: 'string' },\n { name: '_creator', internalType: 'address payable', type: 'address' },\n ],\n name: 'createTag',\n outputs: [{ name: '_tokenId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'createTaggingRecord',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_account', internalType: 'address payable', type: 'address' },\n ],\n name: 'drawDown',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'etsAccessControls',\n outputs: [\n {\n name: '',\n internalType: 'contract IETSAccessControls',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'etsTarget',\n outputs: [\n { name: '', internalType: 'contract IETSTarget', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'etsToken',\n outputs: [\n { name: '', internalType: 'contract IETSToken', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tag', internalType: 'string', type: 'string' },\n { name: '_creator', internalType: 'address payable', type: 'address' },\n ],\n name: 'getOrCreateTagId',\n outputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'getTaggingRecordFromCompositeKey',\n outputs: [\n { name: 'tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'targetId', internalType: 'uint256', type: 'uint256' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n { name: 'relayer', internalType: 'address', type: 'address' },\n { name: 'tagger', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_id', internalType: 'uint256', type: 'uint256' }],\n name: 'getTaggingRecordFromId',\n outputs: [\n { name: 'tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'targetId', internalType: 'uint256', type: 'uint256' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n { name: 'relayer', internalType: 'address', type: 'address' },\n { name: 'tagger', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'getTaggingRecordFromRawInput',\n outputs: [\n { name: 'tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: 'targetId', internalType: 'uint256', type: 'uint256' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n { name: 'relayer', internalType: 'address', type: 'address' },\n { name: 'tagger', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_etsAccessControls',\n internalType: 'contract IETSAccessControls',\n type: 'address',\n },\n {\n name: '_etsToken',\n internalType: 'contract IETSToken',\n type: 'address',\n },\n {\n name: '_etsTarget',\n internalType: 'contract IETSTarget',\n type: 'address',\n },\n { name: '_taggingFee', internalType: 'uint256', type: 'uint256' },\n { name: '_platformPercentage', internalType: 'uint256', type: 'uint256' },\n { name: '_relayerPercentage', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'address', type: 'address' }],\n name: 'paid',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'platformPercentage',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'relayerPercentage',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_taggingRecordId', internalType: 'uint256', type: 'uint256' },\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'removeTags',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_tagger', internalType: 'address payable', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'removeTagsWithCompositeKey',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_tagger', internalType: 'address', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'removeTagsWithRawInput',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_taggingRecordId', internalType: 'uint256', type: 'uint256' },\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'replaceTags',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_tagIds', internalType: 'uint256[]', type: 'uint256[]' },\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_tagger', internalType: 'address payable', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'replaceTagsWithCompositeKey',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_tagger', internalType: 'address payable', type: 'address' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n ],\n name: 'replaceTagsWithRawInput',\n outputs: [],\n stateMutability: 'payable',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_accessControls',\n internalType: 'contract IETSAccessControls',\n type: 'address',\n },\n ],\n name: 'setAccessControls',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: '_platformPercentage', internalType: 'uint256', type: 'uint256' },\n { name: '_relayerPercentage', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'setPercentages',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_fee', internalType: 'uint256', type: 'uint256' }],\n name: 'setTaggingFee',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'taggingFee',\n outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_taggingRecordId', internalType: 'uint256', type: 'uint256' },\n ],\n name: 'taggingRecordExists',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_targetId', internalType: 'uint256', type: 'uint256' },\n { name: '_recordType', internalType: 'string', type: 'string' },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'taggingRecordExistsByCompositeKey',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n {\n name: '_rawInput',\n internalType: 'struct IETS.TaggingRecordRawInput',\n type: 'tuple',\n components: [\n { name: 'targetURI', internalType: 'string', type: 'string' },\n { name: 'tagStrings', internalType: 'string[]', type: 'string[]' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n ],\n },\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_tagger', internalType: 'address', type: 'address' },\n ],\n name: 'taggingRecordExistsByRawInput',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }],\n name: 'taggingRecords',\n outputs: [\n { name: 'targetId', internalType: 'uint256', type: 'uint256' },\n { name: 'recordType', internalType: 'string', type: 'string' },\n { name: 'relayer', internalType: 'address', type: 'address' },\n { name: 'tagger', internalType: 'address', type: 'address' },\n ],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_account', internalType: 'address', type: 'address' }],\n name: 'totalDue',\n outputs: [{ name: '_due', internalType: 'uint256', type: 'uint256' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n ],\n name: 'upgradeTo',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'newImplementation', internalType: 'address', type: 'address' },\n { name: 'data', internalType: 'bytes', type: 'bytes' },\n ],\n name: 'upgradeToAndCall',\n outputs: [],\n stateMutability: 'payable',\n },\n] as const\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x36f564ec1c7E9f9c7A6EE66e9d4f4BdD01749727)\n * -\n */\nexport const etsAddress = {\n 31337: '0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82',\n 84532: '0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7',\n '84532_production': '0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7',\n '84532_staging': '0x36f564ec1c7E9f9c7A6EE66e9d4f4BdD01749727',\n '31337_localhost': '0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82',\n} as const\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x5Cc5Dc14e1538db983Fc5FD34B27A42a598903E7)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x36f564ec1c7E9f9c7A6EE66e9d4f4BdD01749727)\n * -\n */\nexport const etsConfig = { address: etsAddress, abi: etsAbi } as const\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// ETSAccessControls\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * -\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x0fc811716E400415Be9857F357B174835B1EBb58)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x0fc811716E400415Be9857F357B174835B1EBb58)\n * - [__View Contract on Base Sepolia Basescan__](https://sepolia.basescan.org/address/0x944cdA63A16DC5Be8269f937805f2f6c689CC312)\n * -\n */\nexport const etsAccessControlsAbi = [\n { type: 'constructor', inputs: [], stateMutability: 'nonpayable' },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'previousAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'newAdmin',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'AdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'beacon',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'BeaconUpgraded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false },\n ],\n name: 'Initialized',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'newAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n {\n name: 'prevAddress',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'PlatformSet',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'relayer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'RelayerAdded',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'relayer',\n internalType: 'address',\n type: 'address',\n indexed: false,\n },\n ],\n name: 'RelayerLockToggled',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'previousAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n {\n name: 'newAdminRole',\n internalType: 'bytes32',\n type: 'bytes32',\n indexed: true,\n },\n ],\n name: 'RoleAdminChanged',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleGranted',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32', indexed: true },\n {\n name: 'account',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n {\n name: 'sender',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'RoleRevoked',\n },\n {\n type: 'event',\n anonymous: false,\n inputs: [\n {\n name: 'implementation',\n internalType: 'address',\n type: 'address',\n indexed: true,\n },\n ],\n name: 'Upgraded',\n },\n {\n type: 'function',\n inputs: [],\n name: 'AUCTION_ORACLE_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'DEFAULT_ADMIN_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'NAME',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'RELAYER_ADMIN_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'RELAYER_FACTORY_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'RELAYER_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'SMART_CONTRACT_ROLE',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [],\n name: 'VERSION',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_currentOwner', internalType: 'address', type: 'address' },\n { name: '_newOwner', internalType: 'address', type: 'address' },\n ],\n name: 'changeRelayerOwner',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'getPlatformAddress',\n outputs: [{ name: '', internalType: 'address payable', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_name', internalType: 'string', type: 'string' }],\n name: 'getRelayerAddressFromName',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_address', internalType: 'address', type: 'address' }],\n name: 'getRelayerAddressFromOwner',\n outputs: [{ name: '', internalType: 'address', type: 'address' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_address', internalType: 'address', type: 'address' }],\n name: 'getRelayerNameFromAddress',\n outputs: [{ name: '', internalType: 'string', type: 'string' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: 'role', internalType: 'bytes32', type: 'bytes32' }],\n name: 'getRoleAdmin',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'grantRole',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [\n { name: 'role', internalType: 'bytes32', type: 'bytes32' },\n { name: 'account', internalType: 'address', type: 'address' },\n ],\n name: 'hasRole',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_platformAddress', internalType: 'address', type: 'address' },\n ],\n name: 'initialize',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isAdmin',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isAuctionOracle',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayer',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerAdmin',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerAndNotPaused',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerByAddress',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_name', internalType: 'string', type: 'string' }],\n name: 'isRelayerByName',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerByOwner',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerFactory',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isRelayerLocked',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [{ name: '_addr', internalType: 'address', type: 'address' }],\n name: 'isSmartContract',\n outputs: [{ name: '', internalType: 'bool', type: 'bool' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_relayerOwner', internalType: 'address', type: 'address' },\n ],\n name: 'pauseRelayerByOwnerAddress',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inputs: [],\n name: 'proxiableUUID',\n outputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }],\n stateMutability: 'view',\n },\n {\n type: 'function',\n inputs: [\n { name: '_relayer', internalType: 'address', type: 'address' },\n { name: '_name', internalType: 'string', type: 'string' },\n { name: '_owner', internalType: 'address', type: 'address' },\n ],\n name: 'registerRelayer',\n outputs: [],\n stateMutability: 'nonpayable',\n },\n {\n type: 'function',\n inp