UNPKG

@arbitrum/sdk

Version:

Typescript library client-side interactions with Arbitrum

257 lines (256 loc) 12.2 kB
import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare namespace IL1Teleporter { type RetryableGasParamsStruct = { l2GasPriceBid: BigNumberish; l3GasPriceBid: BigNumberish; l2ForwarderFactoryGasLimit: BigNumberish; l1l2FeeTokenBridgeGasLimit: BigNumberish; l1l2TokenBridgeGasLimit: BigNumberish; l2l3TokenBridgeGasLimit: BigNumberish; l2ForwarderFactoryMaxSubmissionCost: BigNumberish; l1l2FeeTokenBridgeMaxSubmissionCost: BigNumberish; l1l2TokenBridgeMaxSubmissionCost: BigNumberish; l2l3TokenBridgeMaxSubmissionCost: BigNumberish; }; type RetryableGasParamsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { l2GasPriceBid: BigNumber; l3GasPriceBid: BigNumber; l2ForwarderFactoryGasLimit: BigNumber; l1l2FeeTokenBridgeGasLimit: BigNumber; l1l2TokenBridgeGasLimit: BigNumber; l2l3TokenBridgeGasLimit: BigNumber; l2ForwarderFactoryMaxSubmissionCost: BigNumber; l1l2FeeTokenBridgeMaxSubmissionCost: BigNumber; l1l2TokenBridgeMaxSubmissionCost: BigNumber; l2l3TokenBridgeMaxSubmissionCost: BigNumber; }; type TeleportParamsStruct = { l1Token: string; l3FeeTokenL1Addr: string; l1l2Router: string; l2l3RouterOrInbox: string; to: string; amount: BigNumberish; gasParams: IL1Teleporter.RetryableGasParamsStruct; }; type TeleportParamsStructOutput = [ string, string, string, string, string, BigNumber, IL1Teleporter.RetryableGasParamsStructOutput ] & { l1Token: string; l3FeeTokenL1Addr: string; l1l2Router: string; l2l3RouterOrInbox: string; to: string; amount: BigNumber; gasParams: IL1Teleporter.RetryableGasParamsStructOutput; }; type RetryableGasCostsStruct = { l1l2FeeTokenBridgeCost: BigNumberish; l1l2TokenBridgeCost: BigNumberish; l2ForwarderFactoryCost: BigNumberish; l2l3TokenBridgeCost: BigNumberish; }; type RetryableGasCostsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber ] & { l1l2FeeTokenBridgeCost: BigNumber; l1l2TokenBridgeCost: BigNumber; l2ForwarderFactoryCost: BigNumber; l2l3TokenBridgeCost: BigNumber; }; } export declare namespace IL2Forwarder { type L2ForwarderParamsStruct = { owner: string; l2Token: string; l3FeeTokenL2Addr: string; routerOrInbox: string; to: string; gasLimit: BigNumberish; gasPriceBid: BigNumberish; maxSubmissionCost: BigNumberish; }; type L2ForwarderParamsStructOutput = [ string, string, string, string, string, BigNumber, BigNumber, BigNumber ] & { owner: string; l2Token: string; l3FeeTokenL2Addr: string; routerOrInbox: string; to: string; gasLimit: BigNumber; gasPriceBid: BigNumber; maxSubmissionCost: BigNumber; }; } export interface IL1TeleporterInterface extends utils.Interface { contractName: "IL1Teleporter"; functions: { "buildL2ForwarderParams((address,address,address,address,address,uint256,(uint256,uint256,uint64,uint64,uint64,uint64,uint256,uint256,uint256,uint256)),address)": FunctionFragment; "determineTypeAndFees((address,address,address,address,address,uint256,(uint256,uint256,uint64,uint64,uint64,uint64,uint256,uint256,uint256,uint256)))": FunctionFragment; "l2ForwarderAddress(address,address,address)": FunctionFragment; "l2ForwarderFactory()": FunctionFragment; "l2ForwarderImplementation()": FunctionFragment; "teleport((address,address,address,address,address,uint256,(uint256,uint256,uint64,uint64,uint64,uint64,uint256,uint256,uint256,uint256)))": FunctionFragment; }; encodeFunctionData(functionFragment: "buildL2ForwarderParams", values: [IL1Teleporter.TeleportParamsStruct, string]): string; encodeFunctionData(functionFragment: "determineTypeAndFees", values: [IL1Teleporter.TeleportParamsStruct]): string; encodeFunctionData(functionFragment: "l2ForwarderAddress", values: [string, string, string]): string; encodeFunctionData(functionFragment: "l2ForwarderFactory", values?: undefined): string; encodeFunctionData(functionFragment: "l2ForwarderImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "teleport", values: [IL1Teleporter.TeleportParamsStruct]): string; decodeFunctionResult(functionFragment: "buildL2ForwarderParams", data: BytesLike): Result; decodeFunctionResult(functionFragment: "determineTypeAndFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "teleport", data: BytesLike): Result; events: { "Teleported(address,address,address,address,address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Teleported"): EventFragment; } export type TeleportedEvent = TypedEvent<[ string, string, string, string, string, string, BigNumber ], { sender: string; l1Token: string; l3FeeTokenL1Addr: string; l1l2Router: string; l2l3RouterOrInbox: string; to: string; amount: BigNumber; }>; export type TeleportedEventFilter = TypedEventFilter<TeleportedEvent>; export interface IL1Teleporter extends BaseContract { contractName: "IL1Teleporter"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IL1TeleporterInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<[IL2Forwarder.L2ForwarderParamsStructOutput]>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, IL1Teleporter.RetryableGasCostsStructOutput ] & { ethAmount: BigNumber; feeTokenAmount: BigNumber; teleportationType: number; costs: IL1Teleporter.RetryableGasCostsStructOutput; }>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<[string]>; l2ForwarderFactory(overrides?: CallOverrides): Promise<[string]>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<[string]>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; }; buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<IL2Forwarder.L2ForwarderParamsStructOutput>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, IL1Teleporter.RetryableGasCostsStructOutput ] & { ethAmount: BigNumber; feeTokenAmount: BigNumber; teleportationType: number; costs: IL1Teleporter.RetryableGasCostsStructOutput; }>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<string>; l2ForwarderFactory(overrides?: CallOverrides): Promise<string>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<string>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; callStatic: { buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<IL2Forwarder.L2ForwarderParamsStructOutput>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, number, IL1Teleporter.RetryableGasCostsStructOutput ] & { ethAmount: BigNumber; feeTokenAmount: BigNumber; teleportationType: number; costs: IL1Teleporter.RetryableGasCostsStructOutput; }>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<string>; l2ForwarderFactory(overrides?: CallOverrides): Promise<string>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<string>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<void>; }; filters: { "Teleported(address,address,address,address,address,address,uint256)"(sender?: string | null, l1Token?: null, l3FeeTokenL1Addr?: null, l1l2Router?: null, l2l3RouterOrInbox?: null, to?: null, amount?: null): TeleportedEventFilter; Teleported(sender?: string | null, l1Token?: null, l3FeeTokenL1Addr?: null, l1l2Router?: null, l2l3RouterOrInbox?: null, to?: null, amount?: null): TeleportedEventFilter; }; estimateGas: { buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<BigNumber>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<BigNumber>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<BigNumber>; l2ForwarderFactory(overrides?: CallOverrides): Promise<BigNumber>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<BigNumber>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<BigNumber>; }; populateTransaction: { buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; l2ForwarderFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<PopulatedTransaction>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; }; }