import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common'; export interface LensContractInterface extends utils.Interface { functions: { 'MULTIPLIER_PRECISION()': FunctionFragment; 'durationDaysThresholds(uint256)': FunctionFragment; 'getEscrowWeight(address)': FunctionFragment; 'getEscrowWeightForTokenIds(address,uint256[])': FunctionFragment; 'getMultiplierForDaysLocked(uint256)': FunctionFragment; 'getMultipliers()': FunctionFragment; 'initialize(address,uint256[],uint256[])': FunctionFragment; 'multipliers(uint256)': FunctionFragment; 'owner()': FunctionFragment; 'renounceOwnership()': FunctionFragment; 'setMultipliers(uint256[],uint256[])': FunctionFragment; 'transferOwnership(address)': FunctionFragment; 'votingEscrow()': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'MULTIPLIER_PRECISION' | 'durationDaysThresholds' | 'getEscrowWeight' | 'getEscrowWeightForTokenIds' | 'getMultiplierForDaysLocked' | 'getMultipliers' | 'initialize' | 'multipliers' | 'owner' | 'renounceOwnership' | 'setMultipliers' | 'transferOwnership' | 'votingEscrow'): FunctionFragment; encodeFunctionData(functionFragment: 'MULTIPLIER_PRECISION', values?: undefined): string; encodeFunctionData(functionFragment: 'durationDaysThresholds', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getEscrowWeight', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getEscrowWeightForTokenIds', values: [PromiseOrValue, PromiseOrValue[]]): string; encodeFunctionData(functionFragment: 'getMultiplierForDaysLocked', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getMultipliers', values?: undefined): string; encodeFunctionData(functionFragment: 'initialize', values: [PromiseOrValue, PromiseOrValue[], PromiseOrValue[]]): string; encodeFunctionData(functionFragment: 'multipliers', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string; encodeFunctionData(functionFragment: 'setMultipliers', values: [PromiseOrValue[], PromiseOrValue[]]): string; encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'votingEscrow', values?: undefined): string; decodeFunctionResult(functionFragment: 'MULTIPLIER_PRECISION', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'durationDaysThresholds', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getEscrowWeight', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getEscrowWeightForTokenIds', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getMultiplierForDaysLocked', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getMultipliers', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'multipliers', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setMultipliers', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'votingEscrow', data: BytesLike): Result; events: { 'Initialized(uint8)': EventFragment; 'MultipliersUpdated(uint256[],uint256[])': EventFragment; 'OwnershipTransferred(address,address)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment; getEvent(nameOrSignatureOrTopic: 'MultipliersUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment; } export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface MultipliersUpdatedEventObject { durationThresholds: BigNumber[]; multipliers: BigNumber[]; } export type MultipliersUpdatedEvent = TypedEvent<[BigNumber[], BigNumber[]], MultipliersUpdatedEventObject>; export type MultipliersUpdatedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface LensContract extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: LensContractInterface; 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: { MULTIPLIER_PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>; durationDaysThresholds(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; getEscrowWeight(escrowOwner: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getEscrowWeightForTokenIds(escrowOwner: PromiseOrValue, tokenIds: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getMultiplierForDaysLocked(durationDays: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { multiplier: BigNumber; tier: BigNumber; }>; getMultipliers(overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { _durationDaysThresholds: BigNumber[]; _multipliers: BigNumber[]; }>; initialize(_votingEscrowAddress: PromiseOrValue, _durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multipliers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setMultipliers(_durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; votingEscrow(overrides?: CallOverrides): Promise<[string]>; }; MULTIPLIER_PRECISION(overrides?: CallOverrides): Promise; durationDaysThresholds(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeight(escrowOwner: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getEscrowWeightForTokenIds(escrowOwner: PromiseOrValue, tokenIds: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getMultiplierForDaysLocked(durationDays: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { multiplier: BigNumber; tier: BigNumber; }>; getMultipliers(overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { _durationDaysThresholds: BigNumber[]; _multipliers: BigNumber[]; }>; initialize(_votingEscrowAddress: PromiseOrValue, _durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multipliers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setMultipliers(_durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; votingEscrow(overrides?: CallOverrides): Promise; callStatic: { MULTIPLIER_PRECISION(overrides?: CallOverrides): Promise; durationDaysThresholds(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeight(escrowOwner: PromiseOrValue, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getEscrowWeightForTokenIds(escrowOwner: PromiseOrValue, tokenIds: PromiseOrValue[], overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber ] & { totalWeight: BigNumber; maxMultiplier: BigNumber; maxTier: BigNumber; }>; getMultiplierForDaysLocked(durationDays: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { multiplier: BigNumber; tier: BigNumber; }>; getMultipliers(overrides?: CallOverrides): Promise<[ BigNumber[], BigNumber[] ] & { _durationDaysThresholds: BigNumber[]; _multipliers: BigNumber[]; }>; initialize(_votingEscrowAddress: PromiseOrValue, _durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: CallOverrides): Promise; multipliers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setMultipliers(_durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: CallOverrides): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: CallOverrides): Promise; votingEscrow(overrides?: CallOverrides): Promise; }; filters: { 'Initialized(uint8)'(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; 'MultipliersUpdated(uint256[],uint256[])'(durationThresholds?: null, multipliers?: null): MultipliersUpdatedEventFilter; MultipliersUpdated(durationThresholds?: null, multipliers?: null): MultipliersUpdatedEventFilter; 'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null): OwnershipTransferredEventFilter; }; estimateGas: { MULTIPLIER_PRECISION(overrides?: CallOverrides): Promise; durationDaysThresholds(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeight(escrowOwner: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeightForTokenIds(escrowOwner: PromiseOrValue, tokenIds: PromiseOrValue[], overrides?: CallOverrides): Promise; getMultiplierForDaysLocked(durationDays: PromiseOrValue, overrides?: CallOverrides): Promise; getMultipliers(overrides?: CallOverrides): Promise; initialize(_votingEscrowAddress: PromiseOrValue, _durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multipliers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setMultipliers(_durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; votingEscrow(overrides?: CallOverrides): Promise; }; populateTransaction: { MULTIPLIER_PRECISION(overrides?: CallOverrides): Promise; durationDaysThresholds(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeight(escrowOwner: PromiseOrValue, overrides?: CallOverrides): Promise; getEscrowWeightForTokenIds(escrowOwner: PromiseOrValue, tokenIds: PromiseOrValue[], overrides?: CallOverrides): Promise; getMultiplierForDaysLocked(durationDays: PromiseOrValue, overrides?: CallOverrides): Promise; getMultipliers(overrides?: CallOverrides): Promise; initialize(_votingEscrowAddress: PromiseOrValue, _durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; multipliers(arg0: PromiseOrValue, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; renounceOwnership(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; setMultipliers(_durationDaysThresholds: PromiseOrValue[], _multipliers: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transferOwnership(newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; votingEscrow(overrides?: CallOverrides): Promise; }; }