import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export declare namespace ArianeeCreditNotePool { type CreditRegistrationProofStruct = { _pA: [BigNumberish, BigNumberish]; _pB: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]]; _pC: [BigNumberish, BigNumberish]; _pubSignals: [BigNumberish, BigNumberish]; }; type CreditRegistrationProofStructOutput = [ _pA: [bigint, bigint], _pB: [[bigint, bigint], [bigint, bigint]], _pC: [bigint, bigint], _pubSignals: [bigint, bigint] ] & { _pA: [bigint, bigint]; _pB: [[bigint, bigint], [bigint, bigint]]; _pC: [bigint, bigint]; _pubSignals: [bigint, bigint]; }; type CreditNoteProofStruct = { _pA: [BigNumberish, BigNumberish]; _pB: [[BigNumberish, BigNumberish], [BigNumberish, BigNumberish]]; _pC: [BigNumberish, BigNumberish]; _pubSignals: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]; }; type CreditNoteProofStructOutput = [ _pA: [bigint, bigint], _pB: [[bigint, bigint], [bigint, bigint]], _pC: [bigint, bigint], _pubSignals: [bigint, bigint, bigint, bigint] ] & { _pA: [bigint, bigint]; _pB: [[bigint, bigint], [bigint, bigint]]; _pC: [bigint, bigint]; _pubSignals: [bigint, bigint, bigint, bigint]; }; } export interface ArianeeCreditNotePoolInterface extends Interface { getFunction(nameOrSignature: "CREDIT_NOTE_PROOF_SIZE" | "FIELD_SIZE" | "MAX_NULLIFIER_PER_COMMITMENT" | "OWNERSHIP_PROOF_SIZE" | "ROOT_HISTORY_SIZE" | "SELECTOR_SIZE" | "ZERO_VALUE" | "commitmentHashes" | "creditRegister" | "creditVerifier" | "currentRootIndex" | "filledSubtrees" | "getLastRoot" | "getTrustedForwarder" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isTrustedForwarder" | "issuerProxy" | "levels" | "nextIndex" | "nullifierHashes" | "poseidon" | "roots" | "token" | "zeros" | "purchase" | "spend" | "isSpentBatch" | "isSpent"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Purchased" | "Spent"): EventFragment; encodeFunctionData(functionFragment: "CREDIT_NOTE_PROOF_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "MAX_NULLIFIER_PER_COMMITMENT", values?: undefined): string; encodeFunctionData(functionFragment: "OWNERSHIP_PROOF_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "SELECTOR_SIZE", values?: undefined): string; encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; encodeFunctionData(functionFragment: "commitmentHashes", values: [BytesLike]): string; encodeFunctionData(functionFragment: "creditRegister", values?: undefined): string; encodeFunctionData(functionFragment: "creditVerifier", values?: undefined): string; encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; encodeFunctionData(functionFragment: "getTrustedForwarder", values?: undefined): string; encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "hasher", values?: undefined): string; encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; encodeFunctionData(functionFragment: "isTrustedForwarder", values: [AddressLike]): string; encodeFunctionData(functionFragment: "issuerProxy", values?: undefined): string; encodeFunctionData(functionFragment: "levels", values?: undefined): string; encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string; encodeFunctionData(functionFragment: "poseidon", values?: undefined): string; encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "token", values?: undefined): string; encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "purchase", values: [ ArianeeCreditNotePool.CreditRegistrationProofStruct, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "spend", values: [ ArianeeCreditNotePool.CreditNoteProofStruct, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "isSpentBatch", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "CREDIT_NOTE_PROOF_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MAX_NULLIFIER_PER_COMMITMENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "OWNERSHIP_PROOF_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SELECTOR_SIZE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "commitmentHashes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "creditRegister", data: BytesLike): Result; decodeFunctionResult(functionFragment: "creditVerifier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "issuerProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "poseidon", data: BytesLike): Result; decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purchase", data: BytesLike): Result; decodeFunctionResult(functionFragment: "spend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSpentBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; } export declare namespace PurchasedEvent { type InputTuple = [ _creditType: BigNumberish, _commitmentHash: BytesLike, _leafIndex: BigNumberish, _timestamp: BigNumberish ]; type OutputTuple = [ _creditType: bigint, _commitmentHash: string, _leafIndex: bigint, _timestamp: bigint ]; interface OutputObject { _creditType: bigint; _commitmentHash: string; _leafIndex: bigint; _timestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SpentEvent { type InputTuple = [ _creditType: BigNumberish, _nullifierHash: BytesLike, _timestamp: BigNumberish ]; type OutputTuple = [ _creditType: bigint, _nullifierHash: string, _timestamp: bigint ]; interface OutputObject { _creditType: bigint; _nullifierHash: string; _timestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ArianeeCreditNotePool extends BaseContract { connect(runner?: ContractRunner | null): ArianeeCreditNotePool; waitForDeployment(): Promise; interface: ArianeeCreditNotePoolInterface; 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; CREDIT_NOTE_PROOF_SIZE: TypedContractMethod<[], [bigint], "view">; FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; MAX_NULLIFIER_PER_COMMITMENT: TypedContractMethod<[], [bigint], "view">; OWNERSHIP_PROOF_SIZE: TypedContractMethod<[], [bigint], "view">; ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; SELECTOR_SIZE: TypedContractMethod<[], [bigint], "view">; ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; commitmentHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; creditRegister: TypedContractMethod<[], [string], "view">; creditVerifier: TypedContractMethod<[], [string], "view">; currentRootIndex: TypedContractMethod<[], [bigint], "view">; filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; getLastRoot: TypedContractMethod<[], [string], "view">; getTrustedForwarder: TypedContractMethod<[], [string], "view">; hashLeftRight: TypedContractMethod<[ _hasher: AddressLike, _left: BytesLike, _right: BytesLike ], [ string ], "view">; hasher: TypedContractMethod<[], [string], "view">; isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; isTrustedForwarder: TypedContractMethod<[ forwarder: AddressLike ], [ boolean ], "view">; issuerProxy: TypedContractMethod<[], [string], "view">; levels: TypedContractMethod<[], [bigint], "view">; nextIndex: TypedContractMethod<[], [bigint], "view">; nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; poseidon: TypedContractMethod<[], [string], "view">; roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; token: TypedContractMethod<[], [string], "view">; zeros: TypedContractMethod<[i: BigNumberish], [string], "view">; purchase: TypedContractMethod<[ _creditRegistrationProof: ArianeeCreditNotePool.CreditRegistrationProofStruct, _commitmentHash: BytesLike, _creditType: BigNumberish ], [ void ], "nonpayable">; spend: TypedContractMethod<[ _creditNoteProof: ArianeeCreditNotePool.CreditNoteProofStruct, _intentMsgData: BytesLike, _creditType: BigNumberish ], [ void ], "nonpayable">; isSpentBatch: TypedContractMethod<[ _nullifierHashes: BytesLike[] ], [ boolean[] ], "view">; isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "CREDIT_NOTE_PROOF_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "MAX_NULLIFIER_PER_COMMITMENT"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "OWNERSHIP_PROOF_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "SELECTOR_SIZE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "commitmentHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "creditRegister"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "creditVerifier"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getTrustedForwarder"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ _hasher: AddressLike, _left: BytesLike, _right: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "isTrustedForwarder"): TypedContractMethod<[forwarder: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "issuerProxy"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "poseidon"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "zeros"): TypedContractMethod<[i: BigNumberish], [string], "view">; getFunction(nameOrSignature: "purchase"): TypedContractMethod<[ _creditRegistrationProof: ArianeeCreditNotePool.CreditRegistrationProofStruct, _commitmentHash: BytesLike, _creditType: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "spend"): TypedContractMethod<[ _creditNoteProof: ArianeeCreditNotePool.CreditNoteProofStruct, _intentMsgData: BytesLike, _creditType: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isSpentBatch"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; getEvent(key: "Purchased"): TypedContractEvent; getEvent(key: "Spent"): TypedContractEvent; filters: { "Purchased(uint256,bytes32,uint32,uint256)": TypedContractEvent; Purchased: TypedContractEvent; "Spent(uint256,bytes32,uint256)": TypedContractEvent; Spent: TypedContractEvent; }; }