@cashu/cashu-ts
    Preparing search index...

    Class CashuMint

    Class represents Cashu Mint API. This class contains Lower level functions that are implemented by CashuWallet.

    Index

    Constructors

    • Parameters

      • _mintUrl: string

        Requires mint URL to create this object.

      • Optional_customRequest: <T>(options: RequestOptions) => Promise<T>

        If passed, use custom request implementation for network communication with the mint.

      • OptionalauthTokenGetter: () => Promise<string>

        A function that is called by the CashuMint instance to obtain a NUT-22 BlindedAuthToken (e.g. from a database or localstorage)

      • Optionaloptions: { logger?: Logger }

      Returns CashuMint

    Accessors

    • get webSocketConnection(): undefined | WSConnection

      Returns undefined | WSConnection

    Methods

    • Gets an existing BOLT12 melt quote from the mint. Returns current payment state (UNPAID, PENDING, or PAID) and payment preimage if paid.

      Parameters

      • quote: string

        Quote ID to check.

      Returns Promise<MeltQuoteResponse>

      Updated quote with current payment state and preimage if available.

    • Tries to establish a websocket connection with the websocket mint url according to NUT-17.

      Returns Promise<void>

    • Requests a new BOLT12 melt quote from the mint for paying a Lightning Network offer. For amount-less offers, specify the amount in options.amountless.amount_msat.

      Parameters

      • meltQuotePayload: MeltQuotePayload

        Payload containing the BOLT12 offer to pay and unit.

      Returns Promise<MeltQuoteResponse>

      Melt quote with amount, fee reserve, and payment state.

    • Closes a websocket connection.

      Returns void

    • Get the mints public keys.

      Parameters

      • OptionalkeysetId: string

        Optional param to get the keys for a specific keyset. If not specified, the keys from all active keysets are fetched.

      • OptionalmintUrl: string

      Returns Promise<MintActiveKeys>

      The mints public keys.

    • Parameters

      • path: string

      Returns Promise<undefined | string>

    • Requests the mint to pay a BOLT12 offer by providing ecash inputs to be spent. The inputs must cover the amount plus fee reserves. Optional outputs can be included to receive change for overpaid Lightning fees.

      Parameters

      • meltPayload: MeltPayload

        Payload containing quote ID, inputs, and optional outputs for change.

      Returns Promise<MeltQuoteResponse>

      Payment result with state and optional change signatures.

    • Mints new tokens using a BOLT12 quote by requesting blind signatures on the provided outputs.

      Parameters

      • mintPayload: MintPayload

        Payload containing the quote ID and outputs to get blind signatures on.

      Returns Promise<MintResponse>

      Serialized blinded signatures for the requested outputs.

    • Checks if specific proofs have already been redeemed.

      Parameters

      • mintUrl: string
      • checkPayload: CheckStatePayload
      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

      Returns Promise<CheckStateResponse>

      Redeemed and unredeemed ordered list of booleans.

    • Gets an existing melt quote.

      Parameters

      • mintUrl: string
      • quote: string

        Quote ID.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string
      • Optionallogger: Logger

      Returns Promise<PartialMeltQuoteResponse>

    • Gets an existing BOLT12 melt quote from the mint. Returns current payment state (UNPAID, PENDING, or PAID) and payment preimage if paid.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • quote: string

        Quote ID to check.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<MeltQuoteResponse>

      Updated quote with current payment state and preimage if available.

    • Gets an existing mint quote from the mint.

      Parameters

      • mintUrl: string
      • quote: string

        Quote ID.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string
      • Optionallogger: Logger

      Returns Promise<PartialMintQuoteResponse>

      The mint will create and return a Lightning invoice for the specified amount.

    • Gets an existing BOLT12 mint quote from the mint.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • quote: string

        Quote ID to check.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<Bolt12MintQuoteResponse>

      Updated quote with current payment and issuance amounts.

    • Requests a new BOLT12 melt quote from the mint for paying a Lightning Network offer. For amount-less offers, specify the amount in options.amountless.amount_msat.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • meltQuotePayload: MeltQuotePayload

        Payload containing the BOLT12 offer to pay and unit.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<MeltQuoteResponse>

      Melt quote with amount, fee reserve, and payment state.

    • Requests a new mint quote from the mint.

      Parameters

      • mintUrl: string
      • mintQuotePayload: MintQuotePayload

        Payload for creating a new mint quote.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string
      • Optionallogger: Logger

      Returns Promise<PartialMintQuoteResponse>

      The mint will create and return a new mint quote containing a payment request for the specified amount and unit.

    • Requests a new BOLT12 mint quote from the mint using Lightning Network offers.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • mintQuotePayload: Bolt12MintQuotePayload

        Payload containing amount, unit, optional description, and required pubkey.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<Bolt12MintQuoteResponse>

      A mint quote containing a BOLT12 offer.

    • Fetches mints info at the /info endpoint.

      Parameters

      • mintUrl: string
      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • Optionallogger: Logger

      Returns Promise<GetInfoResponse>

    • Get the mints public keys.

      Parameters

      • mintUrl: string
      • OptionalkeysetId: string

        Optional param to get the keys for a specific keyset. If not specified, the keys from all active keysets are fetched.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

      Returns Promise<MintActiveKeys>

    • Get the mints keysets in no specific order.

      Parameters

      • mintUrl: string
      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

      Returns Promise<MintAllKeysets>

      All the mints past and current keysets.

    • Requests the mint to pay for a Bolt11 payment request by providing ecash as inputs to be spent. The inputs contain the amount and the fee_reserves for a Lightning payment. The payload can also contain blank outputs in order to receive back overpaid Lightning fees.

      Parameters

      • mintUrl: string
      • meltPayload: MeltPayload
      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string
      • Optionallogger: Logger

      Returns Promise<PartialMeltQuoteResponse>

    • Requests the mint to pay a BOLT12 offer by providing ecash inputs to be spent. The inputs must cover the amount plus fee reserves. Optional outputs can be included to receive change for overpaid Lightning fees.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • meltPayload: MeltPayload

        Payload containing quote ID, inputs, and optional outputs for change.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<MeltQuoteResponse>

      Payment result with state and optional change signatures.

    • Mints new tokens by requesting blind signatures on the provided outputs.

      Parameters

      • mintUrl: string
      • mintPayload: MintPayload

        Payload containing the outputs to get blind signatures on.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string

      Returns Promise<MintResponse>

      Serialized blinded signatures.

    • Mints new tokens using a BOLT12 quote by requesting blind signatures on the provided outputs.

      Parameters

      • mintUrl: string

        The mint's base URL.

      • mintPayload: MintPayload

        Payload containing the quote ID and outputs to get blind signatures on.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>

        Optional custom request implementation.

      • OptionalblindAuthToken: string

        Optional authentication token for NUT-22.

      Returns Promise<MintResponse>

      Serialized blinded signatures for the requested outputs.

    • Performs a swap operation with ecash inputs and outputs.

      Parameters

      • mintUrl: string
      • swapPayload: SwapPayload

        Payload containing inputs and outputs.

      • OptionalcustomRequest: <T>(options: RequestOptions) => Promise<T>
      • OptionalblindAuthToken: string

      Returns Promise<SwapResponse>

      Signed outputs.