@kleros/vea-contracts
Version:
Smart contracts for Vea
161 lines (160 loc) • 9.39 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 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 VeaInboxArbToEthInterface extends Interface {
getFunction(nameOrSignature: "count" | "epochAt" | "epochFinalized" | "epochNow" | "epochPeriod" | "saveSnapshot" | "sendMessage" | "sendSnapshot" | "snapshots" | "veaOutboxArbToEth"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "MessageSent" | "SnapshotSaved" | "SnapshotSent"): EventFragment;
encodeFunctionData(functionFragment: "count", values?: undefined): string;
encodeFunctionData(functionFragment: "epochAt", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "epochFinalized", values?: undefined): string;
encodeFunctionData(functionFragment: "epochNow", values?: undefined): string;
encodeFunctionData(functionFragment: "epochPeriod", values?: undefined): string;
encodeFunctionData(functionFragment: "saveSnapshot", values?: undefined): string;
encodeFunctionData(functionFragment: "sendMessage", values: [AddressLike, BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "sendSnapshot", values: [BigNumberish, ClaimStruct]): string;
encodeFunctionData(functionFragment: "snapshots", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "veaOutboxArbToEth", values?: undefined): string;
decodeFunctionResult(functionFragment: "count", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "epochAt", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "epochFinalized", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "epochNow", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "epochPeriod", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "saveSnapshot", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sendSnapshot", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "snapshots", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "veaOutboxArbToEth", data: BytesLike): Result;
}
export declare namespace MessageSentEvent {
type InputTuple = [_nodeData: BytesLike];
type OutputTuple = [_nodeData: string];
interface OutputObject {
_nodeData: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SnapshotSavedEvent {
type InputTuple = [
_snapshot: BytesLike,
_epoch: BigNumberish,
_count: BigNumberish
];
type OutputTuple = [_snapshot: string, _epoch: bigint, _count: bigint];
interface OutputObject {
_snapshot: string;
_epoch: bigint;
_count: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SnapshotSentEvent {
type InputTuple = [_epochSent: BigNumberish, _ticketId: BytesLike];
type OutputTuple = [_epochSent: bigint, _ticketId: string];
interface OutputObject {
_epochSent: bigint;
_ticketId: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface VeaInboxArbToEth extends BaseContract {
connect(runner?: ContractRunner | null): VeaInboxArbToEth;
waitForDeployment(): Promise<this>;
interface: VeaInboxArbToEthInterface;
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>;
count: TypedContractMethod<[], [bigint], "view">;
epochAt: TypedContractMethod<[_timestamp: BigNumberish], [bigint], "view">;
epochFinalized: TypedContractMethod<[], [bigint], "view">;
epochNow: TypedContractMethod<[], [bigint], "view">;
epochPeriod: TypedContractMethod<[], [bigint], "view">;
saveSnapshot: TypedContractMethod<[], [void], "nonpayable">;
sendMessage: TypedContractMethod<[
_to: AddressLike,
_fnSelector: BytesLike,
_data: BytesLike
], [
bigint
], "nonpayable">;
sendSnapshot: TypedContractMethod<[
_epoch: BigNumberish,
_claim: ClaimStruct
], [
void
], "nonpayable">;
snapshots: TypedContractMethod<[epoch: BigNumberish], [string], "view">;
veaOutboxArbToEth: TypedContractMethod<[], [string], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "count"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "epochAt"): TypedContractMethod<[_timestamp: BigNumberish], [bigint], "view">;
getFunction(nameOrSignature: "epochFinalized"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "epochNow"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "epochPeriod"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "saveSnapshot"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[
_to: AddressLike,
_fnSelector: BytesLike,
_data: BytesLike
], [
bigint
], "nonpayable">;
getFunction(nameOrSignature: "sendSnapshot"): TypedContractMethod<[
_epoch: BigNumberish,
_claim: ClaimStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "snapshots"): TypedContractMethod<[epoch: BigNumberish], [string], "view">;
getFunction(nameOrSignature: "veaOutboxArbToEth"): TypedContractMethod<[], [string], "view">;
getEvent(key: "MessageSent"): TypedContractEvent<MessageSentEvent.InputTuple, MessageSentEvent.OutputTuple, MessageSentEvent.OutputObject>;
getEvent(key: "SnapshotSaved"): TypedContractEvent<SnapshotSavedEvent.InputTuple, SnapshotSavedEvent.OutputTuple, SnapshotSavedEvent.OutputObject>;
getEvent(key: "SnapshotSent"): TypedContractEvent<SnapshotSentEvent.InputTuple, SnapshotSentEvent.OutputTuple, SnapshotSentEvent.OutputObject>;
filters: {
"MessageSent(bytes)": TypedContractEvent<MessageSentEvent.InputTuple, MessageSentEvent.OutputTuple, MessageSentEvent.OutputObject>;
MessageSent: TypedContractEvent<MessageSentEvent.InputTuple, MessageSentEvent.OutputTuple, MessageSentEvent.OutputObject>;
"SnapshotSaved(bytes32,uint256,uint64)": TypedContractEvent<SnapshotSavedEvent.InputTuple, SnapshotSavedEvent.OutputTuple, SnapshotSavedEvent.OutputObject>;
SnapshotSaved: TypedContractEvent<SnapshotSavedEvent.InputTuple, SnapshotSavedEvent.OutputTuple, SnapshotSavedEvent.OutputObject>;
"SnapshotSent(uint256,bytes32)": TypedContractEvent<SnapshotSentEvent.InputTuple, SnapshotSentEvent.OutputTuple, SnapshotSentEvent.OutputObject>;
SnapshotSent: TypedContractEvent<SnapshotSentEvent.InputTuple, SnapshotSentEvent.OutputTuple, SnapshotSentEvent.OutputObject>;
};
}