import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common.js'; export declare namespace HoprChannels { type ChannelStruct = { balance: BigNumberish; commitment: BytesLike; ticketEpoch: BigNumberish; ticketIndex: BigNumberish; status: BigNumberish; channelEpoch: BigNumberish; closureTime: BigNumberish; }; type ChannelStructOutput = [BigNumber, string, BigNumber, BigNumber, number, BigNumber, number] & { balance: BigNumber; commitment: string; ticketEpoch: BigNumber; ticketIndex: BigNumber; status: number; channelEpoch: BigNumber; closureTime: number; }; } export interface HoprChannelsInterface extends utils.Interface { functions: { 'FUND_CHANNEL_MULTI_SIZE()': FunctionFragment; 'TOKENS_RECIPIENT_INTERFACE_HASH()': FunctionFragment; 'announce(bytes,bytes)': FunctionFragment; 'bumpChannel(address,bytes32)': FunctionFragment; 'canImplementInterfaceForAddress(bytes32,address)': FunctionFragment; 'channels(bytes32)': FunctionFragment; 'finalizeChannelClosure(address)': FunctionFragment; 'fundChannelMulti(address,address,uint256,uint256)': FunctionFragment; 'initiateChannelClosure(address)': FunctionFragment; 'multicall(bytes[])': FunctionFragment; 'publicKeys(address)': FunctionFragment; 'redeemTicket(address,bytes32,uint256,uint256,bytes32,uint256,uint256,bytes)': FunctionFragment; 'secsClosure()': FunctionFragment; 'token()': FunctionFragment; 'tokensReceived(address,address,address,uint256,bytes,bytes)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'FUND_CHANNEL_MULTI_SIZE' | 'TOKENS_RECIPIENT_INTERFACE_HASH' | 'announce' | 'bumpChannel' | 'canImplementInterfaceForAddress' | 'channels' | 'finalizeChannelClosure' | 'fundChannelMulti' | 'initiateChannelClosure' | 'multicall' | 'publicKeys' | 'redeemTicket' | 'secsClosure' | 'token' | 'tokensReceived'): FunctionFragment; encodeFunctionData(functionFragment: 'FUND_CHANNEL_MULTI_SIZE', values?: undefined): string; encodeFunctionData(functionFragment: 'TOKENS_RECIPIENT_INTERFACE_HASH', values?: undefined): string; encodeFunctionData(functionFragment: 'announce', values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'bumpChannel', values: [string, BytesLike]): string; encodeFunctionData(functionFragment: 'canImplementInterfaceForAddress', values: [BytesLike, string]): string; encodeFunctionData(functionFragment: 'channels', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'finalizeChannelClosure', values: [string]): string; encodeFunctionData(functionFragment: 'fundChannelMulti', values: [string, string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'initiateChannelClosure', values: [string]): string; encodeFunctionData(functionFragment: 'multicall', values: [BytesLike[]]): string; encodeFunctionData(functionFragment: 'publicKeys', values: [string]): string; encodeFunctionData(functionFragment: 'redeemTicket', values: [string, BytesLike, BigNumberish, BigNumberish, BytesLike, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: 'secsClosure', values?: undefined): string; encodeFunctionData(functionFragment: 'token', values?: undefined): string; encodeFunctionData(functionFragment: 'tokensReceived', values: [string, string, string, BigNumberish, BytesLike, BytesLike]): string; decodeFunctionResult(functionFragment: 'FUND_CHANNEL_MULTI_SIZE', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'TOKENS_RECIPIENT_INTERFACE_HASH', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'announce', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'bumpChannel', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'canImplementInterfaceForAddress', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'channels', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'finalizeChannelClosure', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'fundChannelMulti', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initiateChannelClosure', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'multicall', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'publicKeys', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'redeemTicket', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'secsClosure', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'token', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'tokensReceived', data: BytesLike): Result; events: { 'Announcement(address,bytes,bytes)': EventFragment; 'ChannelBumped(address,address,bytes32,uint256,uint256)': EventFragment; 'ChannelClosureFinalized(address,address,uint32,uint256)': EventFragment; 'ChannelClosureInitiated(address,address,uint32)': EventFragment; 'ChannelFunded(address,address,address,uint256)': EventFragment; 'ChannelOpened(address,address)': EventFragment; 'ChannelUpdated(address,address,tuple)': EventFragment; 'TicketRedeemed(address,address,bytes32,uint256,uint256,bytes32,uint256,uint256,bytes)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'Announcement'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelBumped'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelClosureFinalized'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelClosureInitiated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelFunded'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelOpened'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ChannelUpdated'): EventFragment; getEvent(nameOrSignatureOrTopic: 'TicketRedeemed'): EventFragment; } export interface AnnouncementEventObject { account: string; publicKey: string; multiaddr: string; } export type AnnouncementEvent = TypedEvent<[string, string, string], AnnouncementEventObject>; export type AnnouncementEventFilter = TypedEventFilter; export interface ChannelBumpedEventObject { source: string; destination: string; newCommitment: string; ticketEpoch: BigNumber; channelBalance: BigNumber; } export type ChannelBumpedEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], ChannelBumpedEventObject>; export type ChannelBumpedEventFilter = TypedEventFilter; export interface ChannelClosureFinalizedEventObject { source: string; destination: string; closureFinalizationTime: number; channelBalance: BigNumber; } export type ChannelClosureFinalizedEvent = TypedEvent<[ string, string, number, BigNumber ], ChannelClosureFinalizedEventObject>; export type ChannelClosureFinalizedEventFilter = TypedEventFilter; export interface ChannelClosureInitiatedEventObject { source: string; destination: string; closureInitiationTime: number; } export type ChannelClosureInitiatedEvent = TypedEvent<[string, string, number], ChannelClosureInitiatedEventObject>; export type ChannelClosureInitiatedEventFilter = TypedEventFilter; export interface ChannelFundedEventObject { funder: string; source: string; destination: string; amount: BigNumber; } export type ChannelFundedEvent = TypedEvent<[string, string, string, BigNumber], ChannelFundedEventObject>; export type ChannelFundedEventFilter = TypedEventFilter; export interface ChannelOpenedEventObject { source: string; destination: string; } export type ChannelOpenedEvent = TypedEvent<[string, string], ChannelOpenedEventObject>; export type ChannelOpenedEventFilter = TypedEventFilter; export interface ChannelUpdatedEventObject { source: string; destination: string; newState: HoprChannels.ChannelStructOutput; } export type ChannelUpdatedEvent = TypedEvent<[ string, string, HoprChannels.ChannelStructOutput ], ChannelUpdatedEventObject>; export type ChannelUpdatedEventFilter = TypedEventFilter; export interface TicketRedeemedEventObject { source: string; destination: string; nextCommitment: string; ticketEpoch: BigNumber; ticketIndex: BigNumber; proofOfRelaySecret: string; amount: BigNumber; winProb: BigNumber; signature: string; } export type TicketRedeemedEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber, string, BigNumber, BigNumber, string ], TicketRedeemedEventObject>; export type TicketRedeemedEventFilter = TypedEventFilter; export interface HoprChannels extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: HoprChannelsInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { FUND_CHANNEL_MULTI_SIZE(overrides?: CallOverrides): Promise<[BigNumber]>; TOKENS_RECIPIENT_INTERFACE_HASH(overrides?: CallOverrides): Promise<[string]>; announce(publicKey: BytesLike, multiaddr: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; bumpChannel(source: string, newCommitment: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; canImplementInterfaceForAddress(interfaceHash: BytesLike, account: string, overrides?: CallOverrides): Promise<[string]>; channels(arg0: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, string, BigNumber, BigNumber, number, BigNumber, number ] & { balance: BigNumber; commitment: string; ticketEpoch: BigNumber; ticketIndex: BigNumber; status: number; channelEpoch: BigNumber; closureTime: number; }>; finalizeChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; fundChannelMulti(account1: string, account2: string, amount1: BigNumberish, amount2: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initiateChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; publicKeys(arg0: string, overrides?: CallOverrides): Promise<[string]>; redeemTicket(source: string, nextCommitment: BytesLike, ticketEpoch: BigNumberish, ticketIndex: BigNumberish, proofOfRelaySecret: BytesLike, amount: BigNumberish, winProb: BigNumberish, signature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; secsClosure(overrides?: CallOverrides): Promise<[number]>; token(overrides?: CallOverrides): Promise<[string]>; tokensReceived(operator: string, from: string, to: string, amount: BigNumberish, userData: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; }; FUND_CHANNEL_MULTI_SIZE(overrides?: CallOverrides): Promise; TOKENS_RECIPIENT_INTERFACE_HASH(overrides?: CallOverrides): Promise; announce(publicKey: BytesLike, multiaddr: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; bumpChannel(source: string, newCommitment: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; canImplementInterfaceForAddress(interfaceHash: BytesLike, account: string, overrides?: CallOverrides): Promise; channels(arg0: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, string, BigNumber, BigNumber, number, BigNumber, number ] & { balance: BigNumber; commitment: string; ticketEpoch: BigNumber; ticketIndex: BigNumber; status: number; channelEpoch: BigNumber; closureTime: number; }>; finalizeChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; fundChannelMulti(account1: string, account2: string, amount1: BigNumberish, amount2: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initiateChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; publicKeys(arg0: string, overrides?: CallOverrides): Promise; redeemTicket(source: string, nextCommitment: BytesLike, ticketEpoch: BigNumberish, ticketIndex: BigNumberish, proofOfRelaySecret: BytesLike, amount: BigNumberish, winProb: BigNumberish, signature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; secsClosure(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; tokensReceived(operator: string, from: string, to: string, amount: BigNumberish, userData: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { FUND_CHANNEL_MULTI_SIZE(overrides?: CallOverrides): Promise; TOKENS_RECIPIENT_INTERFACE_HASH(overrides?: CallOverrides): Promise; announce(publicKey: BytesLike, multiaddr: BytesLike, overrides?: CallOverrides): Promise; bumpChannel(source: string, newCommitment: BytesLike, overrides?: CallOverrides): Promise; canImplementInterfaceForAddress(interfaceHash: BytesLike, account: string, overrides?: CallOverrides): Promise; channels(arg0: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, string, BigNumber, BigNumber, number, BigNumber, number ] & { balance: BigNumber; commitment: string; ticketEpoch: BigNumber; ticketIndex: BigNumber; status: number; channelEpoch: BigNumber; closureTime: number; }>; finalizeChannelClosure(destination: string, overrides?: CallOverrides): Promise; fundChannelMulti(account1: string, account2: string, amount1: BigNumberish, amount2: BigNumberish, overrides?: CallOverrides): Promise; initiateChannelClosure(destination: string, overrides?: CallOverrides): Promise; multicall(data: BytesLike[], overrides?: CallOverrides): Promise; publicKeys(arg0: string, overrides?: CallOverrides): Promise; redeemTicket(source: string, nextCommitment: BytesLike, ticketEpoch: BigNumberish, ticketIndex: BigNumberish, proofOfRelaySecret: BytesLike, amount: BigNumberish, winProb: BigNumberish, signature: BytesLike, overrides?: CallOverrides): Promise; secsClosure(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; tokensReceived(operator: string, from: string, to: string, amount: BigNumberish, userData: BytesLike, operatorData: BytesLike, overrides?: CallOverrides): Promise; }; filters: { 'Announcement(address,bytes,bytes)'(account?: string | null, publicKey?: null, multiaddr?: null): AnnouncementEventFilter; Announcement(account?: string | null, publicKey?: null, multiaddr?: null): AnnouncementEventFilter; 'ChannelBumped(address,address,bytes32,uint256,uint256)'(source?: string | null, destination?: string | null, newCommitment?: null, ticketEpoch?: null, channelBalance?: null): ChannelBumpedEventFilter; ChannelBumped(source?: string | null, destination?: string | null, newCommitment?: null, ticketEpoch?: null, channelBalance?: null): ChannelBumpedEventFilter; 'ChannelClosureFinalized(address,address,uint32,uint256)'(source?: string | null, destination?: string | null, closureFinalizationTime?: null, channelBalance?: null): ChannelClosureFinalizedEventFilter; ChannelClosureFinalized(source?: string | null, destination?: string | null, closureFinalizationTime?: null, channelBalance?: null): ChannelClosureFinalizedEventFilter; 'ChannelClosureInitiated(address,address,uint32)'(source?: string | null, destination?: string | null, closureInitiationTime?: null): ChannelClosureInitiatedEventFilter; ChannelClosureInitiated(source?: string | null, destination?: string | null, closureInitiationTime?: null): ChannelClosureInitiatedEventFilter; 'ChannelFunded(address,address,address,uint256)'(funder?: string | null, source?: string | null, destination?: string | null, amount?: null): ChannelFundedEventFilter; ChannelFunded(funder?: string | null, source?: string | null, destination?: string | null, amount?: null): ChannelFundedEventFilter; 'ChannelOpened(address,address)'(source?: string | null, destination?: string | null): ChannelOpenedEventFilter; ChannelOpened(source?: string | null, destination?: string | null): ChannelOpenedEventFilter; 'ChannelUpdated(address,address,tuple)'(source?: string | null, destination?: string | null, newState?: null): ChannelUpdatedEventFilter; ChannelUpdated(source?: string | null, destination?: string | null, newState?: null): ChannelUpdatedEventFilter; 'TicketRedeemed(address,address,bytes32,uint256,uint256,bytes32,uint256,uint256,bytes)'(source?: string | null, destination?: string | null, nextCommitment?: null, ticketEpoch?: null, ticketIndex?: null, proofOfRelaySecret?: null, amount?: null, winProb?: null, signature?: null): TicketRedeemedEventFilter; TicketRedeemed(source?: string | null, destination?: string | null, nextCommitment?: null, ticketEpoch?: null, ticketIndex?: null, proofOfRelaySecret?: null, amount?: null, winProb?: null, signature?: null): TicketRedeemedEventFilter; }; estimateGas: { FUND_CHANNEL_MULTI_SIZE(overrides?: CallOverrides): Promise; TOKENS_RECIPIENT_INTERFACE_HASH(overrides?: CallOverrides): Promise; announce(publicKey: BytesLike, multiaddr: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; bumpChannel(source: string, newCommitment: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; canImplementInterfaceForAddress(interfaceHash: BytesLike, account: string, overrides?: CallOverrides): Promise; channels(arg0: BytesLike, overrides?: CallOverrides): Promise; finalizeChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; fundChannelMulti(account1: string, account2: string, amount1: BigNumberish, amount2: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initiateChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; publicKeys(arg0: string, overrides?: CallOverrides): Promise; redeemTicket(source: string, nextCommitment: BytesLike, ticketEpoch: BigNumberish, ticketIndex: BigNumberish, proofOfRelaySecret: BytesLike, amount: BigNumberish, winProb: BigNumberish, signature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; secsClosure(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; tokensReceived(operator: string, from: string, to: string, amount: BigNumberish, userData: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { FUND_CHANNEL_MULTI_SIZE(overrides?: CallOverrides): Promise; TOKENS_RECIPIENT_INTERFACE_HASH(overrides?: CallOverrides): Promise; announce(publicKey: BytesLike, multiaddr: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; bumpChannel(source: string, newCommitment: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; canImplementInterfaceForAddress(interfaceHash: BytesLike, account: string, overrides?: CallOverrides): Promise; channels(arg0: BytesLike, overrides?: CallOverrides): Promise; finalizeChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; fundChannelMulti(account1: string, account2: string, amount1: BigNumberish, amount2: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; initiateChannelClosure(destination: string, overrides?: Overrides & { from?: string | Promise; }): Promise; multicall(data: BytesLike[], overrides?: Overrides & { from?: string | Promise; }): Promise; publicKeys(arg0: string, overrides?: CallOverrides): Promise; redeemTicket(source: string, nextCommitment: BytesLike, ticketEpoch: BigNumberish, ticketIndex: BigNumberish, proofOfRelaySecret: BytesLike, amount: BigNumberish, winProb: BigNumberish, signature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; secsClosure(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; tokensReceived(operator: string, from: string, to: string, amount: BigNumberish, userData: BytesLike, operatorData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; }; } //# sourceMappingURL=HoprChannels.d.ts.map