UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

216 lines (215 loc) 11.3 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare namespace IPaymaster { type GasAndDataLimitsStruct = { acceptanceBudget: PromiseOrValue<BigNumberish>; preRelayedCallGasLimit: PromiseOrValue<BigNumberish>; postRelayedCallGasLimit: PromiseOrValue<BigNumberish>; calldataSizeLimit: PromiseOrValue<BigNumberish>; }; type GasAndDataLimitsStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber ] & { acceptanceBudget: BigNumber; preRelayedCallGasLimit: BigNumber; postRelayedCallGasLimit: BigNumber; calldataSizeLimit: BigNumber; }; } export declare namespace IForwarder { type ForwardRequestStruct = { from: PromiseOrValue<string>; to: PromiseOrValue<string>; value: PromiseOrValue<BigNumberish>; gas: PromiseOrValue<BigNumberish>; nonce: PromiseOrValue<BigNumberish>; data: PromiseOrValue<BytesLike>; validUntil: PromiseOrValue<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: PromiseOrValue<BigNumberish>; pctRelayFee: PromiseOrValue<BigNumberish>; baseRelayFee: PromiseOrValue<BigNumberish>; relayWorker: PromiseOrValue<string>; paymaster: PromiseOrValue<string>; forwarder: PromiseOrValue<string>; paymasterData: PromiseOrValue<BytesLike>; clientId: PromiseOrValue<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 interface IPaymasterInterface extends utils.Interface { functions: { "getGasAndDataLimits()": FunctionFragment; "trustedForwarder()": FunctionFragment; "getHubAddr()": FunctionFragment; "getRelayHubDeposit()": FunctionFragment; "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": FunctionFragment; "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": FunctionFragment; "versionPaymaster()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getGasAndDataLimits" | "trustedForwarder" | "getHubAddr" | "getRelayHubDeposit" | "preRelayedCall" | "postRelayedCall" | "versionPaymaster"): FunctionFragment; encodeFunctionData(functionFragment: "getGasAndDataLimits", values?: undefined): string; encodeFunctionData(functionFragment: "trustedForwarder", values?: undefined): string; encodeFunctionData(functionFragment: "getHubAddr", values?: undefined): string; encodeFunctionData(functionFragment: "getRelayHubDeposit", values?: undefined): string; encodeFunctionData(functionFragment: "preRelayedCall", values: [ GsnTypes.RelayRequestStruct, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "postRelayedCall", values: [ PromiseOrValue<BytesLike>, PromiseOrValue<boolean>, PromiseOrValue<BigNumberish>, GsnTypes.RelayDataStruct ]): string; encodeFunctionData(functionFragment: "versionPaymaster", values?: undefined): string; decodeFunctionResult(functionFragment: "getGasAndDataLimits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getHubAddr", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRelayHubDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "preRelayedCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "postRelayedCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "versionPaymaster", data: BytesLike): Result; events: {}; } export interface IPaymaster extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IPaymasterInterface; 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: { getGasAndDataLimits(overrides?: CallOverrides): Promise<[ IPaymaster.GasAndDataLimitsStructOutput ] & { limits: IPaymaster.GasAndDataLimitsStructOutput; }>; trustedForwarder(overrides?: CallOverrides): Promise<[string]>; getHubAddr(overrides?: CallOverrides): Promise<[string]>; getRelayHubDeposit(overrides?: CallOverrides): Promise<[BigNumber]>; preRelayedCall(relayRequest: GsnTypes.RelayRequestStruct, signature: PromiseOrValue<BytesLike>, approvalData: PromiseOrValue<BytesLike>, maxPossibleGas: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; postRelayedCall(context: PromiseOrValue<BytesLike>, success: PromiseOrValue<boolean>, gasUseWithoutPost: PromiseOrValue<BigNumberish>, relayData: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; versionPaymaster(overrides?: CallOverrides): Promise<[string]>; }; getGasAndDataLimits(overrides?: CallOverrides): Promise<IPaymaster.GasAndDataLimitsStructOutput>; trustedForwarder(overrides?: CallOverrides): Promise<string>; getHubAddr(overrides?: CallOverrides): Promise<string>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; preRelayedCall(relayRequest: GsnTypes.RelayRequestStruct, signature: PromiseOrValue<BytesLike>, approvalData: PromiseOrValue<BytesLike>, maxPossibleGas: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; postRelayedCall(context: PromiseOrValue<BytesLike>, success: PromiseOrValue<boolean>, gasUseWithoutPost: PromiseOrValue<BigNumberish>, relayData: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; versionPaymaster(overrides?: CallOverrides): Promise<string>; callStatic: { getGasAndDataLimits(overrides?: CallOverrides): Promise<IPaymaster.GasAndDataLimitsStructOutput>; trustedForwarder(overrides?: CallOverrides): Promise<string>; getHubAddr(overrides?: CallOverrides): Promise<string>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; preRelayedCall(relayRequest: GsnTypes.RelayRequestStruct, signature: PromiseOrValue<BytesLike>, approvalData: PromiseOrValue<BytesLike>, maxPossibleGas: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ string, boolean ] & { context: string; rejectOnRecipientRevert: boolean; }>; postRelayedCall(context: PromiseOrValue<BytesLike>, success: PromiseOrValue<boolean>, gasUseWithoutPost: PromiseOrValue<BigNumberish>, relayData: GsnTypes.RelayDataStruct, overrides?: CallOverrides): Promise<void>; versionPaymaster(overrides?: CallOverrides): Promise<string>; }; filters: {}; estimateGas: { getGasAndDataLimits(overrides?: CallOverrides): Promise<BigNumber>; trustedForwarder(overrides?: CallOverrides): Promise<BigNumber>; getHubAddr(overrides?: CallOverrides): Promise<BigNumber>; getRelayHubDeposit(overrides?: CallOverrides): Promise<BigNumber>; preRelayedCall(relayRequest: GsnTypes.RelayRequestStruct, signature: PromiseOrValue<BytesLike>, approvalData: PromiseOrValue<BytesLike>, maxPossibleGas: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; postRelayedCall(context: PromiseOrValue<BytesLike>, success: PromiseOrValue<boolean>, gasUseWithoutPost: PromiseOrValue<BigNumberish>, relayData: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; versionPaymaster(overrides?: CallOverrides): Promise<BigNumber>; }; populateTransaction: { getGasAndDataLimits(overrides?: CallOverrides): Promise<PopulatedTransaction>; trustedForwarder(overrides?: CallOverrides): Promise<PopulatedTransaction>; getHubAddr(overrides?: CallOverrides): Promise<PopulatedTransaction>; getRelayHubDeposit(overrides?: CallOverrides): Promise<PopulatedTransaction>; preRelayedCall(relayRequest: GsnTypes.RelayRequestStruct, signature: PromiseOrValue<BytesLike>, approvalData: PromiseOrValue<BytesLike>, maxPossibleGas: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; postRelayedCall(context: PromiseOrValue<BytesLike>, success: PromiseOrValue<boolean>, gasUseWithoutPost: PromiseOrValue<BigNumberish>, relayData: GsnTypes.RelayDataStruct, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; versionPaymaster(overrides?: CallOverrides): Promise<PopulatedTransaction>; }; }