UNPKG

@kleros/vea-contracts

Version:

Smart contracts for Vea

172 lines (171 loc) 10.9 kB
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>; }; }