import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common.js"; export declare namespace IEnclave { type PricingConfigStruct = { keyGenFixedPerNode: BigNumberish; keyGenPerEncryptionProof: BigNumberish; coordinationPerPair: BigNumberish; availabilityPerNodePerSec: BigNumberish; decryptionPerNode: BigNumberish; publicationBase: BigNumberish; verificationPerProof: BigNumberish; protocolTreasury: AddressLike; marginBps: BigNumberish; protocolShareBps: BigNumberish; dkgUtilizationBps: BigNumberish; computeUtilizationBps: BigNumberish; decryptUtilizationBps: BigNumberish; minCommitteeSize: BigNumberish; minThreshold: BigNumberish; }; type PricingConfigStructOutput = [keyGenFixedPerNode: bigint, keyGenPerEncryptionProof: bigint, coordinationPerPair: bigint, availabilityPerNodePerSec: bigint, decryptionPerNode: bigint, publicationBase: bigint, verificationPerProof: bigint, protocolTreasury: string, marginBps: bigint, protocolShareBps: bigint, dkgUtilizationBps: bigint, computeUtilizationBps: bigint, decryptUtilizationBps: bigint, minCommitteeSize: bigint, minThreshold: bigint] & { keyGenFixedPerNode: bigint; keyGenPerEncryptionProof: bigint; coordinationPerPair: bigint; availabilityPerNodePerSec: bigint; decryptionPerNode: bigint; publicationBase: bigint; verificationPerProof: bigint; protocolTreasury: string; marginBps: bigint; protocolShareBps: bigint; dkgUtilizationBps: bigint; computeUtilizationBps: bigint; decryptUtilizationBps: bigint; minCommitteeSize: bigint; minThreshold: bigint; }; type E3TimeoutConfigStruct = { dkgWindow: BigNumberish; computeWindow: BigNumberish; decryptionWindow: BigNumberish; }; type E3TimeoutConfigStructOutput = [dkgWindow: bigint, computeWindow: bigint, decryptionWindow: bigint] & { dkgWindow: bigint; computeWindow: bigint; decryptionWindow: bigint; }; } export interface EnclavePricingInterface extends Interface { getFunction(nameOrSignature: "computeNodeAmounts" | "defaultPricingConfig" | "quote" | "validateCommitteeThresholds" | "validateMarkFailedStage" | "validatePricingConfig" | "validatePublishCiphertext" | "validateQuoteThresholds" | "validateRequest" | "validateTimeoutConfig"): FunctionFragment; encodeFunctionData(functionFragment: 'computeNodeAmounts', values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'defaultPricingConfig', values?: undefined): string; encodeFunctionData(functionFragment: 'quote', values: [IEnclave.PricingConfigStruct, IEnclave.E3TimeoutConfigStruct, BigNumberish, [BigNumberish, BigNumberish], BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'validateCommitteeThresholds', values: [[BigNumberish, BigNumberish], BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'validateMarkFailedStage', values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'validatePricingConfig', values: [IEnclave.PricingConfigStruct]): string; encodeFunctionData(functionFragment: 'validatePublishCiphertext', values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'validateQuoteThresholds', values: [[BigNumberish, BigNumberish], BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'validateRequest', values: [[BigNumberish, BigNumberish], BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'validateTimeoutConfig', values: [IEnclave.E3TimeoutConfigStruct, BigNumberish]): string; decodeFunctionResult(functionFragment: 'computeNodeAmounts', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'defaultPricingConfig', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'quote', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validateCommitteeThresholds', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validateMarkFailedStage', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validatePricingConfig', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validatePublishCiphertext', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validateQuoteThresholds', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validateRequest', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'validateTimeoutConfig', data: BytesLike): Result; } export interface EnclavePricing extends BaseContract { connect(runner?: ContractRunner | null): EnclavePricing; waitForDeployment(): Promise; interface: EnclavePricingInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; computeNodeAmounts: TypedContractMethod<[ cnAmount: BigNumberish, n: BigNumberish, e3Id: BigNumberish ], [ bigint[] ], 'view'>; defaultPricingConfig: TypedContractMethod<[ ], [ IEnclave.PricingConfigStructOutput ], 'view'>; quote: TypedContractMethod<[ pc: IEnclave.PricingConfigStruct, tc: IEnclave.E3TimeoutConfigStruct, sortitionWindow: BigNumberish, threshold: [BigNumberish, BigNumberish], inputWindowStart: BigNumberish, inputWindowEnd: BigNumberish ], [ bigint ], 'view'>; validateCommitteeThresholds: TypedContractMethod<[ threshold: [BigNumberish, BigNumberish], minCommitteeSize: BigNumberish, minThreshold: BigNumberish ], [ void ], 'view'>; validateMarkFailedStage: TypedContractMethod<[ e3Id: BigNumberish, current: BigNumberish ], [ void ], 'view'>; validatePricingConfig: TypedContractMethod<[ config: IEnclave.PricingConfigStruct ], [ void ], 'view'>; validatePublishCiphertext: TypedContractMethod<[ e3Id: BigNumberish, current: BigNumberish, computeDeadline: BigNumberish, inputWindowEnd: BigNumberish, ciphertextOutput: BytesLike, nowTs: BigNumberish ], [ void ], 'view'>; validateQuoteThresholds: TypedContractMethod<[ threshold: [BigNumberish, BigNumberish], committeeSize: BigNumberish, minCommitteeSize: BigNumberish, minThreshold: BigNumberish ], [ void ], 'view'>; validateRequest: TypedContractMethod<[ inputWindow: [BigNumberish, BigNumberish], nowTs: BigNumberish, computeWindow: BigNumberish, decryptionWindow: BigNumberish, maxDuration: BigNumberish, quotedFee: BigNumberish ], [ void ], 'view'>; validateTimeoutConfig: TypedContractMethod<[ config: IEnclave.E3TimeoutConfigStruct, maxTimeoutWindow: BigNumberish ], [ void ], 'view'>; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: 'computeNodeAmounts'): TypedContractMethod<[ cnAmount: BigNumberish, n: BigNumberish, e3Id: BigNumberish ], [ bigint[] ], 'view'>; getFunction(nameOrSignature: 'defaultPricingConfig'): TypedContractMethod<[ ], [ IEnclave.PricingConfigStructOutput ], 'view'>; getFunction(nameOrSignature: 'quote'): TypedContractMethod<[ pc: IEnclave.PricingConfigStruct, tc: IEnclave.E3TimeoutConfigStruct, sortitionWindow: BigNumberish, threshold: [BigNumberish, BigNumberish], inputWindowStart: BigNumberish, inputWindowEnd: BigNumberish ], [ bigint ], 'view'>; getFunction(nameOrSignature: 'validateCommitteeThresholds'): TypedContractMethod<[ threshold: [BigNumberish, BigNumberish], minCommitteeSize: BigNumberish, minThreshold: BigNumberish ], [ void ], 'view'>; getFunction(nameOrSignature: 'validateMarkFailedStage'): TypedContractMethod<[ e3Id: BigNumberish, current: BigNumberish ], [ void ], 'view'>; getFunction(nameOrSignature: 'validatePricingConfig'): TypedContractMethod<[ config: IEnclave.PricingConfigStruct ], [ void ], 'view'>; getFunction(nameOrSignature: 'validatePublishCiphertext'): TypedContractMethod<[ e3Id: BigNumberish, current: BigNumberish, computeDeadline: BigNumberish, inputWindowEnd: BigNumberish, ciphertextOutput: BytesLike, nowTs: BigNumberish ], [ void ], 'view'>; getFunction(nameOrSignature: 'validateQuoteThresholds'): TypedContractMethod<[ threshold: [BigNumberish, BigNumberish], committeeSize: BigNumberish, minCommitteeSize: BigNumberish, minThreshold: BigNumberish ], [ void ], 'view'>; getFunction(nameOrSignature: 'validateRequest'): TypedContractMethod<[ inputWindow: [BigNumberish, BigNumberish], nowTs: BigNumberish, computeWindow: BigNumberish, decryptionWindow: BigNumberish, maxDuration: BigNumberish, quotedFee: BigNumberish ], [ void ], 'view'>; getFunction(nameOrSignature: 'validateTimeoutConfig'): TypedContractMethod<[ config: IEnclave.E3TimeoutConfigStruct, maxTimeoutWindow: BigNumberish ], [ void ], 'view'>; filters: {}; } //# sourceMappingURL=EnclavePricing.d.ts.map