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
TypeScript
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;