zksync-ethers
Version:
A Web3 library for interacting with the ZkSync Layer 2 scaling solution.
744 lines (697 loc) • 19.1 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
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 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 type L2TransactionRequestDirectStruct = {
chainId: BigNumberish;
mintValue: BigNumberish;
l2Contract: AddressLike;
l2Value: BigNumberish;
l2Calldata: BytesLike;
l2GasLimit: BigNumberish;
l2GasPerPubdataByteLimit: BigNumberish;
factoryDeps: BytesLike[];
refundRecipient: AddressLike;
};
export type L2TransactionRequestDirectStructOutput = [
chainId: bigint,
mintValue: bigint,
l2Contract: string,
l2Value: bigint,
l2Calldata: string,
l2GasLimit: bigint,
l2GasPerPubdataByteLimit: bigint,
factoryDeps: string[],
refundRecipient: string
] & {
chainId: bigint;
mintValue: bigint;
l2Contract: string;
l2Value: bigint;
l2Calldata: string;
l2GasLimit: bigint;
l2GasPerPubdataByteLimit: bigint;
factoryDeps: string[];
refundRecipient: string;
};
export type L2TransactionRequestTwoBridgesOuterStruct = {
chainId: BigNumberish;
mintValue: BigNumberish;
l2Value: BigNumberish;
l2GasLimit: BigNumberish;
l2GasPerPubdataByteLimit: BigNumberish;
refundRecipient: AddressLike;
secondBridgeAddress: AddressLike;
secondBridgeValue: BigNumberish;
secondBridgeCalldata: BytesLike;
};
export type L2TransactionRequestTwoBridgesOuterStructOutput = [
chainId: bigint,
mintValue: bigint,
l2Value: bigint,
l2GasLimit: bigint,
l2GasPerPubdataByteLimit: bigint,
refundRecipient: string,
secondBridgeAddress: string,
secondBridgeValue: bigint,
secondBridgeCalldata: string
] & {
chainId: bigint;
mintValue: bigint;
l2Value: bigint;
l2GasLimit: bigint;
l2GasPerPubdataByteLimit: bigint;
refundRecipient: string;
secondBridgeAddress: string;
secondBridgeValue: bigint;
secondBridgeCalldata: string;
};
export interface IBridgehubInterface extends Interface {
getFunction(
nameOrSignature:
| "acceptAdmin"
| "addStateTransitionManager"
| "addToken"
| "baseToken"
| "createNewChain"
| "getHyperchain"
| "l2TransactionBaseCost"
| "proveL1ToL2TransactionStatus"
| "proveL2LogInclusion"
| "proveL2MessageInclusion"
| "removeStateTransitionManager"
| "requestL2TransactionDirect"
| "requestL2TransactionTwoBridges"
| "setPendingAdmin"
| "setSharedBridge"
| "sharedBridge"
| "stateTransitionManager"
| "stateTransitionManagerIsRegistered"
| "tokenIsRegistered"
): FunctionFragment;
getEvent(
nameOrSignatureOrTopic: "NewAdmin" | "NewChain" | "NewPendingAdmin"
): EventFragment;
encodeFunctionData(
functionFragment: "acceptAdmin",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "addStateTransitionManager",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "addToken",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "baseToken",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "createNewChain",
values: [
BigNumberish,
AddressLike,
AddressLike,
BigNumberish,
AddressLike,
BytesLike
]
): string;
encodeFunctionData(
functionFragment: "getHyperchain",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "l2TransactionBaseCost",
values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "proveL1ToL2TransactionStatus",
values: [
BigNumberish,
BytesLike,
BigNumberish,
BigNumberish,
BigNumberish,
BytesLike[],
BigNumberish
]
): string;
encodeFunctionData(
functionFragment: "proveL2LogInclusion",
values: [BigNumberish, BigNumberish, BigNumberish, L2LogStruct, BytesLike[]]
): string;
encodeFunctionData(
functionFragment: "proveL2MessageInclusion",
values: [
BigNumberish,
BigNumberish,
BigNumberish,
L2MessageStruct,
BytesLike[]
]
): string;
encodeFunctionData(
functionFragment: "removeStateTransitionManager",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "requestL2TransactionDirect",
values: [L2TransactionRequestDirectStruct]
): string;
encodeFunctionData(
functionFragment: "requestL2TransactionTwoBridges",
values: [L2TransactionRequestTwoBridgesOuterStruct]
): string;
encodeFunctionData(
functionFragment: "setPendingAdmin",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "setSharedBridge",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "sharedBridge",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "stateTransitionManager",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "stateTransitionManagerIsRegistered",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "tokenIsRegistered",
values: [AddressLike]
): string;
decodeFunctionResult(
functionFragment: "acceptAdmin",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "addStateTransitionManager",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "addToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "baseToken", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "createNewChain",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getHyperchain",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "l2TransactionBaseCost",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "proveL1ToL2TransactionStatus",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "proveL2LogInclusion",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "proveL2MessageInclusion",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "removeStateTransitionManager",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "requestL2TransactionDirect",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "requestL2TransactionTwoBridges",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setPendingAdmin",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setSharedBridge",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "sharedBridge",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "stateTransitionManager",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "stateTransitionManagerIsRegistered",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "tokenIsRegistered",
data: BytesLike
): Result;
}
export namespace NewAdminEvent {
export type InputTuple = [oldAdmin: AddressLike, newAdmin: AddressLike];
export type OutputTuple = [oldAdmin: string, newAdmin: string];
export interface OutputObject {
oldAdmin: string;
newAdmin: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace NewChainEvent {
export type InputTuple = [
chainId: BigNumberish,
stateTransitionManager: AddressLike,
chainGovernance: AddressLike
];
export type OutputTuple = [
chainId: bigint,
stateTransitionManager: string,
chainGovernance: string
];
export interface OutputObject {
chainId: bigint;
stateTransitionManager: string;
chainGovernance: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace NewPendingAdminEvent {
export type InputTuple = [
oldPendingAdmin: AddressLike,
newPendingAdmin: AddressLike
];
export type OutputTuple = [oldPendingAdmin: string, newPendingAdmin: string];
export interface OutputObject {
oldPendingAdmin: string;
newPendingAdmin: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export interface IBridgehub extends BaseContract {
connect(runner?: ContractRunner | null): IBridgehub;
waitForDeployment(): Promise<this>;
interface: IBridgehubInterface;
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>;
acceptAdmin: TypedContractMethod<[], [void], "nonpayable">;
addStateTransitionManager: TypedContractMethod<
[_stateTransitionManager: AddressLike],
[void],
"nonpayable"
>;
addToken: TypedContractMethod<[_token: AddressLike], [void], "nonpayable">;
baseToken: TypedContractMethod<[_chainId: BigNumberish], [string], "view">;
createNewChain: TypedContractMethod<
[
_chainId: BigNumberish,
_stateTransitionManager: AddressLike,
_baseToken: AddressLike,
_salt: BigNumberish,
_admin: AddressLike,
_initData: BytesLike
],
[bigint],
"nonpayable"
>;
getHyperchain: TypedContractMethod<
[_chainId: BigNumberish],
[string],
"view"
>;
l2TransactionBaseCost: TypedContractMethod<
[
_chainId: BigNumberish,
_gasPrice: BigNumberish,
_l2GasLimit: BigNumberish,
_l2GasPerPubdataByteLimit: BigNumberish
],
[bigint],
"view"
>;
proveL1ToL2TransactionStatus: TypedContractMethod<
[
_chainId: BigNumberish,
_l2TxHash: BytesLike,
_l2BatchNumber: BigNumberish,
_l2MessageIndex: BigNumberish,
_l2TxNumberInBatch: BigNumberish,
_merkleProof: BytesLike[],
_status: BigNumberish
],
[boolean],
"view"
>;
proveL2LogInclusion: TypedContractMethod<
[
_chainId: BigNumberish,
_batchNumber: BigNumberish,
_index: BigNumberish,
_log: L2LogStruct,
_proof: BytesLike[]
],
[boolean],
"view"
>;
proveL2MessageInclusion: TypedContractMethod<
[
_chainId: BigNumberish,
_batchNumber: BigNumberish,
_index: BigNumberish,
_message: L2MessageStruct,
_proof: BytesLike[]
],
[boolean],
"view"
>;
removeStateTransitionManager: TypedContractMethod<
[_stateTransitionManager: AddressLike],
[void],
"nonpayable"
>;
requestL2TransactionDirect: TypedContractMethod<
[_request: L2TransactionRequestDirectStruct],
[string],
"payable"
>;
requestL2TransactionTwoBridges: TypedContractMethod<
[_request: L2TransactionRequestTwoBridgesOuterStruct],
[string],
"payable"
>;
setPendingAdmin: TypedContractMethod<
[_newPendingAdmin: AddressLike],
[void],
"nonpayable"
>;
setSharedBridge: TypedContractMethod<
[_sharedBridge: AddressLike],
[void],
"nonpayable"
>;
sharedBridge: TypedContractMethod<[], [string], "view">;
stateTransitionManager: TypedContractMethod<
[_chainId: BigNumberish],
[string],
"view"
>;
stateTransitionManagerIsRegistered: TypedContractMethod<
[_stateTransitionManager: AddressLike],
[boolean],
"view"
>;
tokenIsRegistered: TypedContractMethod<
[_baseToken: AddressLike],
[boolean],
"view"
>;
getFunction<T extends ContractMethod = ContractMethod>(
key: string | FunctionFragment
): T;
getFunction(
nameOrSignature: "acceptAdmin"
): TypedContractMethod<[], [void], "nonpayable">;
getFunction(
nameOrSignature: "addStateTransitionManager"
): TypedContractMethod<
[_stateTransitionManager: AddressLike],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "addToken"
): TypedContractMethod<[_token: AddressLike], [void], "nonpayable">;
getFunction(
nameOrSignature: "baseToken"
): TypedContractMethod<[_chainId: BigNumberish], [string], "view">;
getFunction(
nameOrSignature: "createNewChain"
): TypedContractMethod<
[
_chainId: BigNumberish,
_stateTransitionManager: AddressLike,
_baseToken: AddressLike,
_salt: BigNumberish,
_admin: AddressLike,
_initData: BytesLike
],
[bigint],
"nonpayable"
>;
getFunction(
nameOrSignature: "getHyperchain"
): TypedContractMethod<[_chainId: BigNumberish], [string], "view">;
getFunction(
nameOrSignature: "l2TransactionBaseCost"
): TypedContractMethod<
[
_chainId: BigNumberish,
_gasPrice: BigNumberish,
_l2GasLimit: BigNumberish,
_l2GasPerPubdataByteLimit: BigNumberish
],
[bigint],
"view"
>;
getFunction(
nameOrSignature: "proveL1ToL2TransactionStatus"
): TypedContractMethod<
[
_chainId: BigNumberish,
_l2TxHash: BytesLike,
_l2BatchNumber: BigNumberish,
_l2MessageIndex: BigNumberish,
_l2TxNumberInBatch: BigNumberish,
_merkleProof: BytesLike[],
_status: BigNumberish
],
[boolean],
"view"
>;
getFunction(
nameOrSignature: "proveL2LogInclusion"
): TypedContractMethod<
[
_chainId: BigNumberish,
_batchNumber: BigNumberish,
_index: BigNumberish,
_log: L2LogStruct,
_proof: BytesLike[]
],
[boolean],
"view"
>;
getFunction(
nameOrSignature: "proveL2MessageInclusion"
): TypedContractMethod<
[
_chainId: BigNumberish,
_batchNumber: BigNumberish,
_index: BigNumberish,
_message: L2MessageStruct,
_proof: BytesLike[]
],
[boolean],
"view"
>;
getFunction(
nameOrSignature: "removeStateTransitionManager"
): TypedContractMethod<
[_stateTransitionManager: AddressLike],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "requestL2TransactionDirect"
): TypedContractMethod<
[_request: L2TransactionRequestDirectStruct],
[string],
"payable"
>;
getFunction(
nameOrSignature: "requestL2TransactionTwoBridges"
): TypedContractMethod<
[_request: L2TransactionRequestTwoBridgesOuterStruct],
[string],
"payable"
>;
getFunction(
nameOrSignature: "setPendingAdmin"
): TypedContractMethod<[_newPendingAdmin: AddressLike], [void], "nonpayable">;
getFunction(
nameOrSignature: "setSharedBridge"
): TypedContractMethod<[_sharedBridge: AddressLike], [void], "nonpayable">;
getFunction(
nameOrSignature: "sharedBridge"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "stateTransitionManager"
): TypedContractMethod<[_chainId: BigNumberish], [string], "view">;
getFunction(
nameOrSignature: "stateTransitionManagerIsRegistered"
): TypedContractMethod<
[_stateTransitionManager: AddressLike],
[boolean],
"view"
>;
getFunction(
nameOrSignature: "tokenIsRegistered"
): TypedContractMethod<[_baseToken: AddressLike], [boolean], "view">;
getEvent(
key: "NewAdmin"
): TypedContractEvent<
NewAdminEvent.InputTuple,
NewAdminEvent.OutputTuple,
NewAdminEvent.OutputObject
>;
getEvent(
key: "NewChain"
): TypedContractEvent<
NewChainEvent.InputTuple,
NewChainEvent.OutputTuple,
NewChainEvent.OutputObject
>;
getEvent(
key: "NewPendingAdmin"
): TypedContractEvent<
NewPendingAdminEvent.InputTuple,
NewPendingAdminEvent.OutputTuple,
NewPendingAdminEvent.OutputObject
>;
filters: {
"NewAdmin(address,address)": TypedContractEvent<
NewAdminEvent.InputTuple,
NewAdminEvent.OutputTuple,
NewAdminEvent.OutputObject
>;
NewAdmin: TypedContractEvent<
NewAdminEvent.InputTuple,
NewAdminEvent.OutputTuple,
NewAdminEvent.OutputObject
>;
"NewChain(uint256,address,address)": TypedContractEvent<
NewChainEvent.InputTuple,
NewChainEvent.OutputTuple,
NewChainEvent.OutputObject
>;
NewChain: TypedContractEvent<
NewChainEvent.InputTuple,
NewChainEvent.OutputTuple,
NewChainEvent.OutputObject
>;
"NewPendingAdmin(address,address)": TypedContractEvent<
NewPendingAdminEvent.InputTuple,
NewPendingAdminEvent.OutputTuple,
NewPendingAdminEvent.OutputObject
>;
NewPendingAdmin: TypedContractEvent<
NewPendingAdminEvent.InputTuple,
NewPendingAdminEvent.OutputTuple,
NewPendingAdminEvent.OutputObject
>;
};
}