starknetkit
Version:
<!-- logo --> <p align="center"> <img width='300' src="https://starknetkit-website-git-blo-1541-argentlabs.vercel.app/starknetKit-logo.svg"> </p>
56 lines (54 loc) • 2.69 kB
TypeScript
import { AccountChangeEventHandler, RequestFnCall, RpcMessage, RpcTypeToMessageMap, StarknetWindowObject, TypedData } from '@starknet-io/types-js';
import { AccountInterface, ProviderInterface, ProviderOptions } from 'starknet';
import { Connector, ConnectArgs, ConnectorData, ConnectorIcons } from '../connector';
import { ConnectAndSignSessionError, WebwalletError } from './errors';
import { Theme, WebWalletStarknetWindowObject } from './starknetWindowObject/argentStarknetWindowObject';
import { ApprovalRequest } from './starknetWindowObject/types';
declare const WEBWALLET_LOGOUT_EVENT = "webwallet_logout";
interface WebWalletConnectorOptions {
url?: string;
theme?: Theme;
ssoToken?: string;
authorizedPartyId?: string;
}
export declare class WebWalletConnector extends Connector {
private _wallet;
private _options;
constructor(options?: WebWalletConnectorOptions);
available(): boolean;
ready(): Promise<boolean>;
get id(): string;
get name(): string;
get icon(): ConnectorIcons;
get wallet(): StarknetWindowObject;
get title(): string;
get subtitle(): string;
connectAndSignSession({ callbackData, approvalRequests, sessionTypedData, }: {
callbackData?: string;
approvalRequests: ApprovalRequest[];
sessionTypedData: TypedData;
}): Promise<{
chainId?: string | undefined;
signature?: string[] | undefined;
account?: string[] | undefined;
approvalTransactionHash?: string | undefined;
deploymentPayload?: any;
approvalRequestsCalls?: {
contractAddress: string;
entrypoint: string;
calldata?: (string | number | bigint | (string | number | bigint)[])[] | undefined;
}[] | undefined;
errorCode?: "USER_REJECTED" | "ACCOUNT_NOT_DEPLOYED" | "NOT_ENOUGH_BALANCE" | "NOT_ENOUGH_BALANCE_DEPLOYMENT" | "GENERIC_ERROR" | undefined;
}>;
connect(_args?: ConnectArgs): Promise<ConnectorData>;
request<T extends RpcMessage["type"]>(call: RequestFnCall<T>): Promise<RpcTypeToMessageMap[T]["result"]>;
disconnect(): Promise<void>;
account(provider: ProviderOptions | ProviderInterface): Promise<AccountInterface>;
chainId(): Promise<bigint>;
initEventListener(accountChangeCb: AccountChangeEventHandler): Promise<void>;
removeEventListener(accountChangeCb: AccountChangeEventHandler): Promise<void>;
private ensureWallet;
}
declare const handleWebwalletLogoutEvent: (callback: () => void) => void;
export { ConnectAndSignSessionError, handleWebwalletLogoutEvent, WEBWALLET_LOGOUT_EVENT, WebwalletError, };
export type { ApprovalRequest, WebWalletStarknetWindowObject };