UNPKG

@arbitrum/sdk

Version:

Typescript library client-side interactions with Arbitrum

451 lines (450 loc) 23.8 kB
import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 L1TeleporterInterface extends utils.Interface { contractName: "L1Teleporter"; functions: { "DEFAULT_ADMIN_ROLE()": FunctionFragment; "PAUSER_ROLE()": FunctionFragment; "SKIP_FEE_TOKEN_MAGIC_ADDRESS()": FunctionFragment; "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; "getRoleAdmin(bytes32)": FunctionFragment; "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "l2ForwarderAddress(address,address,address)": FunctionFragment; "l2ForwarderFactory()": FunctionFragment; "l2ForwarderImplementation()": FunctionFragment; "pause()": FunctionFragment; "paused()": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "revokeRole(bytes32,address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "teleport((address,address,address,address,address,uint256,(uint256,uint256,uint64,uint64,uint64,uint64,uint256,uint256,uint256,uint256)))": FunctionFragment; "unpause()": FunctionFragment; }; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "PAUSER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "SKIP_FEE_TOKEN_MAGIC_ADDRESS", values?: undefined): string; encodeFunctionData(functionFragment: "buildL2ForwarderParams", values: [IL1Teleporter.TeleportParamsStruct, string]): string; encodeFunctionData(functionFragment: "determineTypeAndFees", values: [IL1Teleporter.TeleportParamsStruct]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "l2ForwarderAddress", values: [string, string, string]): string; encodeFunctionData(functionFragment: "l2ForwarderFactory", values?: undefined): string; encodeFunctionData(functionFragment: "l2ForwarderImplementation", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "teleport", values: [IL1Teleporter.TeleportParamsStruct]): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PAUSER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SKIP_FEE_TOKEN_MAGIC_ADDRESS", data: BytesLike): Result; decodeFunctionResult(functionFragment: "buildL2ForwarderParams", data: BytesLike): Result; decodeFunctionResult(functionFragment: "determineTypeAndFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ForwarderImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "teleport", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; events: { "Paused(address)": EventFragment; "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; "RoleGranted(bytes32,address,address)": EventFragment; "RoleRevoked(bytes32,address,address)": EventFragment; "Teleported(address,address,address,address,address,address,uint256)": EventFragment; "Unpaused(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Teleported"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; } export type PausedEvent = TypedEvent<[string], { account: string; }>; export type PausedEventFilter = TypedEventFilter<PausedEvent>; export type RoleAdminChangedEvent = TypedEvent<[ string, string, string ], { role: string; previousAdminRole: string; newAdminRole: string; }>; export type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>; export type RoleGrantedEvent = TypedEvent<[ string, string, string ], { role: string; account: string; sender: string; }>; export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>; export type RoleRevokedEvent = TypedEvent<[ string, string, string ], { role: string; account: string; sender: string; }>; export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>; 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 type UnpausedEvent = TypedEvent<[string], { account: string; }>; export type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>; export interface L1Teleporter extends BaseContract { contractName: "L1Teleporter"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: L1TeleporterInterface; 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: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; PAUSER_ROLE(overrides?: CallOverrides): Promise<[string]>; SKIP_FEE_TOKEN_MAGIC_ADDRESS(overrides?: CallOverrides): Promise<[string]>; 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; }>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<[string]>; l2ForwarderFactory(overrides?: CallOverrides): Promise<[string]>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<[string]>; pause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<[boolean]>; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; unpause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; }; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; PAUSER_ROLE(overrides?: CallOverrides): Promise<string>; SKIP_FEE_TOKEN_MAGIC_ADDRESS(overrides?: CallOverrides): Promise<string>; 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; }>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<string>; l2ForwarderFactory(overrides?: CallOverrides): Promise<string>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<string>; pause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<boolean>; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; unpause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<ContractTransaction>; callStatic: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; PAUSER_ROLE(overrides?: CallOverrides): Promise<string>; SKIP_FEE_TOKEN_MAGIC_ADDRESS(overrides?: CallOverrides): Promise<string>; 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; }>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<string>; grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<boolean>; l2ForwarderAddress(owner: string, routerOrInbox: string, to: string, overrides?: CallOverrides): Promise<string>; l2ForwarderFactory(overrides?: CallOverrides): Promise<string>; l2ForwarderImplementation(overrides?: CallOverrides): Promise<string>; pause(overrides?: CallOverrides): Promise<void>; paused(overrides?: CallOverrides): Promise<boolean>; renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>; revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<void>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<void>; unpause(overrides?: CallOverrides): Promise<void>; }; filters: { "Paused(address)"(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; "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; "Unpaused(address)"(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; }; estimateGas: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>; PAUSER_ROLE(overrides?: CallOverrides): Promise<BigNumber>; SKIP_FEE_TOKEN_MAGIC_ADDRESS(overrides?: CallOverrides): Promise<BigNumber>; buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<BigNumber>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<BigNumber>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<BigNumber>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; hasRole(role: BytesLike, account: string, 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>; pause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; paused(overrides?: CallOverrides): Promise<BigNumber>; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<BigNumber>; unpause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<BigNumber>; }; populateTransaction: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>; PAUSER_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>; SKIP_FEE_TOKEN_MAGIC_ADDRESS(overrides?: CallOverrides): Promise<PopulatedTransaction>; buildL2ForwarderParams(params: IL1Teleporter.TeleportParamsStruct, caller: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; determineTypeAndFees(params: IL1Teleporter.TeleportParamsStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; hasRole(role: BytesLike, account: string, 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>; pause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; paused(overrides?: CallOverrides): Promise<PopulatedTransaction>; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>; teleport(params: IL1Teleporter.TeleportParamsStruct, overrides?: PayableOverrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; unpause(overrides?: Overrides & { from?: string | Promise<string>; }): Promise<PopulatedTransaction>; }; }