/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ 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 type CtUint256Struct = { ciphertextHigh: BigNumberish; ciphertextLow: BigNumberish; }; export type CtUint256StructOutput = [ ciphertextHigh: bigint, ciphertextLow: bigint ] & { ciphertextHigh: bigint; ciphertextLow: bigint }; export type ItUint256Struct = { ciphertext: CtUint256Struct; signature: BytesLike; }; export type ItUint256StructOutput = [ ciphertext: CtUint256StructOutput, signature: string ] & { ciphertext: CtUint256StructOutput; signature: string }; export declare namespace IPrivateERC20 { export type AllowanceStruct = { ciphertext: CtUint256Struct; ownerCiphertext: CtUint256Struct; spenderCiphertext: CtUint256Struct; }; export type AllowanceStructOutput = [ ciphertext: CtUint256StructOutput, ownerCiphertext: CtUint256StructOutput, spenderCiphertext: CtUint256StructOutput ] & { ciphertext: CtUint256StructOutput; ownerCiphertext: CtUint256StructOutput; spenderCiphertext: CtUint256StructOutput; }; } export interface IPrivateERC20Interface extends Interface { getFunction( nameOrSignature: | "allowance(address,bool)" | "allowance(address,address)" | "approve(address,uint256)" | "approve(address,((uint256,uint256),bytes))" | "balanceOf(address)" | "balanceOf()" | "setAccountEncryptionAddress" | "totalSupply" | "transfer(address,((uint256,uint256),bytes))" | "transfer(address,uint256)" | "transferFrom(address,address,uint256)" | "transferFrom(address,address,((uint256,uint256),bytes))" ): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; encodeFunctionData( functionFragment: "allowance(address,bool)", values: [AddressLike, boolean] ): string; encodeFunctionData( functionFragment: "allowance(address,address)", values: [AddressLike, AddressLike] ): string; encodeFunctionData( functionFragment: "approve(address,uint256)", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "approve(address,((uint256,uint256),bytes))", values: [AddressLike, ItUint256Struct] ): string; encodeFunctionData( functionFragment: "balanceOf(address)", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "balanceOf()", values?: undefined ): string; encodeFunctionData( functionFragment: "setAccountEncryptionAddress", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer(address,((uint256,uint256),bytes))", values: [AddressLike, ItUint256Struct] ): string; encodeFunctionData( functionFragment: "transfer(address,uint256)", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom(address,address,uint256)", values: [AddressLike, AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))", values: [AddressLike, AddressLike, ItUint256Struct] ): string; decodeFunctionResult( functionFragment: "allowance(address,bool)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "allowance(address,address)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "approve(address,uint256)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "approve(address,((uint256,uint256),bytes))", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "balanceOf(address)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "balanceOf()", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAccountEncryptionAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transfer(address,((uint256,uint256),bytes))", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transfer(address,uint256)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferFrom(address,address,uint256)", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferFrom(address,address,((uint256,uint256),bytes))", data: BytesLike ): Result; } export namespace ApprovalEvent { export type InputTuple = [ owner: AddressLike, spender: AddressLike, ownerValue: CtUint256Struct, spenderValue: CtUint256Struct ]; export type OutputTuple = [ owner: string, spender: string, ownerValue: CtUint256StructOutput, spenderValue: CtUint256StructOutput ]; export interface OutputObject { owner: string; spender: string; ownerValue: CtUint256StructOutput; spenderValue: CtUint256StructOutput; } export type Event = TypedContractEvent; export type Filter = TypedDeferredTopicFilter; export type Log = TypedEventLog; export type LogDescription = TypedLogDescription; } export namespace TransferEvent { export type InputTuple = [ from: AddressLike, to: AddressLike, senderValue: CtUint256Struct, receiverValue: CtUint256Struct ]; export type OutputTuple = [ from: string, to: string, senderValue: CtUint256StructOutput, receiverValue: CtUint256StructOutput ]; export interface OutputObject { from: string; to: string; senderValue: CtUint256StructOutput; receiverValue: CtUint256StructOutput; } export type Event = TypedContractEvent; export type Filter = TypedDeferredTopicFilter; export type Log = TypedEventLog; export type LogDescription = TypedLogDescription; } export interface IPrivateERC20 extends BaseContract { connect(runner?: ContractRunner | null): IPrivateERC20; waitForDeployment(): Promise; interface: IPrivateERC20Interface; 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; "allowance(address,bool)": TypedContractMethod< [account: AddressLike, isSpender: boolean], [bigint], "nonpayable" >; "allowance(address,address)": TypedContractMethod< [owner: AddressLike, spender: AddressLike], [IPrivateERC20.AllowanceStructOutput], "view" >; "approve(address,uint256)": TypedContractMethod< [spender: AddressLike, value: BigNumberish], [boolean], "nonpayable" >; "approve(address,((uint256,uint256),bytes))": TypedContractMethod< [spender: AddressLike, value: ItUint256Struct], [boolean], "nonpayable" >; "balanceOf(address)": TypedContractMethod< [account: AddressLike], [CtUint256StructOutput], "view" >; "balanceOf()": TypedContractMethod<[], [bigint], "nonpayable">; setAccountEncryptionAddress: TypedContractMethod< [addr: AddressLike], [boolean], "nonpayable" >; totalSupply: TypedContractMethod<[], [bigint], "view">; "transfer(address,((uint256,uint256),bytes))": TypedContractMethod< [to: AddressLike, value: ItUint256Struct], [bigint], "nonpayable" >; "transfer(address,uint256)": TypedContractMethod< [to: AddressLike, value: BigNumberish], [bigint], "nonpayable" >; "transferFrom(address,address,uint256)": TypedContractMethod< [from: AddressLike, to: AddressLike, value: BigNumberish], [bigint], "nonpayable" >; "transferFrom(address,address,((uint256,uint256),bytes))": TypedContractMethod< [from: AddressLike, to: AddressLike, value: ItUint256Struct], [bigint], "nonpayable" >; getFunction( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "allowance(address,bool)" ): TypedContractMethod< [account: AddressLike, isSpender: boolean], [bigint], "nonpayable" >; getFunction( nameOrSignature: "allowance(address,address)" ): TypedContractMethod< [owner: AddressLike, spender: AddressLike], [IPrivateERC20.AllowanceStructOutput], "view" >; getFunction( nameOrSignature: "approve(address,uint256)" ): TypedContractMethod< [spender: AddressLike, value: BigNumberish], [boolean], "nonpayable" >; getFunction( nameOrSignature: "approve(address,((uint256,uint256),bytes))" ): TypedContractMethod< [spender: AddressLike, value: ItUint256Struct], [boolean], "nonpayable" >; getFunction( nameOrSignature: "balanceOf(address)" ): TypedContractMethod< [account: AddressLike], [CtUint256StructOutput], "view" >; getFunction( nameOrSignature: "balanceOf()" ): TypedContractMethod<[], [bigint], "nonpayable">; getFunction( nameOrSignature: "setAccountEncryptionAddress" ): TypedContractMethod<[addr: AddressLike], [boolean], "nonpayable">; getFunction( nameOrSignature: "totalSupply" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "transfer(address,((uint256,uint256),bytes))" ): TypedContractMethod< [to: AddressLike, value: ItUint256Struct], [bigint], "nonpayable" >; getFunction( nameOrSignature: "transfer(address,uint256)" ): TypedContractMethod< [to: AddressLike, value: BigNumberish], [bigint], "nonpayable" >; getFunction( nameOrSignature: "transferFrom(address,address,uint256)" ): TypedContractMethod< [from: AddressLike, to: AddressLike, value: BigNumberish], [bigint], "nonpayable" >; getFunction( nameOrSignature: "transferFrom(address,address,((uint256,uint256),bytes))" ): TypedContractMethod< [from: AddressLike, to: AddressLike, value: ItUint256Struct], [bigint], "nonpayable" >; getEvent( key: "Approval" ): TypedContractEvent< ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject >; getEvent( key: "Transfer" ): TypedContractEvent< TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject >; filters: { "Approval(address,address,tuple,tuple)": TypedContractEvent< ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject >; Approval: TypedContractEvent< ApprovalEvent.InputTuple, ApprovalEvent.OutputTuple, ApprovalEvent.OutputObject >; "Transfer(address,address,tuple,tuple)": TypedContractEvent< TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject >; Transfer: TypedContractEvent< TransferEvent.InputTuple, TransferEvent.OutputTuple, TransferEvent.OutputObject >; }; }