@hashflow/contracts-evm
Version:
EVM Smart Contracts for Solidity
154 lines (153 loc) • 7.08 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
export declare namespace IQuote {
type XChainRFQTQuoteStruct = {
srcChainId: BigNumberish;
dstChainId: BigNumberish;
srcPool: AddressLike;
dstPool: BytesLike;
srcExternalAccount: AddressLike;
dstExternalAccount: BytesLike;
dstTrader: BytesLike;
baseToken: AddressLike;
quoteToken: BytesLike;
effectiveBaseTokenAmount: BigNumberish;
baseTokenAmount: BigNumberish;
quoteTokenAmount: BigNumberish;
quoteExpiry: BigNumberish;
nonce: BigNumberish;
txid: BytesLike;
xChainMessenger: AddressLike;
signature: BytesLike;
};
type XChainRFQTQuoteStructOutput = [
srcChainId: bigint,
dstChainId: bigint,
srcPool: string,
dstPool: string,
srcExternalAccount: string,
dstExternalAccount: string,
dstTrader: string,
baseToken: string,
quoteToken: string,
effectiveBaseTokenAmount: bigint,
baseTokenAmount: bigint,
quoteTokenAmount: bigint,
quoteExpiry: bigint,
nonce: bigint,
txid: string,
xChainMessenger: string,
signature: string
] & {
srcChainId: bigint;
dstChainId: bigint;
srcPool: string;
dstPool: string;
srcExternalAccount: string;
dstExternalAccount: string;
dstTrader: string;
baseToken: string;
quoteToken: string;
effectiveBaseTokenAmount: bigint;
baseTokenAmount: bigint;
quoteTokenAmount: bigint;
quoteExpiry: bigint;
nonce: bigint;
txid: string;
xChainMessenger: string;
signature: string;
};
}
export interface DummyXChainAppInterface extends Interface {
getFunction(nameOrSignature: "authorizeXChainCaller" | "authorizeXChainMessengerCaller" | "debugXCalldata" | "xCaller" | "xChainCall" | "xChainReceive" | "xCounter"): FunctionFragment;
encodeFunctionData(functionFragment: "authorizeXChainCaller", values: [AddressLike, BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "authorizeXChainMessengerCaller", values: [AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "debugXCalldata", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "xCaller", values?: undefined): string;
encodeFunctionData(functionFragment: "xChainCall", values: [AddressLike, AddressLike, IQuote.XChainRFQTQuoteStruct]): string;
encodeFunctionData(functionFragment: "xChainReceive", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "xCounter", values?: undefined): string;
decodeFunctionResult(functionFragment: "authorizeXChainCaller", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "authorizeXChainMessengerCaller", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "debugXCalldata", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "xCaller", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "xChainCall", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "xChainReceive", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "xCounter", data: BytesLike): Result;
}
export interface DummyXChainApp extends BaseContract {
connect(runner?: ContractRunner | null): DummyXChainApp;
waitForDeployment(): Promise<this>;
interface: DummyXChainAppInterface;
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>;
authorizeXChainCaller: TypedContractMethod<[
router: AddressLike,
hashflowChainId: BigNumberish,
caller: BytesLike
], [
void
], "nonpayable">;
authorizeXChainMessengerCaller: TypedContractMethod<[
router: AddressLike,
messenger: AddressLike
], [
void
], "nonpayable">;
debugXCalldata: TypedContractMethod<[
dstContract: AddressLike
], [
[string, string]
], "view">;
xCaller: TypedContractMethod<[], [string], "view">;
xChainCall: TypedContractMethod<[
router: AddressLike,
dstContract: AddressLike,
quote: IQuote.XChainRFQTQuoteStruct
], [
void
], "nonpayable">;
xChainReceive: TypedContractMethod<[
increment: BigNumberish
], [
void
], "nonpayable">;
xCounter: TypedContractMethod<[], [bigint], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "authorizeXChainCaller"): TypedContractMethod<[
router: AddressLike,
hashflowChainId: BigNumberish,
caller: BytesLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "authorizeXChainMessengerCaller"): TypedContractMethod<[
router: AddressLike,
messenger: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "debugXCalldata"): TypedContractMethod<[
dstContract: AddressLike
], [
[string, string]
], "view">;
getFunction(nameOrSignature: "xCaller"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "xChainCall"): TypedContractMethod<[
router: AddressLike,
dstContract: AddressLike,
quote: IQuote.XChainRFQTQuoteStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "xChainReceive"): TypedContractMethod<[increment: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "xCounter"): TypedContractMethod<[], [bigint], "view">;
filters: {};
}