@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
218 lines (217 loc) • 12.3 kB
TypeScript
import type { BaseContract, BigNumber, 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 declare namespace IRBAC {
type ResourceWithPermissionsStruct = {
resource: string;
permissions: string[];
};
type ResourceWithPermissionsStructOutput = [string, string[]] & {
resource: string;
permissions: string[];
};
}
export interface IRBACInterface extends utils.Interface {
functions: {
"addPermissionsToRole(string,(string,string[])[],bool)": FunctionFragment;
"getRolePermissions(string)": FunctionFragment;
"getUserRoles(address)": FunctionFragment;
"grantRoles(address,string[])": FunctionFragment;
"hasPermission(address,string,string)": FunctionFragment;
"removePermissionsFromRole(string,(string,string[])[],bool)": FunctionFragment;
"revokeRoles(address,string[])": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "addPermissionsToRole" | "getRolePermissions" | "getUserRoles" | "grantRoles" | "hasPermission" | "removePermissionsFromRole" | "revokeRoles"): FunctionFragment;
encodeFunctionData(functionFragment: "addPermissionsToRole", values: [string, IRBAC.ResourceWithPermissionsStruct[], boolean]): string;
encodeFunctionData(functionFragment: "getRolePermissions", values: [string]): string;
encodeFunctionData(functionFragment: "getUserRoles", values: [string]): string;
encodeFunctionData(functionFragment: "grantRoles", values: [string, string[]]): string;
encodeFunctionData(functionFragment: "hasPermission", values: [string, string, string]): string;
encodeFunctionData(functionFragment: "removePermissionsFromRole", values: [string, IRBAC.ResourceWithPermissionsStruct[], boolean]): string;
encodeFunctionData(functionFragment: "revokeRoles", values: [string, string[]]): string;
decodeFunctionResult(functionFragment: "addPermissionsToRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRolePermissions", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getUserRoles", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "grantRoles", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hasPermission", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "removePermissionsFromRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "revokeRoles", data: BytesLike): Result;
events: {
"AddedPermissions(string,string,string[],bool)": EventFragment;
"GrantedRoles(address,string[])": EventFragment;
"RemovedPermissions(string,string,string[],bool)": EventFragment;
"RevokedRoles(address,string[])": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AddedPermissions"): EventFragment;
getEvent(nameOrSignatureOrTopic: "GrantedRoles"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RemovedPermissions"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RevokedRoles"): EventFragment;
}
export interface AddedPermissionsEventObject {
role: string;
resource: string;
permissionsToAdd: string[];
allowed: boolean;
}
export type AddedPermissionsEvent = TypedEvent<[
string,
string,
string[],
boolean
], AddedPermissionsEventObject>;
export type AddedPermissionsEventFilter = TypedEventFilter<AddedPermissionsEvent>;
export interface GrantedRolesEventObject {
to: string;
rolesToGrant: string[];
}
export type GrantedRolesEvent = TypedEvent<[
string,
string[]
], GrantedRolesEventObject>;
export type GrantedRolesEventFilter = TypedEventFilter<GrantedRolesEvent>;
export interface RemovedPermissionsEventObject {
role: string;
resource: string;
permissionsToRemove: string[];
allowed: boolean;
}
export type RemovedPermissionsEvent = TypedEvent<[
string,
string,
string[],
boolean
], RemovedPermissionsEventObject>;
export type RemovedPermissionsEventFilter = TypedEventFilter<RemovedPermissionsEvent>;
export interface RevokedRolesEventObject {
from: string;
rolesToRevoke: string[];
}
export type RevokedRolesEvent = TypedEvent<[
string,
string[]
], RevokedRolesEventObject>;
export type RevokedRolesEventFilter = TypedEventFilter<RevokedRolesEvent>;
export interface IRBAC extends BaseContract {
contractName: "IRBAC";
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IRBACInterface;
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: {
addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[
IRBAC.ResourceWithPermissionsStructOutput[],
IRBAC.ResourceWithPermissionsStructOutput[]
] & {
allowed_: IRBAC.ResourceWithPermissionsStructOutput[];
disallowed_: IRBAC.ResourceWithPermissionsStructOutput[];
}>;
getUserRoles(who_: string, overrides?: CallOverrides): Promise<[string[]] & {
roles_: string[];
}>;
grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean] & {
isAllowed_: boolean;
}>;
removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
};
addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[
IRBAC.ResourceWithPermissionsStructOutput[],
IRBAC.ResourceWithPermissionsStructOutput[]
] & {
allowed_: IRBAC.ResourceWithPermissionsStructOutput[];
disallowed_: IRBAC.ResourceWithPermissionsStructOutput[];
}>;
getUserRoles(who_: string, overrides?: CallOverrides): Promise<string[]>;
grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>;
removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
callStatic: {
addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: CallOverrides): Promise<void>;
getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[
IRBAC.ResourceWithPermissionsStructOutput[],
IRBAC.ResourceWithPermissionsStructOutput[]
] & {
allowed_: IRBAC.ResourceWithPermissionsStructOutput[];
disallowed_: IRBAC.ResourceWithPermissionsStructOutput[];
}>;
getUserRoles(who_: string, overrides?: CallOverrides): Promise<string[]>;
grantRoles(to_: string, rolesToGrant_: string[], overrides?: CallOverrides): Promise<void>;
hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>;
removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: CallOverrides): Promise<void>;
revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: CallOverrides): Promise<void>;
};
filters: {
"AddedPermissions(string,string,string[],bool)"(role?: null, resource?: null, permissionsToAdd?: null, allowed?: null): AddedPermissionsEventFilter;
AddedPermissions(role?: null, resource?: null, permissionsToAdd?: null, allowed?: null): AddedPermissionsEventFilter;
"GrantedRoles(address,string[])"(to?: null, rolesToGrant?: null): GrantedRolesEventFilter;
GrantedRoles(to?: null, rolesToGrant?: null): GrantedRolesEventFilter;
"RemovedPermissions(string,string,string[],bool)"(role?: null, resource?: null, permissionsToRemove?: null, allowed?: null): RemovedPermissionsEventFilter;
RemovedPermissions(role?: null, resource?: null, permissionsToRemove?: null, allowed?: null): RemovedPermissionsEventFilter;
"RevokedRoles(address,string[])"(from?: null, rolesToRevoke?: null): RevokedRolesEventFilter;
RevokedRoles(from?: null, rolesToRevoke?: null): RevokedRolesEventFilter;
};
estimateGas: {
addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
getRolePermissions(role_: string, overrides?: CallOverrides): Promise<BigNumber>;
getUserRoles(who_: string, overrides?: CallOverrides): Promise<BigNumber>;
grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<BigNumber>;
removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
};
populateTransaction: {
addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
getRolePermissions(role_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getUserRoles(who_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
};
}