@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
345 lines (344 loc) • 22 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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, PromiseOrValue } from "./common";
export declare namespace IStakeManager {
type StakeInfoStruct = {
stake: PromiseOrValue<BigNumberish>;
unstakeDelay: PromiseOrValue<BigNumberish>;
withdrawBlock: PromiseOrValue<BigNumberish>;
owner: PromiseOrValue<string>;
};
type StakeInfoStructOutput = [
BigNumber,
BigNumber,
BigNumber,
string
] & {
stake: BigNumber;
unstakeDelay: BigNumber;
withdrawBlock: BigNumber;
owner: string;
};
}
export interface IStakeManagerInterface extends utils.Interface {
functions: {
"setRelayManagerOwner(address)": FunctionFragment;
"stakeForRelayManager(address,uint256)": FunctionFragment;
"unlockStake(address)": FunctionFragment;
"withdrawStake(address)": FunctionFragment;
"authorizeHubByOwner(address,address)": FunctionFragment;
"authorizeHubByManager(address)": FunctionFragment;
"unauthorizeHubByOwner(address,address)": FunctionFragment;
"unauthorizeHubByManager(address)": FunctionFragment;
"isRelayManagerStaked(address,address,uint256,uint256)": FunctionFragment;
"penalizeRelayManager(address,address,uint256)": FunctionFragment;
"getStakeInfo(address)": FunctionFragment;
"maxUnstakeDelay()": FunctionFragment;
"versionSM()": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "setRelayManagerOwner" | "stakeForRelayManager" | "unlockStake" | "withdrawStake" | "authorizeHubByOwner" | "authorizeHubByManager" | "unauthorizeHubByOwner" | "unauthorizeHubByManager" | "isRelayManagerStaked" | "penalizeRelayManager" | "getStakeInfo" | "maxUnstakeDelay" | "versionSM"): FunctionFragment;
encodeFunctionData(functionFragment: "setRelayManagerOwner", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "stakeForRelayManager", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "unlockStake", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "withdrawStake", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "authorizeHubByOwner", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "authorizeHubByManager", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "unauthorizeHubByOwner", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "unauthorizeHubByManager", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "isRelayManagerStaked", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "penalizeRelayManager", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>
]): string;
encodeFunctionData(functionFragment: "getStakeInfo", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "maxUnstakeDelay", values?: undefined): string;
encodeFunctionData(functionFragment: "versionSM", values?: undefined): string;
decodeFunctionResult(functionFragment: "setRelayManagerOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stakeForRelayManager", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unlockStake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawStake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "authorizeHubByOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "authorizeHubByManager", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unauthorizeHubByOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unauthorizeHubByManager", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "isRelayManagerStaked", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "penalizeRelayManager", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getStakeInfo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "maxUnstakeDelay", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "versionSM", data: BytesLike): Result;
events: {
"HubAuthorized(address,address)": EventFragment;
"HubUnauthorized(address,address,uint256)": EventFragment;
"OwnerSet(address,address)": EventFragment;
"StakeAdded(address,address,uint256,uint256)": EventFragment;
"StakePenalized(address,address,uint256)": EventFragment;
"StakeUnlocked(address,address,uint256)": EventFragment;
"StakeWithdrawn(address,address,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "HubAuthorized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "HubUnauthorized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnerSet"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakeAdded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakePenalized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakeUnlocked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakeWithdrawn"): EventFragment;
}
export interface HubAuthorizedEventObject {
relayManager: string;
relayHub: string;
}
export declare type HubAuthorizedEvent = TypedEvent<[
string,
string
], HubAuthorizedEventObject>;
export declare type HubAuthorizedEventFilter = TypedEventFilter<HubAuthorizedEvent>;
export interface HubUnauthorizedEventObject {
relayManager: string;
relayHub: string;
removalBlock: BigNumber;
}
export declare type HubUnauthorizedEvent = TypedEvent<[
string,
string,
BigNumber
], HubUnauthorizedEventObject>;
export declare type HubUnauthorizedEventFilter = TypedEventFilter<HubUnauthorizedEvent>;
export interface OwnerSetEventObject {
relayManager: string;
owner: string;
}
export declare type OwnerSetEvent = TypedEvent<[string, string], OwnerSetEventObject>;
export declare type OwnerSetEventFilter = TypedEventFilter<OwnerSetEvent>;
export interface StakeAddedEventObject {
relayManager: string;
owner: string;
stake: BigNumber;
unstakeDelay: BigNumber;
}
export declare type StakeAddedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], StakeAddedEventObject>;
export declare type StakeAddedEventFilter = TypedEventFilter<StakeAddedEvent>;
export interface StakePenalizedEventObject {
relayManager: string;
beneficiary: string;
reward: BigNumber;
}
export declare type StakePenalizedEvent = TypedEvent<[
string,
string,
BigNumber
], StakePenalizedEventObject>;
export declare type StakePenalizedEventFilter = TypedEventFilter<StakePenalizedEvent>;
export interface StakeUnlockedEventObject {
relayManager: string;
owner: string;
withdrawBlock: BigNumber;
}
export declare type StakeUnlockedEvent = TypedEvent<[
string,
string,
BigNumber
], StakeUnlockedEventObject>;
export declare type StakeUnlockedEventFilter = TypedEventFilter<StakeUnlockedEvent>;
export interface StakeWithdrawnEventObject {
relayManager: string;
owner: string;
amount: BigNumber;
}
export declare type StakeWithdrawnEvent = TypedEvent<[
string,
string,
BigNumber
], StakeWithdrawnEventObject>;
export declare type StakeWithdrawnEventFilter = TypedEventFilter<StakeWithdrawnEvent>;
export interface IStakeManager extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IStakeManagerInterface;
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: {
setRelayManagerOwner(owner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
stakeForRelayManager(relayManager: PromiseOrValue<string>, unstakeDelay: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
authorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
authorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unauthorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unauthorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
isRelayManagerStaked(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, minAmount: PromiseOrValue<BigNumberish>, minUnstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
penalizeRelayManager(relayManager: PromiseOrValue<string>, beneficiary: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getStakeInfo(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
IStakeManager.StakeInfoStructOutput
] & {
stakeInfo: IStakeManager.StakeInfoStructOutput;
}>;
maxUnstakeDelay(overrides?: CallOverrides): Promise<[BigNumber]>;
versionSM(overrides?: CallOverrides): Promise<[string]>;
};
setRelayManagerOwner(owner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
stakeForRelayManager(relayManager: PromiseOrValue<string>, unstakeDelay: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unlockStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
withdrawStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
authorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
authorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unauthorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unauthorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
isRelayManagerStaked(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, minAmount: PromiseOrValue<BigNumberish>, minUnstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
penalizeRelayManager(relayManager: PromiseOrValue<string>, beneficiary: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getStakeInfo(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IStakeManager.StakeInfoStructOutput>;
maxUnstakeDelay(overrides?: CallOverrides): Promise<BigNumber>;
versionSM(overrides?: CallOverrides): Promise<string>;
callStatic: {
setRelayManagerOwner(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
stakeForRelayManager(relayManager: PromiseOrValue<string>, unstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
unlockStake(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
withdrawStake(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
authorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
authorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
unauthorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
unauthorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
isRelayManagerStaked(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, minAmount: PromiseOrValue<BigNumberish>, minUnstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
penalizeRelayManager(relayManager: PromiseOrValue<string>, beneficiary: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
getStakeInfo(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<IStakeManager.StakeInfoStructOutput>;
maxUnstakeDelay(overrides?: CallOverrides): Promise<BigNumber>;
versionSM(overrides?: CallOverrides): Promise<string>;
};
filters: {
"HubAuthorized(address,address)"(relayManager?: PromiseOrValue<string> | null, relayHub?: PromiseOrValue<string> | null): HubAuthorizedEventFilter;
HubAuthorized(relayManager?: PromiseOrValue<string> | null, relayHub?: PromiseOrValue<string> | null): HubAuthorizedEventFilter;
"HubUnauthorized(address,address,uint256)"(relayManager?: PromiseOrValue<string> | null, relayHub?: PromiseOrValue<string> | null, removalBlock?: null): HubUnauthorizedEventFilter;
HubUnauthorized(relayManager?: PromiseOrValue<string> | null, relayHub?: PromiseOrValue<string> | null, removalBlock?: null): HubUnauthorizedEventFilter;
"OwnerSet(address,address)"(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null): OwnerSetEventFilter;
OwnerSet(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null): OwnerSetEventFilter;
"StakeAdded(address,address,uint256,uint256)"(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, stake?: null, unstakeDelay?: null): StakeAddedEventFilter;
StakeAdded(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, stake?: null, unstakeDelay?: null): StakeAddedEventFilter;
"StakePenalized(address,address,uint256)"(relayManager?: PromiseOrValue<string> | null, beneficiary?: PromiseOrValue<string> | null, reward?: null): StakePenalizedEventFilter;
StakePenalized(relayManager?: PromiseOrValue<string> | null, beneficiary?: PromiseOrValue<string> | null, reward?: null): StakePenalizedEventFilter;
"StakeUnlocked(address,address,uint256)"(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, withdrawBlock?: null): StakeUnlockedEventFilter;
StakeUnlocked(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, withdrawBlock?: null): StakeUnlockedEventFilter;
"StakeWithdrawn(address,address,uint256)"(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, amount?: null): StakeWithdrawnEventFilter;
StakeWithdrawn(relayManager?: PromiseOrValue<string> | null, owner?: PromiseOrValue<string> | null, amount?: null): StakeWithdrawnEventFilter;
};
estimateGas: {
setRelayManagerOwner(owner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
stakeForRelayManager(relayManager: PromiseOrValue<string>, unstakeDelay: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
unlockStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
withdrawStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
authorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
authorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
unauthorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
unauthorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
isRelayManagerStaked(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, minAmount: PromiseOrValue<BigNumberish>, minUnstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
penalizeRelayManager(relayManager: PromiseOrValue<string>, beneficiary: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
getStakeInfo(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
maxUnstakeDelay(overrides?: CallOverrides): Promise<BigNumber>;
versionSM(overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
setRelayManagerOwner(owner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
stakeForRelayManager(relayManager: PromiseOrValue<string>, unstakeDelay: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
unlockStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
withdrawStake(relayManager: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
authorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
authorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
unauthorizeHubByOwner(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
unauthorizeHubByManager(relayHub: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
isRelayManagerStaked(relayManager: PromiseOrValue<string>, relayHub: PromiseOrValue<string>, minAmount: PromiseOrValue<BigNumberish>, minUnstakeDelay: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
penalizeRelayManager(relayManager: PromiseOrValue<string>, beneficiary: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
getStakeInfo(relayManager: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
maxUnstakeDelay(overrides?: CallOverrides): Promise<PopulatedTransaction>;
versionSM(overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}