@kleros/vea-contracts
Version:
Smart contracts for Vea
172 lines (171 loc) • 10.9 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 RouterArbToGnosisInterface extends Interface {
getFunction(nameOrSignature: "amb" | "bridge" | "executeSequencerDelayLimitDecreaseRequest" | "route" | "sequencerDelayLimit" | "sequencerDelayLimitDecreaseRequest" | "updateSequencerDelayLimit" | "veaInboxArbToGnosis" | "veaOutboxArbToGnosis"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "Routed" | "SequencerDelayLimitDecreaseRequested" | "SequencerDelayLimitSent" | "SequencerDelayLimitUpdated"): EventFragment;
encodeFunctionData(functionFragment: "amb", values?: undefined): string;
encodeFunctionData(functionFragment: "bridge", values?: undefined): string;
encodeFunctionData(functionFragment: "executeSequencerDelayLimitDecreaseRequest", values?: undefined): string;
encodeFunctionData(functionFragment: "route", values: [BigNumberish, BytesLike, BigNumberish, ClaimStruct]): string;
encodeFunctionData(functionFragment: "sequencerDelayLimit", values?: undefined): string;
encodeFunctionData(functionFragment: "sequencerDelayLimitDecreaseRequest", values?: undefined): string;
encodeFunctionData(functionFragment: "updateSequencerDelayLimit", values?: undefined): string;
encodeFunctionData(functionFragment: "veaInboxArbToGnosis", values?: undefined): string;
encodeFunctionData(functionFragment: "veaOutboxArbToGnosis", values?: undefined): string;
decodeFunctionResult(functionFragment: "amb", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "bridge", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "executeSequencerDelayLimitDecreaseRequest", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "route", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sequencerDelayLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sequencerDelayLimitDecreaseRequest", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateSequencerDelayLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "veaInboxArbToGnosis", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "veaOutboxArbToGnosis", data: BytesLike): Result;
}
export declare namespace RoutedEvent {
type InputTuple = [_epoch: BigNumberish, _ticketID: BytesLike];
type OutputTuple = [_epoch: bigint, _ticketID: string];
interface OutputObject {
_epoch: bigint;
_ticketID: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SequencerDelayLimitDecreaseRequestedEvent {
type InputTuple = [_requestedSequencerDelayLimit: BigNumberish];
type OutputTuple = [_requestedSequencerDelayLimit: bigint];
interface OutputObject {
_requestedSequencerDelayLimit: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SequencerDelayLimitSentEvent {
type InputTuple = [_ticketID: BytesLike];
type OutputTuple = [_ticketID: string];
interface OutputObject {
_ticketID: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SequencerDelayLimitUpdatedEvent {
type InputTuple = [_newSequencerDelayLimit: BigNumberish];
type OutputTuple = [_newSequencerDelayLimit: bigint];
interface OutputObject {
_newSequencerDelayLimit: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface RouterArbToGnosis extends BaseContract {
connect(runner?: ContractRunner | null): RouterArbToGnosis;
waitForDeployment(): Promise<this>;
interface: RouterArbToGnosisInterface;
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>;
amb: TypedContractMethod<[], [string], "view">;
bridge: TypedContractMethod<[], [string], "view">;
executeSequencerDelayLimitDecreaseRequest: TypedContractMethod<[
], [
void
], "nonpayable">;
route: TypedContractMethod<[
_epoch: BigNumberish,
_stateroot: BytesLike,
_gasLimit: BigNumberish,
_claim: ClaimStruct
], [
void
], "nonpayable">;
sequencerDelayLimit: TypedContractMethod<[], [bigint], "view">;
sequencerDelayLimitDecreaseRequest: TypedContractMethod<[
], [
[bigint, bigint] & {
requestedSequencerLimit: bigint;
timestamp: bigint;
}
], "view">;
updateSequencerDelayLimit: TypedContractMethod<[], [void], "nonpayable">;
veaInboxArbToGnosis: TypedContractMethod<[], [string], "view">;
veaOutboxArbToGnosis: TypedContractMethod<[], [string], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "amb"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "bridge"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "executeSequencerDelayLimitDecreaseRequest"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "route"): TypedContractMethod<[
_epoch: BigNumberish,
_stateroot: BytesLike,
_gasLimit: BigNumberish,
_claim: ClaimStruct
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "sequencerDelayLimit"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "sequencerDelayLimitDecreaseRequest"): TypedContractMethod<[
], [
[bigint, bigint] & {
requestedSequencerLimit: bigint;
timestamp: bigint;
}
], "view">;
getFunction(nameOrSignature: "updateSequencerDelayLimit"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "veaInboxArbToGnosis"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "veaOutboxArbToGnosis"): TypedContractMethod<[], [string], "view">;
getEvent(key: "Routed"): TypedContractEvent<RoutedEvent.InputTuple, RoutedEvent.OutputTuple, RoutedEvent.OutputObject>;
getEvent(key: "SequencerDelayLimitDecreaseRequested"): TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
getEvent(key: "SequencerDelayLimitSent"): TypedContractEvent<SequencerDelayLimitSentEvent.InputTuple, SequencerDelayLimitSentEvent.OutputTuple, SequencerDelayLimitSentEvent.OutputObject>;
getEvent(key: "SequencerDelayLimitUpdated"): TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
filters: {
"Routed(uint256,bytes32)": TypedContractEvent<RoutedEvent.InputTuple, RoutedEvent.OutputTuple, RoutedEvent.OutputObject>;
Routed: TypedContractEvent<RoutedEvent.InputTuple, RoutedEvent.OutputTuple, RoutedEvent.OutputObject>;
"SequencerDelayLimitDecreaseRequested(uint256)": TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
SequencerDelayLimitDecreaseRequested: TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
"SequencerDelayLimitSent(bytes32)": TypedContractEvent<SequencerDelayLimitSentEvent.InputTuple, SequencerDelayLimitSentEvent.OutputTuple, SequencerDelayLimitSentEvent.OutputObject>;
SequencerDelayLimitSent: TypedContractEvent<SequencerDelayLimitSentEvent.InputTuple, SequencerDelayLimitSentEvent.OutputTuple, SequencerDelayLimitSentEvent.OutputObject>;
"SequencerDelayLimitUpdated(uint256)": TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
SequencerDelayLimitUpdated: TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
};
}