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 AssetDistributionStruct = { nonce: BigNumberish; parentNonce: BigNumberish; walletAddress: AddressLike; assetAddress: AddressLike; quantity: BigNumberish; exchangeSignature: BytesLike; }; export type AssetDistributionStructOutput = [ nonce: bigint, parentNonce: bigint, walletAddress: string, assetAddress: string, quantity: bigint, exchangeSignature: string ] & { nonce: bigint; parentNonce: bigint; walletAddress: string; assetAddress: string; quantity: bigint; exchangeSignature: string; }; export interface EarningsEscrowInterface extends Interface { getFunction(nameOrSignature: 'adminWallet' | 'assetAddress' | 'distribute' | 'exchangeWallet' | 'lastNonce' | 'loadLastNonce' | 'loadTotalDistributed' | 'ownerWallet' | 'removeAdmin' | 'removeExchange' | 'removeOwner' | 'setAdmin' | 'setExchange' | 'setOwner' | 'totalDistributed' | 'withdrawEscrow'): FunctionFragment; getEvent(nameOrSignatureOrTopic: 'AssetsDistributed' | 'EscrowWithdrawn' | 'ExchangeChanged' | 'NativeAssetEscrowed'): EventFragment; encodeFunctionData(functionFragment: 'adminWallet', values?: undefined): string; encodeFunctionData(functionFragment: 'assetAddress', values?: undefined): string; encodeFunctionData(functionFragment: 'distribute', values: [AssetDistributionStruct]): string; encodeFunctionData(functionFragment: 'exchangeWallet', values?: undefined): string; encodeFunctionData(functionFragment: 'lastNonce', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'loadLastNonce', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'loadTotalDistributed', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'ownerWallet', values?: undefined): string; encodeFunctionData(functionFragment: 'removeAdmin', values?: undefined): string; encodeFunctionData(functionFragment: 'removeExchange', values?: undefined): string; encodeFunctionData(functionFragment: 'removeOwner', values?: undefined): string; encodeFunctionData(functionFragment: 'setAdmin', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'setExchange', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'setOwner', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'totalDistributed', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'withdrawEscrow', values: [BigNumberish]): string; decodeFunctionResult(functionFragment: 'adminWallet', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'assetAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'distribute', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exchangeWallet', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'lastNonce', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'loadLastNonce', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'loadTotalDistributed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'ownerWallet', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'removeAdmin', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'removeExchange', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'removeOwner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setAdmin', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setExchange', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setOwner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalDistributed', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdrawEscrow', data: BytesLike): Result; } export declare namespace AssetsDistributedEvent { type InputTuple = [ wallet: AddressLike, quantity: BigNumberish, totalQuantity: BigNumberish, nonce: BigNumberish ]; type OutputTuple = [ wallet: string, quantity: bigint, totalQuantity: bigint, nonce: bigint ]; interface OutputObject { wallet: string; quantity: bigint; totalQuantity: bigint; nonce: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EscrowWithdrawnEvent { type InputTuple = [ quantity: BigNumberish, newEscrowBalance: BigNumberish ]; type OutputTuple = [quantity: bigint, newEscrowBalance: bigint]; interface OutputObject { quantity: bigint; newEscrowBalance: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ExchangeChangedEvent { type InputTuple = [previousValue: AddressLike, newValue: AddressLike]; type OutputTuple = [previousValue: string, newValue: string]; interface OutputObject { previousValue: string; newValue: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NativeAssetEscrowedEvent { type InputTuple = [from: AddressLike, quantity: BigNumberish]; type OutputTuple = [from: string, quantity: bigint]; interface OutputObject { from: string; quantity: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface EarningsEscrow extends BaseContract { connect(runner?: ContractRunner | null): EarningsEscrow; waitForDeployment(): Promise; interface: EarningsEscrowInterface; 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; adminWallet: TypedContractMethod<[], [string], 'view'>; assetAddress: TypedContractMethod<[], [string], 'view'>; distribute: TypedContractMethod<[ distribution: AssetDistributionStruct ], [ void ], 'nonpayable'>; exchangeWallet: TypedContractMethod<[], [string], 'view'>; lastNonce: TypedContractMethod<[arg0: AddressLike], [bigint], 'view'>; loadLastNonce: TypedContractMethod<[wallet: AddressLike], [bigint], 'view'>; loadTotalDistributed: TypedContractMethod<[ wallet: AddressLike ], [ bigint ], 'view'>; ownerWallet: TypedContractMethod<[], [string], 'view'>; removeAdmin: TypedContractMethod<[], [void], 'nonpayable'>; removeExchange: TypedContractMethod<[], [void], 'nonpayable'>; removeOwner: TypedContractMethod<[], [void], 'nonpayable'>; setAdmin: TypedContractMethod<[newAdmin: AddressLike], [void], 'nonpayable'>; setExchange: TypedContractMethod<[ newExchangeWallet: AddressLike ], [ void ], 'nonpayable'>; setOwner: TypedContractMethod<[newOwner: AddressLike], [void], 'nonpayable'>; totalDistributed: TypedContractMethod<[arg0: AddressLike], [bigint], 'view'>; withdrawEscrow: TypedContractMethod<[ quantity: BigNumberish ], [ void ], 'nonpayable'>; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: 'adminWallet'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'assetAddress'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'distribute'): TypedContractMethod<[ distribution: AssetDistributionStruct ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'exchangeWallet'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'lastNonce'): TypedContractMethod<[arg0: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'loadLastNonce'): TypedContractMethod<[wallet: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'loadTotalDistributed'): TypedContractMethod<[wallet: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'ownerWallet'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'removeAdmin'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'removeExchange'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'removeOwner'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'setAdmin'): TypedContractMethod<[newAdmin: AddressLike], [void], 'nonpayable'>; getFunction(nameOrSignature: 'setExchange'): TypedContractMethod<[ newExchangeWallet: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'setOwner'): TypedContractMethod<[newOwner: AddressLike], [void], 'nonpayable'>; getFunction(nameOrSignature: 'totalDistributed'): TypedContractMethod<[arg0: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'withdrawEscrow'): TypedContractMethod<[quantity: BigNumberish], [void], 'nonpayable'>; getEvent(key: 'AssetsDistributed'): TypedContractEvent; getEvent(key: 'EscrowWithdrawn'): TypedContractEvent; getEvent(key: 'ExchangeChanged'): TypedContractEvent; getEvent(key: 'NativeAssetEscrowed'): TypedContractEvent; filters: { 'AssetsDistributed(address,uint256,uint256,uint128)': TypedContractEvent; AssetsDistributed: TypedContractEvent; 'EscrowWithdrawn(uint256,uint256)': TypedContractEvent; EscrowWithdrawn: TypedContractEvent; 'ExchangeChanged(address,address)': TypedContractEvent; ExchangeChanged: TypedContractEvent; 'NativeAssetEscrowed(address,uint256)': TypedContractEvent; NativeAssetEscrowed: TypedContractEvent; }; } //# sourceMappingURL=EarningsEscrow.d.ts.map