/* 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 PrivateERC20Interface extends Interface { getFunction( nameOrSignature: | "accountEncryptionAddress" | "allowance(address,bool)" | "allowance(address,address)" | "approve(address,uint256)" | "approve(address,((uint256,uint256),bytes))" | "balanceOf(address)" | "balanceOf()" | "decimals" | "name" | "reencryptAllowance" | "setAccountEncryptionAddress" | "symbol" | "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: "accountEncryptionAddress", values: [AddressLike] ): string; 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: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "reencryptAllowance", values: [AddressLike, boolean] ): string; encodeFunctionData( functionFragment: "setAccountEncryptionAddress", values: [AddressLike] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): 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: "accountEncryptionAddress", data: BytesLike ): Result; 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: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult( functionFragment: "reencryptAllowance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAccountEncryptionAddress", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "symbol", 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 PrivateERC20 extends BaseContract { connect(runner?: ContractRunner | null): PrivateERC20; waitForDeployment(): Promise; interface: PrivateERC20Interface; 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; accountEncryptionAddress: TypedContractMethod< [account: AddressLike], [string], "view" >; "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">; decimals: TypedContractMethod<[], [bigint], "view">; name: TypedContractMethod<[], [string], "view">; reencryptAllowance: TypedContractMethod< [account: AddressLike, isSpender: boolean], [boolean], "nonpayable" >; setAccountEncryptionAddress: TypedContractMethod< [offBoardAddress: AddressLike], [boolean], "nonpayable" >; symbol: TypedContractMethod<[], [string], "view">; 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: "accountEncryptionAddress" ): TypedContractMethod<[account: AddressLike], [string], "view">; 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: "decimals" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "name" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "reencryptAllowance" ): TypedContractMethod< [account: AddressLike, isSpender: boolean], [boolean], "nonpayable" >; getFunction( nameOrSignature: "setAccountEncryptionAddress" ): TypedContractMethod< [offBoardAddress: AddressLike], [boolean], "nonpayable" >; getFunction( nameOrSignature: "symbol" ): TypedContractMethod<[], [string], "view">; 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 >; }; }