@msquared/etherbase-client
Version:
React hooks for interacting with Etherbase smart contracts
17 lines (16 loc) • 767 B
TypeScript
import type { Address } from "viem";
import type { UseEtherbasePermissionsProps } from "./types/etherbase";
export default function useEtherbasePermissions({ sourceAddress, }: UseEtherbasePermissionsProps): {
grantRoles: (walletAddress: Address, roles: number[]) => Promise<void>;
revokeIdentity: (walletAddress: Address) => Promise<void>;
grantRole: (walletAddress: Address, role: number) => Promise<void>;
revokeRole: (walletAddress: Address, role: number) => Promise<void>;
deposit: (targetAddress: Address, amount: number) => Promise<void>;
fetchPermissions: () => Promise<{
walletAddress: string;
roles: number[];
isOwner: boolean;
balance: bigint;
}[]>;
canGrantRoles: Record<number, boolean>;
};