@atomiqlabs/chain-evm
Version:
EVM specific base implementation
372 lines (341 loc) • 11.5 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
BaseContract,
BigNumberish,
BytesLike,
FunctionFragment,
Result,
Interface,
EventFragment,
AddressLike,
ContractRunner,
ContractMethod,
Listener,
} from "ethers";
import type {
TypedContractEvent,
TypedDeferredTopicFilter,
TypedEventLog,
TypedLogDescription,
TypedListener,
TypedContractMethod,
} from "../typechain/common";
export type StoredBlockHeaderStruct = {
data: [BytesLike, BytesLike, BytesLike, BytesLike, BytesLike];
};
export type StoredBlockHeaderStructOutput = [
data: [string, string, string, string, string]
] & { data: [string, string, string, string, string] };
export interface BtcRelayInterface extends Interface {
getFunction(
nameOrSignature:
| "getBlockheight"
| "getChainwork"
| "getCommitHash"
| "getTipCommitHash"
| "submitForkBlockheaders"
| "submitMainBlockheaders"
| "submitShortForkBlockheaders"
| "verifyBlockheader"
| "verifyBlockheaderHash"
): FunctionFragment;
getEvent(
nameOrSignatureOrTopic: "ChainReorg" | "StoreForkHeader" | "StoreHeader"
): EventFragment;
encodeFunctionData(
functionFragment: "getBlockheight",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getChainwork",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getCommitHash",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "getTipCommitHash",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "submitForkBlockheaders",
values: [BigNumberish, BytesLike]
): string;
encodeFunctionData(
functionFragment: "submitMainBlockheaders",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "submitShortForkBlockheaders",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "verifyBlockheader",
values: [StoredBlockHeaderStruct]
): string;
encodeFunctionData(
functionFragment: "verifyBlockheaderHash",
values: [BigNumberish, BytesLike]
): string;
decodeFunctionResult(
functionFragment: "getBlockheight",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getChainwork",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getCommitHash",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getTipCommitHash",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "submitForkBlockheaders",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "submitMainBlockheaders",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "submitShortForkBlockheaders",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "verifyBlockheader",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "verifyBlockheaderHash",
data: BytesLike
): Result;
}
export namespace ChainReorgEvent {
export type InputTuple = [
commitHash: BytesLike,
blockHash: BytesLike,
forkId: BigNumberish,
submitter: AddressLike,
startHeight: BigNumberish
];
export type OutputTuple = [
commitHash: string,
blockHash: string,
forkId: bigint,
submitter: string,
startHeight: bigint
];
export interface OutputObject {
commitHash: string;
blockHash: string;
forkId: bigint;
submitter: string;
startHeight: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace StoreForkHeaderEvent {
export type InputTuple = [
commitHash: BytesLike,
blockHash: BytesLike,
forkId: BigNumberish
];
export type OutputTuple = [
commitHash: string,
blockHash: string,
forkId: bigint
];
export interface OutputObject {
commitHash: string;
blockHash: string;
forkId: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace StoreHeaderEvent {
export type InputTuple = [commitHash: BytesLike, blockHash: BytesLike];
export type OutputTuple = [commitHash: string, blockHash: string];
export interface OutputObject {
commitHash: string;
blockHash: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export interface BtcRelay extends BaseContract {
connect(runner?: ContractRunner | null): BtcRelay;
waitForDeployment(): Promise<this>;
interface: BtcRelayInterface;
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>;
getBlockheight: TypedContractMethod<[], [bigint], "view">;
getChainwork: TypedContractMethod<[], [bigint], "view">;
getCommitHash: TypedContractMethod<[height: BigNumberish], [string], "view">;
getTipCommitHash: TypedContractMethod<[], [string], "view">;
submitForkBlockheaders: TypedContractMethod<
[forkId: BigNumberish, data: BytesLike],
[void],
"nonpayable"
>;
submitMainBlockheaders: TypedContractMethod<
[data: BytesLike],
[void],
"nonpayable"
>;
submitShortForkBlockheaders: TypedContractMethod<
[data: BytesLike],
[void],
"nonpayable"
>;
verifyBlockheader: TypedContractMethod<
[storedHeader: StoredBlockHeaderStruct],
[bigint],
"view"
>;
verifyBlockheaderHash: TypedContractMethod<
[height: BigNumberish, commitmentHash: BytesLike],
[bigint],
"view"
>;
getFunction<T extends ContractMethod = ContractMethod>(
key: string | FunctionFragment
): T;
getFunction(
nameOrSignature: "getBlockheight"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getChainwork"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "getCommitHash"
): TypedContractMethod<[height: BigNumberish], [string], "view">;
getFunction(
nameOrSignature: "getTipCommitHash"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "submitForkBlockheaders"
): TypedContractMethod<
[forkId: BigNumberish, data: BytesLike],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "submitMainBlockheaders"
): TypedContractMethod<[data: BytesLike], [void], "nonpayable">;
getFunction(
nameOrSignature: "submitShortForkBlockheaders"
): TypedContractMethod<[data: BytesLike], [void], "nonpayable">;
getFunction(
nameOrSignature: "verifyBlockheader"
): TypedContractMethod<
[storedHeader: StoredBlockHeaderStruct],
[bigint],
"view"
>;
getFunction(
nameOrSignature: "verifyBlockheaderHash"
): TypedContractMethod<
[height: BigNumberish, commitmentHash: BytesLike],
[bigint],
"view"
>;
getEvent(
key: "ChainReorg"
): TypedContractEvent<
ChainReorgEvent.InputTuple,
ChainReorgEvent.OutputTuple,
ChainReorgEvent.OutputObject
>;
getEvent(
key: "StoreForkHeader"
): TypedContractEvent<
StoreForkHeaderEvent.InputTuple,
StoreForkHeaderEvent.OutputTuple,
StoreForkHeaderEvent.OutputObject
>;
getEvent(
key: "StoreHeader"
): TypedContractEvent<
StoreHeaderEvent.InputTuple,
StoreHeaderEvent.OutputTuple,
StoreHeaderEvent.OutputObject
>;
filters: {
"ChainReorg(bytes32,bytes32,uint256,address,uint256)": TypedContractEvent<
ChainReorgEvent.InputTuple,
ChainReorgEvent.OutputTuple,
ChainReorgEvent.OutputObject
>;
ChainReorg: TypedContractEvent<
ChainReorgEvent.InputTuple,
ChainReorgEvent.OutputTuple,
ChainReorgEvent.OutputObject
>;
"StoreForkHeader(bytes32,bytes32,uint256)": TypedContractEvent<
StoreForkHeaderEvent.InputTuple,
StoreForkHeaderEvent.OutputTuple,
StoreForkHeaderEvent.OutputObject
>;
StoreForkHeader: TypedContractEvent<
StoreForkHeaderEvent.InputTuple,
StoreForkHeaderEvent.OutputTuple,
StoreForkHeaderEvent.OutputObject
>;
"StoreHeader(bytes32,bytes32)": TypedContractEvent<
StoreHeaderEvent.InputTuple,
StoreHeaderEvent.OutputTuple,
StoreHeaderEvent.OutputObject
>;
StoreHeader: TypedContractEvent<
StoreHeaderEvent.InputTuple,
StoreHeaderEvent.OutputTuple,
StoreHeaderEvent.OutputObject
>;
};
}