import type { EventFragment, FunctionFragment, Result } from '@ethersproject/abi'; import { Interface } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/abstract-provider'; import type { Signer } from '@ethersproject/abstract-signer'; import type { BigNumber, BigNumberish } from '@ethersproject/bignumber'; import type { BytesLike } from '@ethersproject/bytes'; import type { BaseContract, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction } from '@ethersproject/contracts'; import type { OnEvent, PromiseOrValue, TypedEvent, TypedEventFilter, TypedListener } from './common'; export declare namespace DNSSEC { type RRSetWithSignatureStruct = { rrset: PromiseOrValue; sig: PromiseOrValue; }; type RRSetWithSignatureStructOutput = [string, string] & { rrset: string; sig: string; }; } export interface DNSSECImplInterface extends Interface { functions: { 'algorithms(uint8)': FunctionFragment; 'anchors()': FunctionFragment; 'deleteRRSet(uint16,bytes,(bytes,bytes),bytes)': FunctionFragment; 'deleteRRSetNSEC3(uint16,bytes,(bytes,bytes),(bytes,bytes),bytes)': FunctionFragment; 'digests(uint8)': FunctionFragment; 'nsec3Digests(uint8)': FunctionFragment; 'owner()': FunctionFragment; 'rrdata(uint16,bytes)': FunctionFragment; 'setAlgorithm(uint8,address)': FunctionFragment; 'setDigest(uint8,address)': FunctionFragment; 'setNSEC3Digest(uint8,address)': FunctionFragment; 'setOwner(address)': FunctionFragment; 'submitRRSet((bytes,bytes),bytes)': FunctionFragment; 'submitRRSets((bytes,bytes)[],bytes)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'algorithms' | 'anchors' | 'deleteRRSet' | 'deleteRRSetNSEC3' | 'digests' | 'nsec3Digests' | 'owner' | 'rrdata' | 'setAlgorithm' | 'setDigest' | 'setNSEC3Digest' | 'setOwner' | 'submitRRSet' | 'submitRRSets'): FunctionFragment; encodeFunctionData(functionFragment: 'algorithms', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'anchors', values?: undefined): string; encodeFunctionData(functionFragment: 'deleteRRSet', values: [ PromiseOrValue, PromiseOrValue, DNSSEC.RRSetWithSignatureStruct, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'deleteRRSetNSEC3', values: [ PromiseOrValue, PromiseOrValue, DNSSEC.RRSetWithSignatureStruct, DNSSEC.RRSetWithSignatureStruct, PromiseOrValue ]): string; encodeFunctionData(functionFragment: 'digests', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'nsec3Digests', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'rrdata', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setAlgorithm', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setDigest', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setNSEC3Digest', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setOwner', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'submitRRSet', values: [DNSSEC.RRSetWithSignatureStruct, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'submitRRSets', values: [DNSSEC.RRSetWithSignatureStruct[], PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'algorithms', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'anchors', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deleteRRSet', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'deleteRRSetNSEC3', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'digests', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'nsec3Digests', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rrdata', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setAlgorithm', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setDigest', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setNSEC3Digest', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setOwner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'submitRRSet', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'submitRRSets', data: BytesLike): Result; events: { 'AlgorithmUpdated(uint8,address)': EventFragment; 'DigestUpdated(uint8,address)': EventFragment; 'Marker()': EventFragment; 'NSEC3DigestUpdated(uint8,address)': EventFragment; 'RRSetUpdated(bytes,bytes)': EventFragment; 'Test(uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'AlgorithmUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'DigestUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Marker'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NSEC3DigestUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RRSetUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Test'): EventFragment; } export interface AlgorithmUpdatedEventObject { id: number; addr: string; } export declare type AlgorithmUpdatedEvent = TypedEvent<[ number, string ], AlgorithmUpdatedEventObject>; export declare type AlgorithmUpdatedEventFilter = TypedEventFilter; export interface DigestUpdatedEventObject { id: number; addr: string; } export declare type DigestUpdatedEvent = TypedEvent<[ number, string ], DigestUpdatedEventObject>; export declare type DigestUpdatedEventFilter = TypedEventFilter; export interface MarkerEventObject { } export declare type MarkerEvent = TypedEvent<[], MarkerEventObject>; export declare type MarkerEventFilter = TypedEventFilter; export interface NSEC3DigestUpdatedEventObject { id: number; addr: string; } export declare type NSEC3DigestUpdatedEvent = TypedEvent<[ number, string ], NSEC3DigestUpdatedEventObject>; export declare type NSEC3DigestUpdatedEventFilter = TypedEventFilter; export interface RRSetUpdatedEventObject { name: string; rrset: string; } export declare type RRSetUpdatedEvent = TypedEvent<[ string, string ], RRSetUpdatedEventObject>; export declare type RRSetUpdatedEventFilter = TypedEventFilter; export interface TestEventObject { t: BigNumber; } export declare type TestEvent = TypedEvent<[BigNumber], TestEventObject>; export declare type TestEventFilter = TypedEventFilter; export interface DNSSECImpl extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: DNSSECImplInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { algorithms(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; anchors(overrides?: CallOverrides): Promise<[string]>; deleteRRSet(deleteType: PromiseOrValue, deleteName: PromiseOrValue, nsec: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deleteRRSetNSEC3(deleteType: PromiseOrValue, deleteName: PromiseOrValue, closestEncloser: DNSSEC.RRSetWithSignatureStruct, nextClosest: DNSSEC.RRSetWithSignatureStruct, dnskey: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; nsec3Digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; /** * Returns data about the RRs (if any) known to this oracle with the provided type and name. * @param dnstype The DNS record type to query. * @param name The name to query, in DNS label-sequence format. */ rrdata(dnstype: PromiseOrValue, name: PromiseOrValue, overrides?: CallOverrides): Promise<[number, number, string]>; /** * Sets the contract address for a signature verification algorithm. Callable only by the owner. * @param algo The address of the algorithm contract. * @param id The algorithm ID */ setAlgorithm(id: PromiseOrValue, algo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for a digest verification algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setDigest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for an NSEC3 digest algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setNSEC3Digest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setOwner(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSet(input: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSets(input: DNSSEC.RRSetWithSignatureStruct[], _proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; algorithms(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; anchors(overrides?: CallOverrides): Promise; deleteRRSet(deleteType: PromiseOrValue, deleteName: PromiseOrValue, nsec: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deleteRRSetNSEC3(deleteType: PromiseOrValue, deleteName: PromiseOrValue, closestEncloser: DNSSEC.RRSetWithSignatureStruct, nextClosest: DNSSEC.RRSetWithSignatureStruct, dnskey: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; nsec3Digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; /** * Returns data about the RRs (if any) known to this oracle with the provided type and name. * @param dnstype The DNS record type to query. * @param name The name to query, in DNS label-sequence format. */ rrdata(dnstype: PromiseOrValue, name: PromiseOrValue, overrides?: CallOverrides): Promise<[number, number, string]>; /** * Sets the contract address for a signature verification algorithm. Callable only by the owner. * @param algo The address of the algorithm contract. * @param id The algorithm ID */ setAlgorithm(id: PromiseOrValue, algo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for a digest verification algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setDigest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for an NSEC3 digest algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setNSEC3Digest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setOwner(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSet(input: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSets(input: DNSSEC.RRSetWithSignatureStruct[], _proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { algorithms(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; anchors(overrides?: CallOverrides): Promise; deleteRRSet(deleteType: PromiseOrValue, deleteName: PromiseOrValue, nsec: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: CallOverrides): Promise; deleteRRSetNSEC3(deleteType: PromiseOrValue, deleteName: PromiseOrValue, closestEncloser: DNSSEC.RRSetWithSignatureStruct, nextClosest: DNSSEC.RRSetWithSignatureStruct, dnskey: PromiseOrValue, overrides?: CallOverrides): Promise; digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; nsec3Digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; /** * Returns data about the RRs (if any) known to this oracle with the provided type and name. * @param dnstype The DNS record type to query. * @param name The name to query, in DNS label-sequence format. */ rrdata(dnstype: PromiseOrValue, name: PromiseOrValue, overrides?: CallOverrides): Promise<[number, number, string]>; /** * Sets the contract address for a signature verification algorithm. Callable only by the owner. * @param algo The address of the algorithm contract. * @param id The algorithm ID */ setAlgorithm(id: PromiseOrValue, algo: PromiseOrValue, overrides?: CallOverrides): Promise; /** * Sets the contract address for a digest verification algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setDigest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: CallOverrides): Promise; /** * Sets the contract address for an NSEC3 digest algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setNSEC3Digest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: CallOverrides): Promise; setOwner(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; submitRRSet(input: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: CallOverrides): Promise; submitRRSets(input: DNSSEC.RRSetWithSignatureStruct[], _proof: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { 'AlgorithmUpdated(uint8,address)'(id?: null, addr?: null): AlgorithmUpdatedEventFilter; AlgorithmUpdated(id?: null, addr?: null): AlgorithmUpdatedEventFilter; 'DigestUpdated(uint8,address)'(id?: null, addr?: null): DigestUpdatedEventFilter; DigestUpdated(id?: null, addr?: null): DigestUpdatedEventFilter; 'Marker()'(): MarkerEventFilter; Marker(): MarkerEventFilter; 'NSEC3DigestUpdated(uint8,address)'(id?: null, addr?: null): NSEC3DigestUpdatedEventFilter; NSEC3DigestUpdated(id?: null, addr?: null): NSEC3DigestUpdatedEventFilter; 'RRSetUpdated(bytes,bytes)'(name?: null, rrset?: null): RRSetUpdatedEventFilter; RRSetUpdated(name?: null, rrset?: null): RRSetUpdatedEventFilter; 'Test(uint256)'(t?: null): TestEventFilter; Test(t?: null): TestEventFilter; }; estimateGas: { algorithms(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; anchors(overrides?: CallOverrides): Promise; deleteRRSet(deleteType: PromiseOrValue, deleteName: PromiseOrValue, nsec: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deleteRRSetNSEC3(deleteType: PromiseOrValue, deleteName: PromiseOrValue, closestEncloser: DNSSEC.RRSetWithSignatureStruct, nextClosest: DNSSEC.RRSetWithSignatureStruct, dnskey: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; nsec3Digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; /** * Returns data about the RRs (if any) known to this oracle with the provided type and name. * @param dnstype The DNS record type to query. * @param name The name to query, in DNS label-sequence format. */ rrdata(dnstype: PromiseOrValue, name: PromiseOrValue, overrides?: CallOverrides): Promise; /** * Sets the contract address for a signature verification algorithm. Callable only by the owner. * @param algo The address of the algorithm contract. * @param id The algorithm ID */ setAlgorithm(id: PromiseOrValue, algo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for a digest verification algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setDigest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for an NSEC3 digest algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setNSEC3Digest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setOwner(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSet(input: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSets(input: DNSSEC.RRSetWithSignatureStruct[], _proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { algorithms(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; anchors(overrides?: CallOverrides): Promise; deleteRRSet(deleteType: PromiseOrValue, deleteName: PromiseOrValue, nsec: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; deleteRRSetNSEC3(deleteType: PromiseOrValue, deleteName: PromiseOrValue, closestEncloser: DNSSEC.RRSetWithSignatureStruct, nextClosest: DNSSEC.RRSetWithSignatureStruct, dnskey: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; nsec3Digests(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; /** * Returns data about the RRs (if any) known to this oracle with the provided type and name. * @param dnstype The DNS record type to query. * @param name The name to query, in DNS label-sequence format. */ rrdata(dnstype: PromiseOrValue, name: PromiseOrValue, overrides?: CallOverrides): Promise; /** * Sets the contract address for a signature verification algorithm. Callable only by the owner. * @param algo The address of the algorithm contract. * @param id The algorithm ID */ setAlgorithm(id: PromiseOrValue, algo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for a digest verification algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setDigest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; /** * Sets the contract address for an NSEC3 digest algorithm. Callable only by the owner. * @param digest The address of the digest contract. * @param id The digest ID */ setNSEC3Digest(id: PromiseOrValue, digest: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setOwner(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSet(input: DNSSEC.RRSetWithSignatureStruct, proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; submitRRSets(input: DNSSEC.RRSetWithSignatureStruct[], _proof: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }