UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

390 lines (389 loc) 21.9 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type ContextInfoStruct = { timestamp: BigNumberish; }; export type ContextInfoStructOutput = [BigNumber] & { timestamp: BigNumber; }; export declare namespace IForwarder { type ForwardRequestStruct = { from: string; to: string; value: BigNumberish; gas: BigNumberish; nonce: BigNumberish; data: BytesLike; validUntil: BigNumberish; }; type ForwardRequestStructOutput = [ string, string, BigNumber, BigNumber, BigNumber, string, BigNumber ] & { from: string; to: string; value: BigNumber; gas: BigNumber; nonce: BigNumber; data: string; validUntil: BigNumber; }; } export declare namespace GsnTypes { type RelayDataStruct = { gasPrice: BigNumberish; pctRelayFee: BigNumberish; baseRelayFee: BigNumberish; relayWorker: string; paymaster: string; forwarder: string; paymasterData: BytesLike; clientId: BigNumberish; }; type RelayDataStructOutput = [ BigNumber, BigNumber, BigNumber, string, string, string, string, BigNumber ] & { gasPrice: BigNumber; pctRelayFee: BigNumber; baseRelayFee: BigNumber; relayWorker: string; paymaster: string; forwarder: string; paymasterData: string; clientId: BigNumber; }; type RelayRequestStruct = { request: IForwarder.ForwardRequestStruct; relayData: GsnTypes.RelayDataStruct; }; type RelayRequestStructOutput = [ IForwarder.ForwardRequestStructOutput, GsnTypes.RelayDataStructOutput ] & { request: IForwarder.ForwardRequestStructOutput; relayData: GsnTypes.RelayDataStructOutput; }; } export declare namespace IPaymaster { type GasAndDataLimitsStruct = { acceptanceBudget: BigNumberish; preRelayedCallGasLimit: BigNumberish; postRelayedCallGasLimit: BigNumberish; calldataSizeLimit: BigNumberish; }; type GasAndDataLimitsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber ] & { acceptanceBudget: BigNumber; preRelayedCallGasLimit: BigNumber; postRelayedCallGasLimit: BigNumber; calldataSizeLimit: BigNumber; }; } export interface FactoryPaymasterInterface extends utils.Interface { functions: { "CALLDATA_SIZE_LIMIT()": FunctionFragment; "FORWARDER_HUB_OVERHEAD()": FunctionFragment; "PAYMASTER_ACCEPTANCE_BUDGET()": FunctionFragment; "POST_RELAYED_CALL_GAS_LIMIT()": FunctionFragment; "PRE_RELAYED_CALL_GAS_LIMIT()": FunctionFragment; "_verifyForwarder(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)))": FunctionFragment; "getGasAndDataLimits()": FunctionFragment; "getHubAddr()": FunctionFragment; "getRelayHubDeposit()": FunctionFragment; "isApprovedContract(address)": FunctionFragment; "owner()": FunctionFragment; "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": FunctionFragment; "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": FunctionFragment; "renounceOwnership()": FunctionFragment; "setRelayHub(address)": FunctionFragment; "setTrustedForwarder(address)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "trustedForwarder()": FunctionFragment; "versionPaymaster()": FunctionFragment; "withdrawRelayHubDepositTo(uint256,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "CALLDATA_SIZE_LIMIT" | "FORWARDER_HUB_OVERHEAD" | "PAYMASTER_ACCEPTANCE_BUDGET" | "POST_RELAYED_CALL_GAS_LIMIT" | "PRE_RELAYED_CALL_GAS_LIMIT" | "_verifyForwarder" | "getGasAndDataLimits" | "getHubAddr" | "getRelayHubDeposit" | "isApprovedContract" | "owner" | "postRelayedCall" | "preRelayedCall" | "renounceOwnership" | "setRelayHub" | "setTrustedForwarder" | "transferOwnership" | "trustedForwarder" | "versionPaymaster" | "withdrawRelayHubDepositTo"): FunctionFragment; encodeFunctionData(functionFragment: "CALLDATA_SIZE_LIMIT", values?: undefined): string; encodeFunctionData(functionFragment: "FORWARDER_HUB_OVERHEAD", values?: undefined): string; encodeFunctionData(functionFragment: "PAYMASTER_ACCEPTANCE_BUDGET", values?: undefined): string; encodeFunctionData(functionFragment: "POST_RELAYED_CALL_GAS_LIMIT", values?: undefined): string; encodeFunctionData(functionFragment: "PRE_RELAYED_CALL_GAS_LIMIT", values?: undefined): string; encodeFunctionData(functionFragment: "_verifyForwarder", values: [GsnTypes.RelayRequestStruct]): string; encodeFunctionData(functionFragment: "getGasAndDataLimits", values?: undefined): string; encodeFunctionData(functionFragment: "getHubAddr", values?: undefined): string; encodeFunctionData(functionFragment: "getRelayHubDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "isApprovedContract", values: [string]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "postRelayedCall", values: [BytesLike, boolean, BigNumberish, GsnTypes.RelayDataStruct]): string; encodeFunctionData(functionFragment: "preRelayedCall", values: [GsnTypes.RelayRequestStruct, BytesLike, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setRelayHub", values: [string]): string; encodeFunctionData(functionFragment: "setTrustedForwarder", values: [string]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "trustedForwarder", values?: undefined): string; encodeFunctionData(functionFragment: "versionPaymaster", values?: undefined): string; encodeFunctionData(functionFragment: "withdrawRelayHubDepositTo", values: [BigNumberish, string]): string; decodeFunctionResult(functionFragment: "CALLDATA_SIZE_LIMIT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "FORWARDER_HUB_OVERHEAD", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PAYMASTER_ACCEPTANCE_BUDGET", data: BytesLike): Result; decodeFunctionResult(functionFragment: "POST_RELAYED_CALL_GAS_LIMIT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PRE_RELAYED_CALL_GAS_LIMIT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_verifyForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGasAndDataLimits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getHubAddr", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRelayHubDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isApprovedContract", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "postRelayedCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "preRelayedCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRelayHub", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "versionPaymaster", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawRelayHubDepositTo", data: BytesLike): Result; events: { "OwnershipTransferred(address,address)": EventFragment; "PostRelayed((uint256))": EventFragment; "PreRelayed((uint256))": EventFragment; }; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "PostRelayed"): EventFragment; getEvent(nameOrSignatureOrTopic: "PreRelayed"): EventFragment; } export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>; export interface PostRelayedEventObject { arg0: ContextInfoStructOutput; } export type PostRelayedEvent = TypedEvent<[ ContextInfoStructOutput ], PostRelayedEventObject>; export type PostRelayedEventFilter = TypedEventFilter<PostRelayedEvent>; export interface PreRelayedEventObject { arg0: ContextInfoStructOutput; } export type PreRelayedEvent = TypedEvent<[ ContextInfoStructOutput ], PreRelayedEventObject>; export type PreRelayedEventFilter = TypedEventFilter<PreRelayedEvent>; export interface FactoryPaymaster extends BaseContract { contractName: "FactoryPaymaster"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: FactoryPaymasterInterface; 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: { CALLDATA_SIZE_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>; FORWARDER_HUB_OVERHEAD(overrides?: CallOverrides): Promise<[BigNumber]>; PAYMASTER_ACCEPTANCE_BUDGET(overrides?: CallOverrides): Promise<[BigNumber]>; POST_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>; PRE_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>; _verifyForwarder(relayRequest: GsnTypes.RelayRequestStruct, overrides?: CallOverrides): Promise<[void]>; getGasAndDataLimits(overrides?: CallOverrides): Promise<[ IPaymaster.GasAndDataLimitsStructOutput ] & { limits: IPaymaster.GasAndDataLimitsStructOutput; }>; getHubAddr(overrides?: CallOverrides): Promise<[string]>; getRelayHubDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; isApprovedContract(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; owner(overrides?: CallOverrides): Promise<[string]>; postRelayedCall(context_: BytesLike, arg1: boolean, arg2: BigNumberish, arg3: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; preRelayedCall(relayRequest_: GsnTypes.RelayRequestStruct, arg1: BytesLike, arg2: BytesLike, arg3: BigNumberish, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setRelayHub(hub: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setTrustedForwarder(forwarder: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; trustedForwarder(overrides?: CallOverrides): Promise<[string]>; versionPaymaster(overrides?: CallOverrides): Promise<[string]>; withdrawRelayHubDepositTo(amount: BigNumberish, target: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; }; CALLDATA_SIZE_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; FORWARDER_HUB_OVERHEAD(overrides?: CallOverrides): Promise<BigNumber>; PAYMASTER_ACCEPTANCE_BUDGET(overrides?: CallOverrides): Promise<BigNumber>; POST_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; PRE_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; _verifyForwarder(relayRequest: GsnTypes.RelayRequestStruct, overrides?: CallOverrides): Promise<void>; getGasAndDataLimits(overrides?: CallOverrides): Promise<IPaymaster.GasAndDataLimitsStructOutput>; getHubAddr(overrides?: CallOverrides): Promise<string>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; isApprovedContract(arg0: string, overrides?: CallOverrides): Promise<boolean>; owner(overrides?: CallOverrides): Promise<string>; postRelayedCall(context_: BytesLike, arg1: boolean, arg2: BigNumberish, arg3: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; preRelayedCall(relayRequest_: GsnTypes.RelayRequestStruct, arg1: BytesLike, arg2: BytesLike, arg3: BigNumberish, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setRelayHub(hub: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setTrustedForwarder(forwarder: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; trustedForwarder(overrides?: CallOverrides): Promise<string>; versionPaymaster(overrides?: CallOverrides): Promise<string>; withdrawRelayHubDepositTo(amount: BigNumberish, target: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; callStatic: { CALLDATA_SIZE_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; FORWARDER_HUB_OVERHEAD(overrides?: CallOverrides): Promise<BigNumber>; PAYMASTER_ACCEPTANCE_BUDGET(overrides?: CallOverrides): Promise<BigNumber>; POST_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; PRE_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; _verifyForwarder(relayRequest: GsnTypes.RelayRequestStruct, overrides?: CallOverrides): Promise<void>; getGasAndDataLimits(overrides?: CallOverrides): Promise<IPaymaster.GasAndDataLimitsStructOutput>; getHubAddr(overrides?: CallOverrides): Promise<string>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; isApprovedContract(arg0: string, overrides?: CallOverrides): Promise<boolean>; owner(overrides?: CallOverrides): Promise<string>; postRelayedCall(context_: BytesLike, arg1: boolean, arg2: BigNumberish, arg3: GsnTypes.RelayDataStruct, overrides?: CallOverrides): Promise<void>; preRelayedCall(relayRequest_: GsnTypes.RelayRequestStruct, arg1: BytesLike, arg2: BytesLike, arg3: BigNumberish, overrides?: CallOverrides): Promise<[string, boolean] & { context: string; }>; renounceOwnership(overrides?: CallOverrides): Promise<void>; setRelayHub(hub: string, overrides?: CallOverrides): Promise<void>; setTrustedForwarder(forwarder: string, overrides?: CallOverrides): Promise<void>; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>; trustedForwarder(overrides?: CallOverrides): Promise<string>; versionPaymaster(overrides?: CallOverrides): Promise<string>; withdrawRelayHubDepositTo(amount: BigNumberish, target: string, overrides?: CallOverrides): Promise<void>; }; filters: { "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; "PostRelayed((uint256))"(arg0?: null): PostRelayedEventFilter; PostRelayed(arg0?: null): PostRelayedEventFilter; "PreRelayed((uint256))"(arg0?: null): PreRelayedEventFilter; PreRelayed(arg0?: null): PreRelayedEventFilter; }; estimateGas: { CALLDATA_SIZE_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; FORWARDER_HUB_OVERHEAD(overrides?: CallOverrides): Promise<BigNumber>; PAYMASTER_ACCEPTANCE_BUDGET(overrides?: CallOverrides): Promise<BigNumber>; POST_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; PRE_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<BigNumber>; _verifyForwarder(relayRequest: GsnTypes.RelayRequestStruct, overrides?: CallOverrides): Promise<BigNumber>; getGasAndDataLimits(overrides?: CallOverrides): Promise<BigNumber>; getHubAddr(overrides?: CallOverrides): Promise<BigNumber>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; isApprovedContract(arg0: string, overrides?: CallOverrides): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<BigNumber>; postRelayedCall(context_: BytesLike, arg1: boolean, arg2: BigNumberish, arg3: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; preRelayedCall(relayRequest_: GsnTypes.RelayRequestStruct, arg1: BytesLike, arg2: BytesLike, arg3: BigNumberish, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise<BigNumber>; setRelayHub(hub: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; setTrustedForwarder(forwarder: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; trustedForwarder(overrides?: CallOverrides): Promise<BigNumber>; versionPaymaster(overrides?: CallOverrides): Promise<BigNumber>; withdrawRelayHubDepositTo(amount: BigNumberish, target: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; }; populateTransaction: { CALLDATA_SIZE_LIMIT(overrides?: CallOverrides): Promise<PopulatedTransaction>; FORWARDER_HUB_OVERHEAD(overrides?: CallOverrides): Promise<PopulatedTransaction>; PAYMASTER_ACCEPTANCE_BUDGET(overrides?: CallOverrides): Promise<PopulatedTransaction>; POST_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<PopulatedTransaction>; PRE_RELAYED_CALL_GAS_LIMIT(overrides?: CallOverrides): Promise<PopulatedTransaction>; _verifyForwarder(relayRequest: GsnTypes.RelayRequestStruct, overrides?: CallOverrides): Promise<PopulatedTransaction>; getGasAndDataLimits(overrides?: CallOverrides): Promise<PopulatedTransaction>; getHubAddr(overrides?: CallOverrides): Promise<PopulatedTransaction>; getRelayHubDeposit(overrides?: CallOverrides): Promise<PopulatedTransaction>; isApprovedContract(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; owner(overrides?: CallOverrides): Promise<PopulatedTransaction>; postRelayedCall(context_: BytesLike, arg1: boolean, arg2: BigNumberish, arg3: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; preRelayedCall(relayRequest_: GsnTypes.RelayRequestStruct, arg1: BytesLike, arg2: BytesLike, arg3: BigNumberish, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; setRelayHub(hub: string, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; setTrustedForwarder(forwarder: string, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; trustedForwarder(overrides?: CallOverrides): Promise<PopulatedTransaction>; versionPaymaster(overrides?: CallOverrides): Promise<PopulatedTransaction>; withdrawRelayHubDepositTo(amount: BigNumberish, target: string, overrides?: Overrides & { from?: string; }): Promise<PopulatedTransaction>; }; }