/** * AUTO-Generated Class: 2024-05-17 00:25 * Implementation: https://etherscan.io/address/0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401#code */ import di from 'a-di'; import { TAddress } from '@dequanto/models/TAddress'; import { TAccount } from '@dequanto/models/TAccount'; import { TBufferLike } from '@dequanto/models/TBufferLike'; import { ClientEventsStream, TClientEventsStreamData } from '@dequanto/clients/ClientEventsStream'; import { ContractBase } from '@dequanto/contracts/ContractBase'; import { ContractBaseUtils } from '@dequanto/contracts/utils/ContractBaseUtils'; import { ContractStorageReaderBase } from '@dequanto/contracts/ContractStorageReaderBase'; import { TxWriter } from '@dequanto/txs/TxWriter'; import { ITxLogItem } from '@dequanto/txs/receipt/ITxLogItem'; import { Web3Client } from '@dequanto/clients/Web3Client'; import { IBlockchainExplorer } from '@dequanto/explorer/IBlockchainExplorer'; import { SubjectStream } from '@dequanto/class/SubjectStream'; import type { ContractWriter } from '@dequanto/contracts/ContractWriter'; import type { TAbiItem } from '@dequanto/types/TAbi'; import type { TEth } from '@dequanto/models/TEth'; import type { TOverrideReturns } from '@dequanto/utils/types'; import { Etherscan } from '@dequanto/explorer/Etherscan' import { EthWeb3Client } from '@dequanto/clients/EthWeb3Client' export namespace EnsNameWrapperErrors { export interface CannotUpgrade { type: 'CannotUpgrade' params: { } } export interface IncompatibleParent { type: 'IncompatibleParent' params: { } } export interface IncorrectTargetOwner { type: 'IncorrectTargetOwner' params: { owner: TAddress } } export interface IncorrectTokenType { type: 'IncorrectTokenType' params: { } } export interface LabelMismatch { type: 'LabelMismatch' params: { labelHash: TEth.Hex expectedLabelhash: TEth.Hex } } export interface LabelTooLong { type: 'LabelTooLong' params: { label: string } } export interface LabelTooShort { type: 'LabelTooShort' params: { } } export interface NameIsNotWrapped { type: 'NameIsNotWrapped' params: { } } export interface OperationProhibited { type: 'OperationProhibited' params: { node: TEth.Hex } } export interface Unauthorised { type: 'Unauthorised' params: { node: TEth.Hex addr: TAddress } } export type Error = CannotUpgrade | IncompatibleParent | IncorrectTargetOwner | IncorrectTokenType | LabelMismatch | LabelTooLong | LabelTooShort | NameIsNotWrapped | OperationProhibited | Unauthorised } export class EnsNameWrapper extends ContractBase { constructor( public address: TEth.Address = '0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401', public client: Web3Client = di.resolve(EthWeb3Client, ), public explorer: IBlockchainExplorer = di.resolve(Etherscan, ), ) { super(address, client, explorer) this.storage = new EnsNameWrapperStorageReader(this.address, this.client, this.explorer); } Types: TEnsNameWrapperTypes; $meta = { "class": "./src/prebuilt/ens/EnsNameWrapper/EnsNameWrapper.ts" } async $constructor (deployer: TSender, _ens: TAddress, _registrar: TAddress, _metadataService: TAddress): Promise { throw new Error('Not implemented. Typing purpose. Use the ContractDeployer class to deploy the contract'); } // 0xed70554d async _tokens (input0: bigint): Promise { return this.$read(this.$getAbiItem('function', '_tokens'), input0); } // 0xadf4960a async allFusesBurned (node: TEth.Hex, fuseMask: number): Promise { return this.$read(this.$getAbiItem('function', 'allFusesBurned'), node, fuseMask); } // 0x095ea7b3 async approve (sender: TSender, to: TAddress, tokenId: bigint): Promise { return this.$write(this.$getAbiItem('function', 'approve'), sender, to, tokenId); } // 0x00fdd58e async balanceOf (account: TAddress, id: bigint): Promise { return this.$read(this.$getAbiItem('function', 'balanceOf'), account, id); } // 0x4e1273f4 async balanceOfBatch (accounts: TAddress[], ids: bigint[]): Promise { return this.$read(this.$getAbiItem('function', 'balanceOfBatch'), accounts, ids); } // 0x0e4cd725 async canExtendSubnames (node: TEth.Hex, addr: TAddress): Promise { return this.$read(this.$getAbiItem('function', 'canExtendSubnames'), node, addr); } // 0x41415eab async canModifyName (node: TEth.Hex, addr: TAddress): Promise { return this.$read(this.$getAbiItem('function', 'canModifyName'), node, addr); } // 0xda8c229e async controllers (input0: TAddress): Promise { return this.$read(this.$getAbiItem('function', 'controllers'), input0); } // 0x3f15457f async ens (): Promise { return this.$read(this.$getAbiItem('function', 'ens')); } // 0x6e5d6ad2 async extendExpiry (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, expiry: number): Promise { return this.$write(this.$getAbiItem('function', 'extendExpiry'), sender, parentNode, labelhash, expiry); } // 0x081812fc async getApproved (id: bigint): Promise { return this.$read(this.$getAbiItem('function', 'getApproved'), id); } // 0x0178fe3f async getData (id: bigint): Promise<{ owner: TAddress, fuses: number, expiry: number }> { return this.$read(this.$getAbiItem('function', 'getData'), id); } // 0xe985e9c5 async isApprovedForAll (account: TAddress, operator: TAddress): Promise { return this.$read(this.$getAbiItem('function', 'isApprovedForAll'), account, operator); } // 0xd9a50c12 async isWrapped (parentNode: TEth.Hex, labelhash: TEth.Hex): Promise // 0xfd0cd0d9 async isWrapped (node: TEth.Hex): Promise async isWrapped (...args): Promise { let abi = this.$getAbiItemOverload([ 'function isWrapped(bytes32, bytes32) returns bool', 'function isWrapped(bytes32) returns bool' ], args); return this.$read(abi, ...args); } // 0x53095467 async metadataService (): Promise { return this.$read(this.$getAbiItem('function', 'metadataService')); } // 0x06fdde03 async name (): Promise { return this.$read(this.$getAbiItem('function', 'name')); } // 0x20c38e2b async names (input0: TEth.Hex): Promise { return this.$read(this.$getAbiItem('function', 'names'), input0); } // 0x150b7a02 async onERC721Received (sender: TSender, to: TAddress, input1: TAddress, tokenId: bigint, data: TEth.Hex): Promise { return this.$write(this.$getAbiItem('function', 'onERC721Received'), sender, to, input1, tokenId, data); } // 0x8da5cb5b async owner (): Promise { return this.$read(this.$getAbiItem('function', 'owner')); } // 0x6352211e async ownerOf (id: bigint): Promise { return this.$read(this.$getAbiItem('function', 'ownerOf'), id); } // 0x5d3590d5 async recoverFunds (sender: TSender, _token: TAddress, _to: TAddress, _amount: bigint): Promise { return this.$write(this.$getAbiItem('function', 'recoverFunds'), sender, _token, _to, _amount); } // 0xa4014982 async registerAndWrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, duration: bigint, resolver: TAddress, ownerControlledFuses: number): Promise { return this.$write(this.$getAbiItem('function', 'registerAndWrapETH2LD'), sender, label, wrappedOwner, duration, resolver, ownerControlledFuses); } // 0x2b20e397 async registrar (): Promise { return this.$read(this.$getAbiItem('function', 'registrar')); } // 0xc475abff async renew (sender: TSender, tokenId: bigint, duration: bigint): Promise { return this.$write(this.$getAbiItem('function', 'renew'), sender, tokenId, duration); } // 0x715018a6 async renounceOwnership (sender: TSender, ): Promise { return this.$write(this.$getAbiItem('function', 'renounceOwnership'), sender); } // 0x2eb2c2d6 async safeBatchTransferFrom (sender: TSender, from: TAddress, to: TAddress, ids: bigint[], amounts: bigint[], data: TEth.Hex): Promise { return this.$write(this.$getAbiItem('function', 'safeBatchTransferFrom'), sender, from, to, ids, amounts, data); } // 0xf242432a async safeTransferFrom (sender: TSender, from: TAddress, to: TAddress, id: bigint, amount: bigint, data: TEth.Hex): Promise { return this.$write(this.$getAbiItem('function', 'safeTransferFrom'), sender, from, to, id, amount, data); } // 0xa22cb465 async setApprovalForAll (sender: TSender, operator: TAddress, approved: boolean): Promise { return this.$write(this.$getAbiItem('function', 'setApprovalForAll'), sender, operator, approved); } // 0x33c69ea9 async setChildFuses (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, fuses: number, expiry: number): Promise { return this.$write(this.$getAbiItem('function', 'setChildFuses'), sender, parentNode, labelhash, fuses, expiry); } // 0xe0dba60f async setController (sender: TSender, controller: TAddress, active: boolean): Promise { return this.$write(this.$getAbiItem('function', 'setController'), sender, controller, active); } // 0x402906fc async setFuses (sender: TSender, node: TEth.Hex, ownerControlledFuses: number): Promise { return this.$write(this.$getAbiItem('function', 'setFuses'), sender, node, ownerControlledFuses); } // 0x1534e177 async setMetadataService (sender: TSender, _metadataService: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'setMetadataService'), sender, _metadataService); } // 0xcf408823 async setRecord (sender: TSender, node: TEth.Hex, owner: TAddress, resolver: TAddress, ttl: number): Promise { return this.$write(this.$getAbiItem('function', 'setRecord'), sender, node, owner, resolver, ttl); } // 0x1896f70a async setResolver (sender: TSender, node: TEth.Hex, resolver: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'setResolver'), sender, node, resolver); } // 0xc658e086 async setSubnodeOwner (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, fuses: number, expiry: number): Promise { return this.$write(this.$getAbiItem('function', 'setSubnodeOwner'), sender, parentNode, label, owner, fuses, expiry); } // 0x24c1af44 async setSubnodeRecord (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, resolver: TAddress, ttl: number, fuses: number, expiry: number): Promise { return this.$write(this.$getAbiItem('function', 'setSubnodeRecord'), sender, parentNode, label, owner, resolver, ttl, fuses, expiry); } // 0x14ab9038 async setTTL (sender: TSender, node: TEth.Hex, ttl: number): Promise { return this.$write(this.$getAbiItem('function', 'setTTL'), sender, node, ttl); } // 0xb6bcad26 async setUpgradeContract (sender: TSender, _upgradeAddress: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'setUpgradeContract'), sender, _upgradeAddress); } // 0x01ffc9a7 async supportsInterface (interfaceId: TEth.Hex): Promise { return this.$read(this.$getAbiItem('function', 'supportsInterface'), interfaceId); } // 0xf2fde38b async transferOwnership (sender: TSender, newOwner: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'transferOwnership'), sender, newOwner); } // 0xd8c9921a async unwrap (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, controller: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'unwrap'), sender, parentNode, labelhash, controller); } // 0x8b4dfa75 async unwrapETH2LD (sender: TSender, labelhash: TEth.Hex, registrant: TAddress, controller: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'unwrapETH2LD'), sender, labelhash, registrant, controller); } // 0xc93ab3fd async upgrade (sender: TSender, name: TEth.Hex, extraData: TEth.Hex): Promise { return this.$write(this.$getAbiItem('function', 'upgrade'), sender, name, extraData); } // 0x1f4e1504 async upgradeContract (): Promise { return this.$read(this.$getAbiItem('function', 'upgradeContract')); } // 0x0e89341c async uri (tokenId: bigint): Promise { return this.$read(this.$getAbiItem('function', 'uri'), tokenId); } // 0xeb8ae530 async wrap (sender: TSender, name: TEth.Hex, wrappedOwner: TAddress, resolver: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'wrap'), sender, name, wrappedOwner, resolver); } // 0x8cf8b41e async wrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, ownerControlledFuses: number, resolver: TAddress): Promise { return this.$write(this.$getAbiItem('function', 'wrapETH2LD'), sender, label, wrappedOwner, ownerControlledFuses, resolver); } $call () { return super.$call() as IEnsNameWrapperTxCaller; } $signed (): TOverrideReturns> { return super.$signed() as any; } $data (): IEnsNameWrapperTxData { return super.$data() as IEnsNameWrapperTxData; } $gas (): TOverrideReturns> { return super.$gas() as any; } onTransaction (method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx block: TEth.Block calldata: { method: TMethod arguments: TEnsNameWrapperTypes['Methods'][TMethod]['arguments'] } }> { options ??= {}; options.filter ??= {}; options.filter.method = method; return this.$onTransaction(options); } onLog (event: keyof TEvents, cb?: (event: TClientEventsStreamData) => void): ClientEventsStream { return this.$onLog(event, cb); } async getPastLogs ( events: TEventName[] , options?: TEventLogOptions> ): Promise, TEventName>[]> async getPastLogs ( event: TEventName , options?: TEventLogOptions> ): Promise, TEventName>[]> async getPastLogs (mix: any, options?): Promise { return await super.getPastLogs(mix, options) as any; } onApproval (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('Approval', fn); } onApprovalForAll (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('ApprovalForAll', fn); } onControllerChanged (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('ControllerChanged', fn); } onExpiryExtended (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('ExpiryExtended', fn); } onFusesSet (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('FusesSet', fn); } onNameUnwrapped (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('NameUnwrapped', fn); } onNameWrapped (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('NameWrapped', fn); } onOwnershipTransferred (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('OwnershipTransferred', fn); } onTransferBatch (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('TransferBatch', fn); } onTransferSingle (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('TransferSingle', fn); } onURI (fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>> { return this.$onLog('URI', fn); } extractLogsApproval (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'Approval'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsApprovalForAll (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'ApprovalForAll'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsControllerChanged (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'ControllerChanged'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsExpiryExtended (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'ExpiryExtended'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsFusesSet (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'FusesSet'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsNameUnwrapped (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'NameUnwrapped'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsNameWrapped (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'NameWrapped'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsOwnershipTransferred (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'OwnershipTransferred'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsTransferBatch (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'TransferBatch'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsTransferSingle (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'TransferSingle'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } extractLogsURI (tx: TEth.TxReceipt): ITxLogItem>[] { let abi = this.$getAbiItem('event', 'URI'); return this.$extractLogs(tx, abi) as any as ITxLogItem>[]; } async getPastLogsApproval (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { owner?: TAddress,approved?: TAddress,tokenId?: bigint } }): Promise>[]> { return await this.$getPastLogsParsed('Approval', options) as any; } async getPastLogsApprovalForAll (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { account?: TAddress,operator?: TAddress } }): Promise>[]> { return await this.$getPastLogsParsed('ApprovalForAll', options) as any; } async getPastLogsControllerChanged (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { controller?: TAddress } }): Promise>[]> { return await this.$getPastLogsParsed('ControllerChanged', options) as any; } async getPastLogsExpiryExtended (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { node?: TEth.Hex } }): Promise>[]> { return await this.$getPastLogsParsed('ExpiryExtended', options) as any; } async getPastLogsFusesSet (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { node?: TEth.Hex } }): Promise>[]> { return await this.$getPastLogsParsed('FusesSet', options) as any; } async getPastLogsNameUnwrapped (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { node?: TEth.Hex } }): Promise>[]> { return await this.$getPastLogsParsed('NameUnwrapped', options) as any; } async getPastLogsNameWrapped (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { node?: TEth.Hex } }): Promise>[]> { return await this.$getPastLogsParsed('NameWrapped', options) as any; } async getPastLogsOwnershipTransferred (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { previousOwner?: TAddress,newOwner?: TAddress } }): Promise>[]> { return await this.$getPastLogsParsed('OwnershipTransferred', options) as any; } async getPastLogsTransferBatch (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { operator?: TAddress,from?: TAddress,to?: TAddress } }): Promise>[]> { return await this.$getPastLogsParsed('TransferBatch', options) as any; } async getPastLogsTransferSingle (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { operator?: TAddress,from?: TAddress,to?: TAddress } }): Promise>[]> { return await this.$getPastLogsParsed('TransferSingle', options) as any; } async getPastLogsURI (options?: { fromBlock?: number | Date toBlock?: number | Date params?: { } }): Promise>[]> { return await this.$getPastLogsParsed('URI', options) as any; } abi: TAbiItem[] = [{"inputs":[{"internalType":"contract ENS","name":"_ens","type":"address"},{"internalType":"contract IBaseRegistrar","name":"_registrar","type":"address"},{"internalType":"contract IMetadataService","name":"_metadataService","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CannotUpgrade","type":"error"},{"inputs":[],"name":"IncompatibleParent","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"IncorrectTargetOwner","type":"error"},{"inputs":[],"name":"IncorrectTokenType","type":"error"},{"inputs":[{"internalType":"bytes32","name":"labelHash","type":"bytes32"},{"internalType":"bytes32","name":"expectedLabelhash","type":"bytes32"}],"name":"LabelMismatch","type":"error"},{"inputs":[{"internalType":"string","name":"label","type":"string"}],"name":"LabelTooLong","type":"error"},{"inputs":[],"name":"LabelTooShort","type":"error"},{"inputs":[],"name":"NameIsNotWrapped","type":"error"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"OperationProhibited","type":"error"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"Unauthorised","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"controller","type":"address"},{"indexed":false,"internalType":"bool","name":"active","type":"bool"}],"name":"ControllerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"ExpiryExtended","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"fuses","type":"uint32"}],"name":"FusesSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"NameUnwrapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"node","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"name","type":"bytes"},{"indexed":false,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint32","name":"fuses","type":"uint32"},{"indexed":false,"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"NameWrapped","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"TransferBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferSingle","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_tokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint32","name":"fuseMask","type":"uint32"}],"name":"allFusesBurned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"canExtendSubnames","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"canModifyName","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"controllers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ens","outputs":[{"internalType":"contract ENS","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"bytes32","name":"labelhash","type":"bytes32"},{"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"extendExpiry","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getData","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"fuses","type":"uint32"},{"internalType":"uint64","name":"expiry","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"bytes32","name":"labelhash","type":"bytes32"}],"name":"isWrapped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"name":"isWrapped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadataService","outputs":[{"internalType":"contract IMetadataService","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"names","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"label","type":"string"},{"internalType":"address","name":"wrappedOwner","type":"address"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"uint16","name":"ownerControlledFuses","type":"uint16"}],"name":"registerAndWrapETH2LD","outputs":[{"internalType":"uint256","name":"registrarExpiry","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"registrar","outputs":[{"internalType":"contract IBaseRegistrar","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"renew","outputs":[{"internalType":"uint256","name":"expires","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeBatchTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"bytes32","name":"labelhash","type":"bytes32"},{"internalType":"uint32","name":"fuses","type":"uint32"},{"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"setChildFuses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"controller","type":"address"},{"internalType":"bool","name":"active","type":"bool"}],"name":"setController","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint16","name":"ownerControlledFuses","type":"uint16"}],"name":"setFuses","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IMetadataService","name":"_metadataService","type":"address"}],"name":"setMetadataService","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"uint64","name":"ttl","type":"uint64"}],"name":"setRecord","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"address","name":"resolver","type":"address"}],"name":"setResolver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"string","name":"label","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"fuses","type":"uint32"},{"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"setSubnodeOwner","outputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"string","name":"label","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"resolver","type":"address"},{"internalType":"uint64","name":"ttl","type":"uint64"},{"internalType":"uint32","name":"fuses","type":"uint32"},{"internalType":"uint64","name":"expiry","type":"uint64"}],"name":"setSubnodeRecord","outputs":[{"internalType":"bytes32","name":"node","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"node","type":"bytes32"},{"internalType":"uint64","name":"ttl","type":"uint64"}],"name":"setTTL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INameWrapperUpgrade","name":"_upgradeAddress","type":"address"}],"name":"setUpgradeContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"parentNode","type":"bytes32"},{"internalType":"bytes32","name":"labelhash","type":"bytes32"},{"internalType":"address","name":"controller","type":"address"}],"name":"unwrap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"labelhash","type":"bytes32"},{"internalType":"address","name":"registrant","type":"address"},{"internalType":"address","name":"controller","type":"address"}],"name":"unwrapETH2LD","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"name":"upgrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradeContract","outputs":[{"internalType":"contract INameWrapperUpgrade","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"name","type":"bytes"},{"internalType":"address","name":"wrappedOwner","type":"address"},{"internalType":"address","name":"resolver","type":"address"}],"name":"wrap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"label","type":"string"},{"internalType":"address","name":"wrappedOwner","type":"address"},{"internalType":"uint16","name":"ownerControlledFuses","type":"uint16"},{"internalType":"address","name":"resolver","type":"address"}],"name":"wrapETH2LD","outputs":[{"internalType":"uint64","name":"expiry","type":"uint64"}],"stateMutability":"nonpayable","type":"function"}] declare storage: EnsNameWrapperStorageReader } type TSender = TAccount & { value?: string | number | bigint } type TEventLogOptions = { fromBlock?: number | Date toBlock?: number | Date params?: TParams } export type TEnsNameWrapperTypes = { Events: { Approval: { outputParams: { owner: TAddress, approved: TAddress, tokenId: bigint }, outputArgs: [ owner: TAddress, approved: TAddress, tokenId: bigint ], } ApprovalForAll: { outputParams: { account: TAddress, operator: TAddress, approved: boolean }, outputArgs: [ account: TAddress, operator: TAddress, approved: boolean ], } ControllerChanged: { outputParams: { controller: TAddress, active: boolean }, outputArgs: [ controller: TAddress, active: boolean ], } ExpiryExtended: { outputParams: { node: TEth.Hex, expiry: number }, outputArgs: [ node: TEth.Hex, expiry: number ], } FusesSet: { outputParams: { node: TEth.Hex, fuses: number }, outputArgs: [ node: TEth.Hex, fuses: number ], } NameUnwrapped: { outputParams: { node: TEth.Hex, owner: TAddress }, outputArgs: [ node: TEth.Hex, owner: TAddress ], } NameWrapped: { outputParams: { node: TEth.Hex, name: TEth.Hex, owner: TAddress, fuses: number, expiry: number }, outputArgs: [ node: TEth.Hex, name: TEth.Hex, owner: TAddress, fuses: number, expiry: number ], } OwnershipTransferred: { outputParams: { previousOwner: TAddress, newOwner: TAddress }, outputArgs: [ previousOwner: TAddress, newOwner: TAddress ], } TransferBatch: { outputParams: { operator: TAddress, from: TAddress, to: TAddress, ids: bigint[], values: bigint[] }, outputArgs: [ operator: TAddress, from: TAddress, to: TAddress, ids: bigint[], values: bigint[] ], } TransferSingle: { outputParams: { operator: TAddress, from: TAddress, to: TAddress, id: bigint, value: bigint }, outputArgs: [ operator: TAddress, from: TAddress, to: TAddress, id: bigint, value: bigint ], } URI: { outputParams: { value: string, id: bigint }, outputArgs: [ value: string, id: bigint ], } }, Methods: { _tokens: { method: "_tokens" arguments: [ input0: bigint ] } allFusesBurned: { method: "allFusesBurned" arguments: [ node: TEth.Hex, fuseMask: number ] } approve: { method: "approve" arguments: [ to: TAddress, tokenId: bigint ] } balanceOf: { method: "balanceOf" arguments: [ account: TAddress, id: bigint ] } balanceOfBatch: { method: "balanceOfBatch" arguments: [ accounts: TAddress[], ids: bigint[] ] } canExtendSubnames: { method: "canExtendSubnames" arguments: [ node: TEth.Hex, addr: TAddress ] } canModifyName: { method: "canModifyName" arguments: [ node: TEth.Hex, addr: TAddress ] } controllers: { method: "controllers" arguments: [ input0: TAddress ] } ens: { method: "ens" arguments: [ ] } extendExpiry: { method: "extendExpiry" arguments: [ parentNode: TEth.Hex, labelhash: TEth.Hex, expiry: number ] } getApproved: { method: "getApproved" arguments: [ id: bigint ] } getData: { method: "getData" arguments: [ id: bigint ] } isApprovedForAll: { method: "isApprovedForAll" arguments: [ account: TAddress, operator: TAddress ] } isWrapped: { method: "isWrapped" arguments: [ parentNode: TEth.Hex, labelhash: TEth.Hex ] | [ node: TEth.Hex ] } metadataService: { method: "metadataService" arguments: [ ] } name: { method: "name" arguments: [ ] } names: { method: "names" arguments: [ input0: TEth.Hex ] } onERC721Received: { method: "onERC721Received" arguments: [ to: TAddress, input1: TAddress, tokenId: bigint, data: TEth.Hex ] } owner: { method: "owner" arguments: [ ] } ownerOf: { method: "ownerOf" arguments: [ id: bigint ] } recoverFunds: { method: "recoverFunds" arguments: [ _token: TAddress, _to: TAddress, _amount: bigint ] } registerAndWrapETH2LD: { method: "registerAndWrapETH2LD" arguments: [ label: string, wrappedOwner: TAddress, duration: bigint, resolver: TAddress, ownerControlledFuses: number ] } registrar: { method: "registrar" arguments: [ ] } renew: { method: "renew" arguments: [ tokenId: bigint, duration: bigint ] } renounceOwnership: { method: "renounceOwnership" arguments: [ ] } safeBatchTransferFrom: { method: "safeBatchTransferFrom" arguments: [ from: TAddress, to: TAddress, ids: bigint[], amounts: bigint[], data: TEth.Hex ] } safeTransferFrom: { method: "safeTransferFrom" arguments: [ from: TAddress, to: TAddress, id: bigint, amount: bigint, data: TEth.Hex ] } setApprovalForAll: { method: "setApprovalForAll" arguments: [ operator: TAddress, approved: boolean ] } setChildFuses: { method: "setChildFuses" arguments: [ parentNode: TEth.Hex, labelhash: TEth.Hex, fuses: number, expiry: number ] } setController: { method: "setController" arguments: [ controller: TAddress, active: boolean ] } setFuses: { method: "setFuses" arguments: [ node: TEth.Hex, ownerControlledFuses: number ] } setMetadataService: { method: "setMetadataService" arguments: [ _metadataService: TAddress ] } setRecord: { method: "setRecord" arguments: [ node: TEth.Hex, owner: TAddress, resolver: TAddress, ttl: number ] } setResolver: { method: "setResolver" arguments: [ node: TEth.Hex, resolver: TAddress ] } setSubnodeOwner: { method: "setSubnodeOwner" arguments: [ parentNode: TEth.Hex, label: string, owner: TAddress, fuses: number, expiry: number ] } setSubnodeRecord: { method: "setSubnodeRecord" arguments: [ parentNode: TEth.Hex, label: string, owner: TAddress, resolver: TAddress, ttl: number, fuses: number, expiry: number ] } setTTL: { method: "setTTL" arguments: [ node: TEth.Hex, ttl: number ] } setUpgradeContract: { method: "setUpgradeContract" arguments: [ _upgradeAddress: TAddress ] } supportsInterface: { method: "supportsInterface" arguments: [ interfaceId: TEth.Hex ] } transferOwnership: { method: "transferOwnership" arguments: [ newOwner: TAddress ] } unwrap: { method: "unwrap" arguments: [ parentNode: TEth.Hex, labelhash: TEth.Hex, controller: TAddress ] } unwrapETH2LD: { method: "unwrapETH2LD" arguments: [ labelhash: TEth.Hex, registrant: TAddress, controller: TAddress ] } upgrade: { method: "upgrade" arguments: [ name: TEth.Hex, extraData: TEth.Hex ] } upgradeContract: { method: "upgradeContract" arguments: [ ] } uri: { method: "uri" arguments: [ tokenId: bigint ] } wrap: { method: "wrap" arguments: [ name: TEth.Hex, wrappedOwner: TAddress, resolver: TAddress ] } wrapETH2LD: { method: "wrapETH2LD" arguments: [ label: string, wrappedOwner: TAddress, ownerControlledFuses: number, resolver: TAddress ] } } } class EnsNameWrapperStorageReader extends ContractStorageReaderBase { constructor( public address: TAddress, public client: Web3Client, public explorer: IBlockchainExplorer, ) { super(address, client, explorer); this.$createHandler(this.$slots); } async _owner(): Promise { return this.$storage.get(['_owner', ]); } async _tokens(key: bigint): Promise { return this.$storage.get(['_tokens', key]); } async _operatorApprovals(key: TAddress): Promise> { return this.$storage.get(['_operatorApprovals', key]); } async _tokenApprovals(key: bigint): Promise { return this.$storage.get(['_tokenApprovals', key]); } async controllers(key: TAddress): Promise { return this.$storage.get(['controllers', key]); } async metadataService(): Promise { return this.$storage.get(['metadataService', ]); } async names(key: TEth.Hex): Promise { return this.$storage.get(['names', key]); } async upgradeContract(): Promise { return this.$storage.get(['upgradeContract', ]); } $slots = [ { "slot": 0, "position": 0, "name": "_owner", "size": 160, "type": "address" }, { "slot": 1, "position": 0, "name": "_tokens", "size": null, "type": "mapping(uint256 => uint256)" }, { "slot": 2, "position": 0, "name": "_operatorApprovals", "size": null, "type": "mapping(address => mapping(address => bool))" }, { "slot": 3, "position": 0, "name": "_tokenApprovals", "size": null, "type": "mapping(uint256 => address)" }, { "slot": 4, "position": 0, "name": "controllers", "size": null, "type": "mapping(address => bool)" }, { "slot": 5, "position": 0, "name": "metadataService", "size": 160, "type": "address" }, { "slot": 6, "position": 0, "name": "names", "size": null, "type": "mapping(bytes32 => bytes)" }, { "slot": 7, "position": 0, "name": "upgradeContract", "size": 160, "type": "address" } ] } interface IEnsNameWrapperTxCaller { approve (sender: TSender, to: TAddress, tokenId: bigint): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> extendExpiry (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, expiry: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> onERC721Received (sender: TSender, to: TAddress, input1: TAddress, tokenId: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> recoverFunds (sender: TSender, _token: TAddress, _to: TAddress, _amount: bigint): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> registerAndWrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, duration: bigint, resolver: TAddress, ownerControlledFuses: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> renew (sender: TSender, tokenId: bigint, duration: bigint): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> renounceOwnership (sender: TSender, ): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> safeBatchTransferFrom (sender: TSender, from: TAddress, to: TAddress, ids: bigint[], amounts: bigint[], data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> safeTransferFrom (sender: TSender, from: TAddress, to: TAddress, id: bigint, amount: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setApprovalForAll (sender: TSender, operator: TAddress, approved: boolean): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setChildFuses (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, fuses: number, expiry: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setController (sender: TSender, controller: TAddress, active: boolean): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setFuses (sender: TSender, node: TEth.Hex, ownerControlledFuses: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setMetadataService (sender: TSender, _metadataService: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setRecord (sender: TSender, node: TEth.Hex, owner: TAddress, resolver: TAddress, ttl: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setResolver (sender: TSender, node: TEth.Hex, resolver: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setSubnodeOwner (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, fuses: number, expiry: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setSubnodeRecord (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, resolver: TAddress, ttl: number, fuses: number, expiry: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setTTL (sender: TSender, node: TEth.Hex, ttl: number): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> setUpgradeContract (sender: TSender, _upgradeAddress: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> transferOwnership (sender: TSender, newOwner: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> unwrap (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, controller: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> unwrapETH2LD (sender: TSender, labelhash: TEth.Hex, registrant: TAddress, controller: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> upgrade (sender: TSender, name: TEth.Hex, extraData: TEth.Hex): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> wrap (sender: TSender, name: TEth.Hex, wrappedOwner: TAddress, resolver: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> wrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, ownerControlledFuses: number, resolver: TAddress): Promise<{ error?: Error & { data?: { type: string, params } }, result? }> } interface IEnsNameWrapperTxData { approve (sender: TSender, to: TAddress, tokenId: bigint): Promise extendExpiry (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, expiry: number): Promise onERC721Received (sender: TSender, to: TAddress, input1: TAddress, tokenId: bigint, data: TEth.Hex): Promise recoverFunds (sender: TSender, _token: TAddress, _to: TAddress, _amount: bigint): Promise registerAndWrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, duration: bigint, resolver: TAddress, ownerControlledFuses: number): Promise renew (sender: TSender, tokenId: bigint, duration: bigint): Promise renounceOwnership (sender: TSender, ): Promise safeBatchTransferFrom (sender: TSender, from: TAddress, to: TAddress, ids: bigint[], amounts: bigint[], data: TEth.Hex): Promise safeTransferFrom (sender: TSender, from: TAddress, to: TAddress, id: bigint, amount: bigint, data: TEth.Hex): Promise setApprovalForAll (sender: TSender, operator: TAddress, approved: boolean): Promise setChildFuses (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, fuses: number, expiry: number): Promise setController (sender: TSender, controller: TAddress, active: boolean): Promise setFuses (sender: TSender, node: TEth.Hex, ownerControlledFuses: number): Promise setMetadataService (sender: TSender, _metadataService: TAddress): Promise setRecord (sender: TSender, node: TEth.Hex, owner: TAddress, resolver: TAddress, ttl: number): Promise setResolver (sender: TSender, node: TEth.Hex, resolver: TAddress): Promise setSubnodeOwner (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, fuses: number, expiry: number): Promise setSubnodeRecord (sender: TSender, parentNode: TEth.Hex, label: string, owner: TAddress, resolver: TAddress, ttl: number, fuses: number, expiry: number): Promise setTTL (sender: TSender, node: TEth.Hex, ttl: number): Promise setUpgradeContract (sender: TSender, _upgradeAddress: TAddress): Promise transferOwnership (sender: TSender, newOwner: TAddress): Promise unwrap (sender: TSender, parentNode: TEth.Hex, labelhash: TEth.Hex, controller: TAddress): Promise unwrapETH2LD (sender: TSender, labelhash: TEth.Hex, registrant: TAddress, controller: TAddress): Promise upgrade (sender: TSender, name: TEth.Hex, extraData: TEth.Hex): Promise wrap (sender: TSender, name: TEth.Hex, wrappedOwner: TAddress, resolver: TAddress): Promise wrapETH2LD (sender: TSender, label: string, wrappedOwner: TAddress, ownerControlledFuses: number, resolver: TAddress): Promise } type TEvents = TEnsNameWrapperTypes['Events']; type TEventParams = Partial; type TEventArguments = Partial;