UNPKG

sui-svelte-wallet-kit

Version:

Svelte 5 wallet kit for Sui: connect wallets, manage accounts, SuiNS, balance, sign transactions/messages

105 lines (104 loc) 3.78 kB
import { ConnectionStatus } from '@suiet/wallet-sdk'; import { type Wallet } from '@wallet-standard/core'; import type { SuiWalletAdapter, SuiAccount, WalletWithStatus, SwitchWalletOptions } from '../types.js'; export declare const isSuiAccount: (acc: unknown) => acc is SuiAccount; export type AccountState = { value: SuiAccount | undefined; setAccount: (account: SuiAccount | undefined) => void; removeAccount: () => void; }; export declare const setAccountChainsInPlace: (account: AccountState, chains: readonly `${string}:${string}`[], zkLoginGoogle: any) => void; export type SessionState = { walletAdapter: { get: () => SuiWalletAdapter | undefined; set: (v: SuiWalletAdapter | undefined) => void; }; status: { get: () => ConnectionStatus; set: (v: ConnectionStatus) => void; }; account: AccountState; wallet: { get: () => WalletWithStatus | undefined; set: (v: WalletWithStatus | undefined) => void; }; accountsSnapshot: { get: () => SuiAccount[]; set: (v: SuiAccount[]) => void; }; walletEventsOff: { get: () => (() => void) | undefined; set: (v: (() => void) | undefined) => void; }; lastWalletSelection: { get: () => { wallet: Wallet; installed: boolean; } | undefined; set: (v: { wallet: Wallet; installed: boolean; } | undefined) => void; }; }; export declare const attachWalletNetworkListener: (state: SessionState, zkLoginGoogle: any) => void; export declare const connect: (wallet: WalletWithStatus, state: SessionState, zkLoginGoogle: any, onConnect: () => void, passkeyAdapter: any) => Promise<void>; export declare const disconnect: (state: SessionState) => void; export declare const connectWithModal: (connectModal: any, onSelection: ((payload: { wallet: Wallet; installed: boolean; connected: boolean; }) => void) | undefined, state: SessionState, zkLoginGoogle: any, onConnect: () => void, passkeyAdapter: any) => Promise<{ connected: boolean; alreadyConnected: boolean; wallet?: undefined; installed?: undefined; cancelled?: undefined; } | { wallet: undefined; installed: boolean; connected: boolean; cancelled: boolean; alreadyConnected?: undefined; } | { wallet: Wallet; installed: boolean; connected: boolean; alreadyConnected?: undefined; cancelled?: undefined; }>; export declare const switchWallet: (getConnectModal: () => any, options: SwitchWalletOptions, state: SessionState, zkLoginGoogle: any, onConnect: () => void, passkeyAdapter: any) => Promise<{ connected: boolean; cancelled: boolean; wallet?: undefined; installed?: undefined; skipped?: undefined; error?: undefined; } | { wallet: Wallet; installed: boolean; connected: boolean; skipped: boolean; cancelled?: undefined; error?: undefined; } | { wallet: Wallet; installed: boolean; connected: boolean; cancelled?: undefined; skipped?: undefined; error?: undefined; } | { connected: boolean; error: string; cancelled?: undefined; wallet?: undefined; installed?: undefined; skipped?: undefined; }>; export declare const autoConnectWallet: (autoConnect: boolean, availableWallets: WalletWithStatus[], state: SessionState, zkLoginGoogle: any, onConnect: () => void, passkeyAdapter: any) => Promise<void>; export declare const switchAccount: (selector: number | string | SuiAccount, state: SessionState, zkLoginGoogle: any) => boolean; export declare const activeAccountIndex: (state: SessionState) => { readonly value: number; }; export declare const ensureCallable: (state: SessionState) => void;