Class for Bitcoin wallet connections and operations

Hierarchy

  • EventEmitter
    • NostrConnector

Constructors

Properties

connectedAddress: null | string = null
connectedType: null | "nostr" | "alby" | "manual" = null
DEFAULT_CONFIG: NostrConnectorConfig = ...
manualKeyPair: null | NostrConnectorKeyPair = null
MESSAGE_TO_SIGN: "I Love Shogun!"
signatureCache: Map<string, SignatureCache> = ...

Methods

  • Cache signature

    Parameters

    • address: string
    • signature: string

    Returns void

  • Cleanup event listeners

    Returns void

  • Clear signature cache for a specific address or all addresses

    Parameters

    • Optionaladdress: string

    Returns void

  • Set up manual key pair for connection

    Returns Promise<ConnectionResult>

  • Connect to Nostr extension

    Returns Promise<ConnectionResult>

  • Connect to a wallet type

    Parameters

    • type: "nostr" | "alby" | "manual" = "nostr"

    Returns Promise<ConnectionResult>

  • Emits an event with arguments

    Parameters

    • event: EventType
    • Optionaldata: unknown

    Returns boolean

  • Generate credentials from an existing signature

    Parameters

    • address: string
    • signature: string

    Returns Promise<NostrConnectorCredentials>

  • Generate a deterministic signature for consistent authentication

    Parameters

    • address: string

    Returns Promise<string>

  • Generate a password from a signature

    Parameters

    • signature: string

    Returns Promise<string>

  • Get cached signature if valid

    Parameters

    • address: string

    Returns null | string

  • Get the currently connected address

    Returns null | string

  • Get the currently connected wallet type

    Returns null | "nostr" | "alby" | "manual"

  • Check if any Bitcoin wallet is available

    Returns boolean

  • Check if Nostr extension is available

    Returns boolean

  • Removes an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers an event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Registers a one-time event listener

    Parameters

    • event: EventType
    • listener: (data: unknown) => void

    Returns void

  • Removes all listeners for an event or all events

    Parameters

    • Optionalevent: EventType

    Returns void

  • Request a signature from the connected wallet

    Parameters

    • address: string
    • message: string

    Returns Promise<string>

  • Request signature with timeout

    Parameters

    • address: string
    • message: string
    • timeout: number = 30000

    Returns Promise<string>

  • Setup event listeners

    Returns void

  • Validates that the address is valid

    Parameters

    • address: undefined | null | string

    Returns string

  • Verify a signature

    Parameters

    • message: string
    • signature: string
    • address: any

    Returns Promise<boolean>