UNPKG

@catalabs/catalyst-sdk

Version:
441 lines 20.5 kB
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 IMessageEscrowStructs { type IncentiveDescriptionStruct = { maxGasDelivery: BigNumberish; maxGasAck: BigNumberish; refundGasTo: AddressLike; priceOfDeliveryGas: BigNumberish; priceOfAckGas: BigNumberish; targetDelta: BigNumberish; }; type IncentiveDescriptionStructOutput = [ maxGasDelivery: bigint, maxGasAck: bigint, refundGasTo: string, priceOfDeliveryGas: bigint, priceOfAckGas: bigint, targetDelta: bigint ] & { maxGasDelivery: bigint; maxGasAck: bigint; refundGasTo: string; priceOfDeliveryGas: bigint; priceOfAckGas: bigint; targetDelta: bigint; }; } export interface GarpInterface extends Interface { getFunction(nameOrSignature: 'bounty' | 'estimateAdditionalCost(bytes32)' | 'estimateAdditionalCost()' | 'increaseBounty' | 'messageDelivered' | 'processPacket' | 'reemitAckMessage' | 'setRemoteImplementation' | 'submitMessage' | 'timeoutMessage'): FunctionFragment; getEvent(nameOrSignatureOrTopic: 'BountyClaimed' | 'BountyIncreased' | 'BountyPlaced' | 'MessageAcked' | 'MessageDelivered' | 'MessageTimedOut' | 'RemoteImplementationSet' | 'TimeoutInitiated'): EventFragment; encodeFunctionData(functionFragment: 'bounty', values: [AddressLike, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'estimateAdditionalCost(bytes32)', values: [BytesLike]): string; encodeFunctionData(functionFragment: 'estimateAdditionalCost()', values?: undefined): string; encodeFunctionData(functionFragment: 'increaseBounty', values: [AddressLike, BytesLike, BytesLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'messageDelivered', values: [BytesLike, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'processPacket', values: [BytesLike, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'reemitAckMessage', values: [BytesLike, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'setRemoteImplementation', values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: 'submitMessage', values: [ BytesLike, BytesLike, BytesLike, IMessageEscrowStructs.IncentiveDescriptionStruct, BigNumberish ]): string; encodeFunctionData(functionFragment: 'timeoutMessage', values: [BytesLike, BytesLike, BigNumberish, BytesLike]): string; decodeFunctionResult(functionFragment: 'bounty', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'estimateAdditionalCost(bytes32)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'estimateAdditionalCost()', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'increaseBounty', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'messageDelivered', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'processPacket', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'reemitAckMessage', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setRemoteImplementation', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'submitMessage', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'timeoutMessage', data: BytesLike): Result; } export declare namespace BountyClaimedEvent { type InputTuple = [ destinationImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike, gasSpentOnDestination: BigNumberish, gasSpentOnSource: BigNumberish, destinationRelayerReward: BigNumberish, sourceRelayerReward: BigNumberish ]; type OutputTuple = [ destinationImplementation: string, chainIdentifier: string, messageIdentifier: string, gasSpentOnDestination: bigint, gasSpentOnSource: bigint, destinationRelayerReward: bigint, sourceRelayerReward: bigint ]; interface OutputObject { destinationImplementation: string; chainIdentifier: string; messageIdentifier: string; gasSpentOnDestination: bigint; gasSpentOnSource: bigint; destinationRelayerReward: bigint; sourceRelayerReward: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace BountyIncreasedEvent { type InputTuple = [ messageIdentifier: BytesLike, newDeliveryGasPrice: BigNumberish, newAckGasPrice: BigNumberish ]; type OutputTuple = [ messageIdentifier: string, newDeliveryGasPrice: bigint, newAckGasPrice: bigint ]; interface OutputObject { messageIdentifier: string; newDeliveryGasPrice: bigint; newAckGasPrice: bigint; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace BountyPlacedEvent { type InputTuple = [ destinationImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike, incentive: IMessageEscrowStructs.IncentiveDescriptionStruct ]; type OutputTuple = [ destinationImplementation: string, chainIdentifier: string, messageIdentifier: string, incentive: IMessageEscrowStructs.IncentiveDescriptionStructOutput ]; interface OutputObject { destinationImplementation: string; chainIdentifier: string; messageIdentifier: string; incentive: IMessageEscrowStructs.IncentiveDescriptionStructOutput; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace MessageAckedEvent { type InputTuple = [ destinationImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike ]; type OutputTuple = [ destinationImplementation: string, chainIdentifier: string, messageIdentifier: string ]; interface OutputObject { destinationImplementation: string; chainIdentifier: string; messageIdentifier: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace MessageDeliveredEvent { type InputTuple = [ sourceImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike ]; type OutputTuple = [ sourceImplementation: string, chainIdentifier: string, messageIdentifier: string ]; interface OutputObject { sourceImplementation: string; chainIdentifier: string; messageIdentifier: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace MessageTimedOutEvent { type InputTuple = [ destinationImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike ]; type OutputTuple = [ destinationImplementation: string, chainIdentifier: string, messageIdentifier: string ]; interface OutputObject { destinationImplementation: string; chainIdentifier: string; messageIdentifier: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace RemoteImplementationSetEvent { type InputTuple = [ application: AddressLike, chainIdentifier: BytesLike, implementationAddressHash: BytesLike, implementationAddress: BytesLike ]; type OutputTuple = [ application: string, chainIdentifier: string, implementationAddressHash: string, implementationAddress: string ]; interface OutputObject { application: string; chainIdentifier: string; implementationAddressHash: string; implementationAddress: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export declare namespace TimeoutInitiatedEvent { type InputTuple = [ sourceImplementation: BytesLike, chainIdentifier: BytesLike, messageIdentifier: BytesLike ]; type OutputTuple = [ sourceImplementation: string, chainIdentifier: string, messageIdentifier: string ]; interface OutputObject { sourceImplementation: string; chainIdentifier: string; messageIdentifier: string; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export interface Garp extends BaseContract { connect(runner?: ContractRunner | null): Garp; waitForDeployment(): Promise<this>; interface: GarpInterface; queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>; on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>; once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>; listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>; bounty: TypedContractMethod<[ fromApplication: AddressLike, destinationIdentifier: BytesLike, messageIdentifier: BytesLike ], [ IMessageEscrowStructs.IncentiveDescriptionStructOutput ], 'view'>; 'estimateAdditionalCost(bytes32)': TypedContractMethod<[ destinationChainIdentifier: BytesLike ], [ [string, bigint] & { asset: string; amount: bigint; } ], 'view'>; 'estimateAdditionalCost()': TypedContractMethod<[ ], [ [string, bigint] & { asset: string; amount: bigint; } ], 'view'>; increaseBounty: TypedContractMethod<[ fromApplication: AddressLike, destinationIdentifier: BytesLike, messageIdentifier: BytesLike, priceOfDeliveryGas: BigNumberish, priceOfAckGas: BigNumberish ], [ void ], 'payable'>; messageDelivered: TypedContractMethod<[ sourceIdentifier: BytesLike, sourceImplementationIdentifier: BytesLike, messageIdentifier: BytesLike ], [ string ], 'view'>; processPacket: TypedContractMethod<[ messagingProtocolContext: BytesLike, message: BytesLike, feeRecipient: BytesLike ], [ void ], 'payable'>; reemitAckMessage: TypedContractMethod<[ sourceIdentifier: BytesLike, implementationIdentifier: BytesLike, receiveAckWithContext: BytesLike ], [ void ], 'payable'>; setRemoteImplementation: TypedContractMethod<[ chainIdentifier: BytesLike, implementation: BytesLike ], [ void ], 'nonpayable'>; submitMessage: TypedContractMethod<[ destinationIdentifier: BytesLike, destinationAddress: BytesLike, message: BytesLike, incentive: IMessageEscrowStructs.IncentiveDescriptionStruct, deadline: BigNumberish ], [ [bigint, string] & { gasRefund: bigint; messageIdentifier: string; } ], 'payable'>; timeoutMessage: TypedContractMethod<[ sourceIdentifier: BytesLike, implementationIdentifier: BytesLike, originBlockNumber: BigNumberish, message: BytesLike ], [ void ], 'payable'>; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: 'bounty'): TypedContractMethod<[ fromApplication: AddressLike, destinationIdentifier: BytesLike, messageIdentifier: BytesLike ], [ IMessageEscrowStructs.IncentiveDescriptionStructOutput ], 'view'>; getFunction(nameOrSignature: 'estimateAdditionalCost(bytes32)'): TypedContractMethod<[ destinationChainIdentifier: BytesLike ], [ [string, bigint] & { asset: string; amount: bigint; } ], 'view'>; getFunction(nameOrSignature: 'estimateAdditionalCost()'): TypedContractMethod<[ ], [ [string, bigint] & { asset: string; amount: bigint; } ], 'view'>; getFunction(nameOrSignature: 'increaseBounty'): TypedContractMethod<[ fromApplication: AddressLike, destinationIdentifier: BytesLike, messageIdentifier: BytesLike, priceOfDeliveryGas: BigNumberish, priceOfAckGas: BigNumberish ], [ void ], 'payable'>; getFunction(nameOrSignature: 'messageDelivered'): TypedContractMethod<[ sourceIdentifier: BytesLike, sourceImplementationIdentifier: BytesLike, messageIdentifier: BytesLike ], [ string ], 'view'>; getFunction(nameOrSignature: 'processPacket'): TypedContractMethod<[ messagingProtocolContext: BytesLike, message: BytesLike, feeRecipient: BytesLike ], [ void ], 'payable'>; getFunction(nameOrSignature: 'reemitAckMessage'): TypedContractMethod<[ sourceIdentifier: BytesLike, implementationIdentifier: BytesLike, receiveAckWithContext: BytesLike ], [ void ], 'payable'>; getFunction(nameOrSignature: 'setRemoteImplementation'): TypedContractMethod<[ chainIdentifier: BytesLike, implementation: BytesLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'submitMessage'): TypedContractMethod<[ destinationIdentifier: BytesLike, destinationAddress: BytesLike, message: BytesLike, incentive: IMessageEscrowStructs.IncentiveDescriptionStruct, deadline: BigNumberish ], [ [bigint, string] & { gasRefund: bigint; messageIdentifier: string; } ], 'payable'>; getFunction(nameOrSignature: 'timeoutMessage'): TypedContractMethod<[ sourceIdentifier: BytesLike, implementationIdentifier: BytesLike, originBlockNumber: BigNumberish, message: BytesLike ], [ void ], 'payable'>; getEvent(key: 'BountyClaimed'): TypedContractEvent<BountyClaimedEvent.InputTuple, BountyClaimedEvent.OutputTuple, BountyClaimedEvent.OutputObject>; getEvent(key: 'BountyIncreased'): TypedContractEvent<BountyIncreasedEvent.InputTuple, BountyIncreasedEvent.OutputTuple, BountyIncreasedEvent.OutputObject>; getEvent(key: 'BountyPlaced'): TypedContractEvent<BountyPlacedEvent.InputTuple, BountyPlacedEvent.OutputTuple, BountyPlacedEvent.OutputObject>; getEvent(key: 'MessageAcked'): TypedContractEvent<MessageAckedEvent.InputTuple, MessageAckedEvent.OutputTuple, MessageAckedEvent.OutputObject>; getEvent(key: 'MessageDelivered'): TypedContractEvent<MessageDeliveredEvent.InputTuple, MessageDeliveredEvent.OutputTuple, MessageDeliveredEvent.OutputObject>; getEvent(key: 'MessageTimedOut'): TypedContractEvent<MessageTimedOutEvent.InputTuple, MessageTimedOutEvent.OutputTuple, MessageTimedOutEvent.OutputObject>; getEvent(key: 'RemoteImplementationSet'): TypedContractEvent<RemoteImplementationSetEvent.InputTuple, RemoteImplementationSetEvent.OutputTuple, RemoteImplementationSetEvent.OutputObject>; getEvent(key: 'TimeoutInitiated'): TypedContractEvent<TimeoutInitiatedEvent.InputTuple, TimeoutInitiatedEvent.OutputTuple, TimeoutInitiatedEvent.OutputObject>; filters: { 'BountyClaimed(bytes,bytes32,bytes32,uint64,uint64,uint128,uint128)': TypedContractEvent<BountyClaimedEvent.InputTuple, BountyClaimedEvent.OutputTuple, BountyClaimedEvent.OutputObject>; BountyClaimed: TypedContractEvent<BountyClaimedEvent.InputTuple, BountyClaimedEvent.OutputTuple, BountyClaimedEvent.OutputObject>; 'BountyIncreased(bytes32,uint96,uint96)': TypedContractEvent<BountyIncreasedEvent.InputTuple, BountyIncreasedEvent.OutputTuple, BountyIncreasedEvent.OutputObject>; BountyIncreased: TypedContractEvent<BountyIncreasedEvent.InputTuple, BountyIncreasedEvent.OutputTuple, BountyIncreasedEvent.OutputObject>; 'BountyPlaced(bytes,bytes32,bytes32,tuple)': TypedContractEvent<BountyPlacedEvent.InputTuple, BountyPlacedEvent.OutputTuple, BountyPlacedEvent.OutputObject>; BountyPlaced: TypedContractEvent<BountyPlacedEvent.InputTuple, BountyPlacedEvent.OutputTuple, BountyPlacedEvent.OutputObject>; 'MessageAcked(bytes,bytes32,bytes32)': TypedContractEvent<MessageAckedEvent.InputTuple, MessageAckedEvent.OutputTuple, MessageAckedEvent.OutputObject>; MessageAcked: TypedContractEvent<MessageAckedEvent.InputTuple, MessageAckedEvent.OutputTuple, MessageAckedEvent.OutputObject>; 'MessageDelivered(bytes,bytes32,bytes32)': TypedContractEvent<MessageDeliveredEvent.InputTuple, MessageDeliveredEvent.OutputTuple, MessageDeliveredEvent.OutputObject>; MessageDelivered: TypedContractEvent<MessageDeliveredEvent.InputTuple, MessageDeliveredEvent.OutputTuple, MessageDeliveredEvent.OutputObject>; 'MessageTimedOut(bytes,bytes32,bytes32)': TypedContractEvent<MessageTimedOutEvent.InputTuple, MessageTimedOutEvent.OutputTuple, MessageTimedOutEvent.OutputObject>; MessageTimedOut: TypedContractEvent<MessageTimedOutEvent.InputTuple, MessageTimedOutEvent.OutputTuple, MessageTimedOutEvent.OutputObject>; 'RemoteImplementationSet(address,bytes32,bytes32,bytes)': TypedContractEvent<RemoteImplementationSetEvent.InputTuple, RemoteImplementationSetEvent.OutputTuple, RemoteImplementationSetEvent.OutputObject>; RemoteImplementationSet: TypedContractEvent<RemoteImplementationSetEvent.InputTuple, RemoteImplementationSetEvent.OutputTuple, RemoteImplementationSetEvent.OutputObject>; 'TimeoutInitiated(bytes,bytes32,bytes32)': TypedContractEvent<TimeoutInitiatedEvent.InputTuple, TimeoutInitiatedEvent.OutputTuple, TimeoutInitiatedEvent.OutputObject>; TimeoutInitiated: TypedContractEvent<TimeoutInitiatedEvent.InputTuple, TimeoutInitiatedEvent.OutputTuple, TimeoutInitiatedEvent.OutputObject>; }; } //# sourceMappingURL=Garp.d.ts.map