@catalabs/catalyst-sdk
Version:
Catalyst AMM SDK
441 lines • 20.5 kB
TypeScript
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