UNPKG

zksync-ethers

Version:

A Web3 library for interacting with the ZkSync Layer 2 scaling solution.

125 lines (124 loc) 5.29 kB
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 L2LogStruct = { l2ShardId: BigNumberish; isService: boolean; txNumberInBatch: BigNumberish; sender: AddressLike; key: BytesLike; value: BytesLike; }; export type L2LogStructOutput = [ l2ShardId: bigint, isService: boolean, txNumberInBatch: bigint, sender: string, key: string, value: string ] & { l2ShardId: bigint; isService: boolean; txNumberInBatch: bigint; sender: string; key: string; value: string; }; export type L2MessageStruct = { txNumberInBatch: BigNumberish; sender: AddressLike; data: BytesLike; }; export type L2MessageStructOutput = [ txNumberInBatch: bigint, sender: string, data: string ] & { txNumberInBatch: bigint; sender: string; data: string; }; export interface L2MessageVerificationInterface extends Interface { getFunction(nameOrSignature: "proveL2LeafInclusionShared" | "proveL2LogInclusionShared" | "proveL2MessageInclusionShared"): FunctionFragment; encodeFunctionData(functionFragment: "proveL2LeafInclusionShared", values: [BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike[]]): string; encodeFunctionData(functionFragment: "proveL2LogInclusionShared", values: [BigNumberish, BigNumberish, BigNumberish, L2LogStruct, BytesLike[]]): string; encodeFunctionData(functionFragment: "proveL2MessageInclusionShared", values: [ BigNumberish, BigNumberish, BigNumberish, L2MessageStruct, BytesLike[] ]): string; decodeFunctionResult(functionFragment: "proveL2LeafInclusionShared", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proveL2LogInclusionShared", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proveL2MessageInclusionShared", data: BytesLike): Result; } export interface L2MessageVerification extends BaseContract { connect(runner?: ContractRunner | null): L2MessageVerification; waitForDeployment(): Promise<this>; interface: L2MessageVerificationInterface; 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>; proveL2LeafInclusionShared: TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _leafProofMask: BigNumberish, _leaf: BytesLike, _proof: BytesLike[] ], [ boolean ], "view">; proveL2LogInclusionShared: TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _index: BigNumberish, _log: L2LogStruct, _proof: BytesLike[] ], [ boolean ], "view">; proveL2MessageInclusionShared: TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _index: BigNumberish, _message: L2MessageStruct, _proof: BytesLike[] ], [ boolean ], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "proveL2LeafInclusionShared"): TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _leafProofMask: BigNumberish, _leaf: BytesLike, _proof: BytesLike[] ], [ boolean ], "view">; getFunction(nameOrSignature: "proveL2LogInclusionShared"): TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _index: BigNumberish, _log: L2LogStruct, _proof: BytesLike[] ], [ boolean ], "view">; getFunction(nameOrSignature: "proveL2MessageInclusionShared"): TypedContractMethod<[ _chainId: BigNumberish, _blockOrBatchNumber: BigNumberish, _index: BigNumberish, _message: L2MessageStruct, _proof: BytesLike[] ], [ boolean ], "view">; filters: {}; }