starknetkit
Version:
<!-- logo --> <p align="center"> <img width='300' src="https://starknetkit-website-git-blo-1541-argentlabs.vercel.app/starknetKit-logo.svg"> </p>
44 lines (42 loc) • 1.64 kB
TypeScript
import { StarknetWindowObject, TypedData, WalletEvents } from '@starknet-io/types-js';
import { CreateTRPCProxyClient } from '@trpc/client';
import { ConnectAndSignSessionOutput } from '../helpers/schema';
import { AppRouter } from '../helpers/trpc';
import { ApprovalRequest } from './types';
export declare const userEventHandlers: WalletEvents[];
export type Variant = "argentX" | "argentWebWallet";
export interface GetArgentStarknetWindowObject {
id: Variant;
icon: string;
name: string;
version: string;
host: string;
}
export type LoginStatus = {
isLoggedIn?: boolean;
hasSession?: boolean;
isPreauthorized?: boolean;
};
export type Theme = "light" | "dark";
type ConnectWebwalletProps = {
theme?: Theme;
};
type ConnectAndSignSessionProps = ConnectWebwalletProps & {
callbackData?: string;
approvalRequests: ApprovalRequest[];
sessionTypedData: TypedData;
};
export type WebWalletStarknetWindowObject = StarknetWindowObject & {
getLoginStatus(): Promise<LoginStatus>;
connectWebwallet(props?: ConnectWebwalletProps): Promise<{
account?: string[];
chainId?: string;
}>;
connectWebwalletSSO(token: string, authorizedPartyId?: string): Promise<{
account?: string[];
chainId?: string;
}>;
connectAndSignSession({ callbackData, approvalRequests, sessionTypedData, theme, }: ConnectAndSignSessionProps): Promise<ConnectAndSignSessionOutput>;
};
export declare const getArgentStarknetWindowObject: (options: GetArgentStarknetWindowObject, proxyLink: CreateTRPCProxyClient<AppRouter>) => WebWalletStarknetWindowObject;
export {};