@okcontract/sdk
Version:
One-stop-shop permissionless SDK for building any blockchain frontend
35 lines (34 loc) • 1.08 kB
TypeScript
import type { AccountInterface } from "starknet";
export interface StarknetWindowObject {
icon: string;
id: string;
name: string;
starknetJsVersion?: string;
version?: string;
enable: (options?: {
starknetVersion?: "v4" | "v5";
}) => Promise<void>;
isConnected: boolean;
isPreauthorized: () => Promise<boolean>;
account: AccountInterface;
selectedAddress?: `0x${string}`;
chainId?: string;
on: (event: "accountsChanged" | "networkChanged", handler: () => void) => void;
off: (event: "accountsChanged" | "networkChanged", handler: () => void) => void;
request: (options: {
type: string;
[key: string]: unknown;
}) => Promise<unknown>;
}
interface ConnectorData {
account: `0x${string}`;
chainId: bigint;
}
interface ConnectResult {
wallet: StarknetWindowObject;
connectorData: ConnectorData;
}
export declare const chainIdToBigInt: (id: string) => bigint;
export declare const connect: () => Promise<ConnectResult | null>;
export declare function disconnect(): void;
export {};