import type { 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, PopulatedTransaction } from '@ethersproject/contracts'; import type { OnEvent, PromiseOrValue, TypedEvent, TypedEventFilter, TypedListener } from './common'; export interface SHA1NSEC3DigestInterface extends Interface { functions: { 'hash(bytes,bytes,uint256)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'hash'): FunctionFragment; encodeFunctionData(functionFragment: 'hash', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; decodeFunctionResult(functionFragment: 'hash', data: BytesLike): Result; events: {}; } export interface SHA1NSEC3Digest extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: SHA1NSEC3DigestInterface; 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: { /** * Performs an NSEC3 iterated hash. * @param data The data to hash. * @param iterations The number of iterations to perform. * @param salt The salt value to use on each iteration. */ hash(salt: PromiseOrValue, data: PromiseOrValue, iterations: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; }; /** * Performs an NSEC3 iterated hash. * @param data The data to hash. * @param iterations The number of iterations to perform. * @param salt The salt value to use on each iteration. */ hash(salt: PromiseOrValue, data: PromiseOrValue, iterations: PromiseOrValue, overrides?: CallOverrides): Promise; callStatic: { /** * Performs an NSEC3 iterated hash. * @param data The data to hash. * @param iterations The number of iterations to perform. * @param salt The salt value to use on each iteration. */ hash(salt: PromiseOrValue, data: PromiseOrValue, iterations: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { /** * Performs an NSEC3 iterated hash. * @param data The data to hash. * @param iterations The number of iterations to perform. * @param salt The salt value to use on each iteration. */ hash(salt: PromiseOrValue, data: PromiseOrValue, iterations: PromiseOrValue, overrides?: CallOverrides): Promise; }; populateTransaction: { /** * Performs an NSEC3 iterated hash. * @param data The data to hash. * @param iterations The number of iterations to perform. * @param salt The salt value to use on each iteration. */ hash(salt: PromiseOrValue, data: PromiseOrValue, iterations: PromiseOrValue, overrides?: CallOverrides): Promise; }; }