@kleros/vea-contracts
Version:
Smart contracts for Vea
82 lines (81 loc) • 3.86 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 type ClaimStruct = {
stateRoot: BytesLike;
claimer: AddressLike;
timestampClaimed: BigNumberish;
timestampVerification: BigNumberish;
blocknumberVerification: BigNumberish;
honest: BigNumberish;
challenger: AddressLike;
};
export type ClaimStructOutput = [
stateRoot: string,
claimer: string,
timestampClaimed: bigint,
timestampVerification: bigint,
blocknumberVerification: bigint,
honest: bigint,
challenger: string
] & {
stateRoot: string;
claimer: string;
timestampClaimed: bigint;
timestampVerification: bigint;
blocknumberVerification: bigint;
honest: bigint;
challenger: string;
};
export interface IVeaOutboxOnL1Interface extends Interface {
getFunction(nameOrSignature: "resolveDisputedClaim" | "sendMessage"): FunctionFragment;
encodeFunctionData(functionFragment: "resolveDisputedClaim", values: [BigNumberish, BytesLike, ClaimStruct]): string;
encodeFunctionData(functionFragment: "sendMessage", values: [BytesLike[], BigNumberish, AddressLike, BytesLike]): string;
decodeFunctionResult(functionFragment: "resolveDisputedClaim", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result;
}
export interface IVeaOutboxOnL1 extends BaseContract {
connect(runner?: ContractRunner | null): IVeaOutboxOnL1;
waitForDeployment(): Promise<this>;
interface: IVeaOutboxOnL1Interface;
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>;
resolveDisputedClaim: TypedContractMethod<[
_epoch: BigNumberish,
_stateRoot: BytesLike,
_claim: ClaimStruct
], [
void
], "nonpayable">;
sendMessage: TypedContractMethod<[
_proof: BytesLike[],
_msgId: BigNumberish,
_to: AddressLike,
_message: BytesLike
], [
void
], "nonpayable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "resolveDisputedClaim"): TypedContractMethod<[
_epoch: BigNumberish,
_stateRoot: BytesLike,
_claim: ClaimStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[
_proof: BytesLike[],
_msgId: BigNumberish,
_to: AddressLike,
_message: BytesLike
], [
void
], "nonpayable">;
filters: {};
}