@txnlab/use-wallet-vue
Version:
Vue library for integrating Algorand wallets into decentralized applications
48 lines (43 loc) • 2.09 kB
TypeScript
import * as _txnlab_use_wallet from '@txnlab/use-wallet';
import { WalletManagerConfig, WalletId, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse, AlgodConfig } from '@txnlab/use-wallet';
export * from '@txnlab/use-wallet';
import * as vue from 'vue';
import algosdk from 'algosdk';
declare const WalletManagerPlugin: {
install(app: any, options: WalletManagerConfig): void;
};
interface Wallet {
id: WalletId;
metadata: WalletMetadata;
accounts: WalletAccount[];
activeAccount: WalletAccount | null;
isConnected: boolean;
isActive: boolean;
connect: (args?: Record<string, any>) => Promise<WalletAccount[]>;
disconnect: () => Promise<void>;
setActive: () => void;
setActiveAccount: (address: string) => void;
canSignData: boolean;
}
declare function useWallet(): {
wallets: vue.ComputedRef<Wallet[]>;
isReady: vue.ComputedRef<boolean>;
algodClient: vue.ComputedRef<algosdk.Algodv2>;
activeWallet: vue.ComputedRef<Wallet | null>;
activeWalletAccounts: vue.ComputedRef<WalletAccount[] | null>;
activeWalletAddresses: vue.ComputedRef<string[] | null>;
activeAccount: vue.ComputedRef<WalletAccount | null>;
activeAddress: vue.ComputedRef<string | null>;
signData: (data: string, metadata: SignMetadata) => Promise<SignDataResponse>;
signTransactions: <T extends algosdk.Transaction[] | Uint8Array[]>(txnGroup: T | T[], indexesToSign?: number[]) => Promise<(Uint8Array | null)[]>;
transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>;
};
declare function useNetwork(): {
activeNetwork: Readonly<vue.Ref<string, string>>;
networkConfig: Record<string, _txnlab_use_wallet.NetworkConfig>;
activeNetworkConfig: vue.ComputedRef<_txnlab_use_wallet.NetworkConfig>;
setActiveNetwork: (networkId: string) => Promise<void>;
updateAlgodConfig: (networkId: string, config: Partial<AlgodConfig>) => void;
resetNetworkConfig: (networkId: string) => void;
};
export { type Wallet, WalletManagerPlugin, useNetwork, useWallet };