import { TAddress } from 'dequanto/models/TAddress'; import { TAccount } from 'dequanto/models/TAccount'; import { ClientEventsStream, TClientEventsStreamData } from 'dequanto/clients/ClientEventsStream'; import { ContractBase } from 'dequanto/contracts/ContractBase'; 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 { TAbiItem } from 'dequanto/types/TAbi'; import type { TEth } from 'dequanto/models/TEth'; import type { TOverrideReturns } from 'dequanto/utils/types'; export declare class EnsBaseRegistrar extends ContractBase { address: TEth.Address; client: Web3Client; explorer: IBlockchainExplorer; constructor(address?: TEth.Address, client?: Web3Client, explorer?: IBlockchainExplorer); Types: TEnsBaseRegistrarTypes; $meta: { class: string; }; $constructor(deployer: TSender, _ens: TAddress, _baseNode: TEth.Hex): Promise; GRACE_PERIOD(): Promise; addController(sender: TSender, controller: TAddress): Promise; approve(sender: TSender, to: TAddress, tokenId: bigint): Promise; available(id: bigint): Promise; balanceOf(owner: TAddress): Promise; baseNode(): Promise; controllers(input0: TAddress): Promise; ens(): Promise; getApproved(tokenId: bigint): Promise; isApprovedForAll(owner: TAddress, operator: TAddress): Promise; isOwner(): Promise; nameExpires(id: bigint): Promise; owner(): Promise; ownerOf(tokenId: bigint): Promise; reclaim(sender: TSender, id: bigint, owner: TAddress): Promise; register(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise; registerOnly(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise; removeController(sender: TSender, controller: TAddress): Promise; renew(sender: TSender, id: bigint, duration: bigint): Promise; renounceOwnership(sender: TSender): Promise; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint, _data: TEth.Hex): Promise; setApprovalForAll(sender: TSender, to: TAddress, approved: boolean): Promise; setResolver(sender: TSender, resolver: TAddress): Promise; supportsInterface(interfaceID: TEth.Hex): Promise; transferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise; transferOwnership(sender: TSender, newOwner: TAddress): Promise; $call(): IEnsBaseRegistrarTxCaller; $signed(): TOverrideReturns>; $data(): IEnsBaseRegistrarTxData; $gas(): TOverrideReturns>; onTransaction(method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx; block: TEth.Block; calldata: { method: TMethod; arguments: TEnsBaseRegistrarTypes['Methods'][TMethod]['arguments']; }; }>; onLog(event: keyof TEvents, cb?: (event: TClientEventsStreamData) => void): ClientEventsStream; getPastLogs(events: TEventName[], options?: TEventLogOptions>): Promise, TEventName>[]>; getPastLogs(event: TEventName, options?: TEventLogOptions>): Promise, TEventName>[]>; onApproval(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onApprovalForAll(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onControllerAdded(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onControllerRemoved(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNameMigrated(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNameRegistered(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onNameRenewed(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onOwnershipTransferred(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onTransfer(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; extractLogsApproval(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsApprovalForAll(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsControllerAdded(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsControllerRemoved(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNameMigrated(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNameRegistered(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsNameRenewed(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsOwnershipTransferred(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsTransfer(tx: TEth.TxReceipt): ITxLogItem>[]; getPastLogsApproval(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { owner?: TAddress; approved?: TAddress; tokenId?: bigint; }; }): Promise>[]>; getPastLogsApprovalForAll(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { owner?: TAddress; operator?: TAddress; }; }): Promise>[]>; getPastLogsControllerAdded(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { controller?: TAddress; }; }): Promise>[]>; getPastLogsControllerRemoved(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { controller?: TAddress; }; }): Promise>[]>; getPastLogsNameMigrated(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { id?: bigint; owner?: TAddress; }; }): Promise>[]>; getPastLogsNameRegistered(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { id?: bigint; owner?: TAddress; }; }): Promise>[]>; getPastLogsNameRenewed(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { id?: bigint; }; }): Promise>[]>; getPastLogsOwnershipTransferred(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { previousOwner?: TAddress; newOwner?: TAddress; }; }): Promise>[]>; getPastLogsTransfer(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { from?: TAddress; to?: TAddress; tokenId?: bigint; }; }): Promise>[]>; abi: TAbiItem[]; storage: EnsBaseRegistrarStorageReader; } type TSender = TAccount & { value?: string | number | bigint; }; type TEventLogOptions = { fromBlock?: number | Date; toBlock?: number | Date; params?: TParams; }; export type TEnsBaseRegistrarTypes = { Events: { Approval: { outputParams: { owner: TAddress; approved: TAddress; tokenId: bigint; }; outputArgs: [owner: TAddress, approved: TAddress, tokenId: bigint]; }; ApprovalForAll: { outputParams: { owner: TAddress; operator: TAddress; approved: boolean; }; outputArgs: [owner: TAddress, operator: TAddress, approved: boolean]; }; ControllerAdded: { outputParams: { controller: TAddress; }; outputArgs: [controller: TAddress]; }; ControllerRemoved: { outputParams: { controller: TAddress; }; outputArgs: [controller: TAddress]; }; NameMigrated: { outputParams: { id: bigint; owner: TAddress; expires: bigint; }; outputArgs: [id: bigint, owner: TAddress, expires: bigint]; }; NameRegistered: { outputParams: { id: bigint; owner: TAddress; expires: bigint; }; outputArgs: [id: bigint, owner: TAddress, expires: bigint]; }; NameRenewed: { outputParams: { id: bigint; expires: bigint; }; outputArgs: [id: bigint, expires: bigint]; }; OwnershipTransferred: { outputParams: { previousOwner: TAddress; newOwner: TAddress; }; outputArgs: [previousOwner: TAddress, newOwner: TAddress]; }; Transfer: { outputParams: { from: TAddress; to: TAddress; tokenId: bigint; }; outputArgs: [from: TAddress, to: TAddress, tokenId: bigint]; }; }; Methods: { GRACE_PERIOD: { method: "GRACE_PERIOD"; arguments: []; }; addController: { method: "addController"; arguments: [controller: TAddress]; }; approve: { method: "approve"; arguments: [to: TAddress, tokenId: bigint]; }; available: { method: "available"; arguments: [id: bigint]; }; balanceOf: { method: "balanceOf"; arguments: [owner: TAddress]; }; baseNode: { method: "baseNode"; arguments: []; }; controllers: { method: "controllers"; arguments: [input0: TAddress]; }; ens: { method: "ens"; arguments: []; }; getApproved: { method: "getApproved"; arguments: [tokenId: bigint]; }; isApprovedForAll: { method: "isApprovedForAll"; arguments: [owner: TAddress, operator: TAddress]; }; isOwner: { method: "isOwner"; arguments: []; }; nameExpires: { method: "nameExpires"; arguments: [id: bigint]; }; owner: { method: "owner"; arguments: []; }; ownerOf: { method: "ownerOf"; arguments: [tokenId: bigint]; }; reclaim: { method: "reclaim"; arguments: [id: bigint, owner: TAddress]; }; register: { method: "register"; arguments: [id: bigint, owner: TAddress, duration: bigint]; }; registerOnly: { method: "registerOnly"; arguments: [id: bigint, owner: TAddress, duration: bigint]; }; removeController: { method: "removeController"; arguments: [controller: TAddress]; }; renew: { method: "renew"; arguments: [id: bigint, duration: bigint]; }; renounceOwnership: { method: "renounceOwnership"; arguments: []; }; safeTransferFrom: { method: "safeTransferFrom"; arguments: [from: TAddress, to: TAddress, tokenId: bigint] | [from: TAddress, to: TAddress, tokenId: bigint, _data: TEth.Hex]; }; setApprovalForAll: { method: "setApprovalForAll"; arguments: [to: TAddress, approved: boolean]; }; setResolver: { method: "setResolver"; arguments: [resolver: TAddress]; }; supportsInterface: { method: "supportsInterface"; arguments: [interfaceID: TEth.Hex]; }; transferFrom: { method: "transferFrom"; arguments: [from: TAddress, to: TAddress, tokenId: bigint]; }; transferOwnership: { method: "transferOwnership"; arguments: [newOwner: TAddress]; }; }; }; declare class EnsBaseRegistrarStorageReader extends ContractStorageReaderBase { address: TAddress; client: Web3Client; explorer: IBlockchainExplorer; constructor(address: TAddress, client: Web3Client, explorer: IBlockchainExplorer); _owner(): Promise; ens(): Promise; baseNode(): Promise; controllers(key: TAddress): Promise; _supportedInterfaces(key: TEth.Hex): Promise; _tokenOwner(key: bigint): Promise; _tokenApprovals(key: bigint): Promise; _ownedTokensCount(key: TAddress): Promise; _operatorApprovals(key: TAddress): Promise>; expiries(key: bigint): Promise; $slots: { slot: number; position: number; name: string; size: number; type: string; }[]; } interface IEnsBaseRegistrarTxCaller { addController(sender: TSender, controller: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; approve(sender: TSender, to: TAddress, tokenId: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; reclaim(sender: TSender, id: bigint, owner: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; register(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; registerOnly(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; removeController(sender: TSender, controller: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; renew(sender: TSender, id: bigint, duration: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; renounceOwnership(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint, _data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; setApprovalForAll(sender: TSender, to: TAddress, approved: boolean): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; setResolver(sender: TSender, resolver: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; transferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; transferOwnership(sender: TSender, newOwner: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; } interface IEnsBaseRegistrarTxData { addController(sender: TSender, controller: TAddress): Promise; approve(sender: TSender, to: TAddress, tokenId: bigint): Promise; reclaim(sender: TSender, id: bigint, owner: TAddress): Promise; register(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise; registerOnly(sender: TSender, id: bigint, owner: TAddress, duration: bigint): Promise; removeController(sender: TSender, controller: TAddress): Promise; renew(sender: TSender, id: bigint, duration: bigint): Promise; renounceOwnership(sender: TSender): Promise; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise; safeTransferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint, _data: TEth.Hex): Promise; setApprovalForAll(sender: TSender, to: TAddress, approved: boolean): Promise; setResolver(sender: TSender, resolver: TAddress): Promise; transferFrom(sender: TSender, from: TAddress, to: TAddress, tokenId: bigint): Promise; transferOwnership(sender: TSender, newOwner: TAddress): Promise; } type TEvents = TEnsBaseRegistrarTypes['Events']; type TEventParams = Partial; type TEventArguments = Partial; export {};