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
signatureCache: Map<string, SignatureCache> = ...

Methods

  • 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 using Nostr: username deterministico e chiave GunDB derivata dall'address

    Parameters

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

    Returns Promise<
        {
            key: {
                epriv: string;
                epub: string;
                priv: string;
                pub: string;
                secp256k1Bitcoin: {
                    address: string;
                    privateKey: string;
                    publicKey: string;
                };
                secp256k1Ethereum: {
                    address: string;
                    privateKey: string;
                    publicKey: string;
                };
            };
            message: string;
            signature: string;
            username: string;
        },
    >

  • Generate a password from a signature

    Parameters

    • signature: string

    Returns Promise<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>

  • Setup event listeners

    Returns void

  • Verify a signature

    Parameters

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

    Returns Promise<boolean>