UNPKG

@txnlab/use-wallet-react

Version:

React library for integrating Algorand wallets into decentralized applications

49 lines (46 loc) 2.09 kB
import * as _txnlab_use_wallet from '@txnlab/use-wallet'; import { WalletManager, NetworkId, AlgodConfig, WalletId, WalletMetadata, WalletAccount, SignMetadata, SignDataResponse } from '@txnlab/use-wallet'; export * from '@txnlab/use-wallet'; import algosdk from 'algosdk'; import * as React from 'react'; interface WalletProviderProps { manager: WalletManager; children: React.ReactNode; } declare const WalletProvider: ({ manager, children }: WalletProviderProps) => JSX.Element; declare const useNetwork: () => { activeNetwork: string; networkConfig: Record<string, _txnlab_use_wallet.NetworkConfig>; activeNetworkConfig: _txnlab_use_wallet.NetworkConfig; setActiveNetwork: (networkId: NetworkId | string) => Promise<void>; updateAlgodConfig: (networkId: string, config: Partial<AlgodConfig>) => void; resetNetworkConfig: (networkId: string) => void; }; interface Wallet { id: WalletId; metadata: WalletMetadata; accounts: WalletAccount[]; activeAccount: WalletAccount | null; isConnected: boolean; isActive: boolean; canSignData: boolean; connect: (args?: Record<string, any>) => Promise<WalletAccount[]>; disconnect: () => Promise<void>; setActive: () => void; setActiveAccount: (address: string) => void; } declare const useWallet: () => { wallets: Wallet[]; isReady: boolean; algodClient: algosdk.Algodv2; setAlgodClient: React.Dispatch<React.SetStateAction<algosdk.Algodv2>>; activeWallet: Wallet | null; activeWalletAccounts: WalletAccount[] | null; activeWalletAddresses: string[] | null; activeAccount: WalletAccount | null; activeAddress: 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[]>; }; export { type Wallet, WalletProvider, useNetwork, useWallet };