BrowserWallet

BrowserWallet is the composed wallet type for client-side (browser) applications. It extends WalletCore with all module methods mixed in via Object.assign.

Source: src/browser.ts

Import:

import { createWallet, type BrowserWallet } from '@bsv/simple/browser'

Type Definition

type BrowserWallet = _BrowserWallet
  & ReturnType<typeof createTokenMethods>
  & ReturnType<typeof createInscriptionMethods>
  & ReturnType<typeof createMessageBoxMethods>
  & ReturnType<typeof createCertificationMethods>
  & ReturnType<typeof createOverlayMethods>
  & ReturnType<typeof createDIDMethods>
  & ReturnType<typeof createCredentialMethods>

createWallet()

async function createWallet(defaults?: Partial<WalletDefaults>): Promise<BrowserWallet>

Factory function that creates a fully-composed BrowserWallet.

Parameter
Type
Required
Description

defaults

Partial<WalletDefaults>

No

Override default configuration

What happens:

  1. Creates a WalletClient (prompts user to connect via MetaNet Client or browser extension)

  2. Retrieves the user's identity key

  3. Instantiates _BrowserWallet (extends WalletCore)

  4. Mixes in all module methods: tokens, inscriptions, messagebox, certification, overlay, DID, credentials

Example:

Available Methods

BrowserWallet includes all methods from:

Source
Methods

getIdentityKey(), getAddress(), getStatus(), getWalletInfo(), getClient(), derivePublicKey(), derivePaymentKey(), pay(), send(), fundServerWallet()

createToken(), listTokenDetails(), sendToken(), redeemToken(), sendTokenViaMessageBox(), listIncomingTokens(), acceptIncomingToken()

inscribeText(), inscribeJSON(), inscribeFileHash(), inscribeImageHash()

certifyForMessageBox(), getMessageBoxHandle(), revokeMessageBoxCertification(), sendMessageBoxPayment(), listIncomingPayments(), acceptIncomingPayment(), registerIdentityTag(), lookupIdentityByTag(), listMyTags(), revokeIdentityTag()

acquireCertificateFrom(), listCertificatesFrom(), relinquishCert()

getDID(), resolveDID(), registerDID()

acquireCredential(), listCredentials(), createPresentation()

advertiseSHIP(), advertiseSLAP(), broadcastAction(), withRetry()

Re-exports from @bsv/simple/browser

The browser entry point also re-exports these standalone classes:

Underlying Client

BrowserWallet uses WalletClient from @bsv/sdk under the hood, which communicates with the user's wallet extension (MetaNet Client). All operations that require signing or key access prompt the user through the extension.

Last updated