Skip to main content

CashuMint

@cashu/cashu-ts


@cashu/cashu-ts / CashuMint

Class: CashuMint

Defined in: cashu-ts/src/CashuMint.ts:36

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

Constructors

new CashuMint()

new CashuMint(_mintUrl, _customRequest?): CashuMint

Defined in: cashu-ts/src/CashuMint.ts:42

Parameters

_mintUrl

string

requires mint URL to create this object

_customRequest?

<T>(options) => Promise<T>

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

Returns

CashuMint

Accessors

mintUrl

Get Signature

get mintUrl(): string

Defined in: cashu-ts/src/CashuMint.ts:47

Returns

string


webSocketConnection

Get Signature

get webSocketConnection(): undefined | WSConnection

Defined in: cashu-ts/src/CashuMint.ts:481

Returns

undefined | WSConnection

Methods

check()

check(checkPayload): Promise<CheckStateResponse>

Defined in: cashu-ts/src/CashuMint.ts:415

Checks if specific proofs have already been redeemed

Parameters

checkPayload

CheckStatePayload

Returns

Promise<CheckStateResponse>

redeemed and unredeemed ordered list of booleans


checkMeltQuote()

checkMeltQuote(quote): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:278

Gets an existing melt quote.

Parameters

quote

string

Quote ID

Returns

Promise<MeltQuoteResponse>


checkMintQuote()

checkMintQuote(quote): Promise<MintQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:164

Gets an existing mint quote from the mint.

Parameters

quote

string

Quote ID

Returns

Promise<MintQuoteResponse>

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


connectWebSocket()

connectWebSocket(): Promise<void>

Defined in: cashu-ts/src/CashuMint.ts:447

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

Returns

Promise<void>


createMeltQuote()

createMeltQuote(meltQuotePayload): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:237

Requests a new melt quote from the mint.

Parameters

meltQuotePayload

MeltQuotePayload

Returns

Promise<MeltQuoteResponse>


createMintQuote()

createMintQuote(mintQuotePayload): Promise<MintQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:134

Requests a new mint quote from the mint.

Parameters

mintQuotePayload

MintQuotePayload

Payload for creating a new mint quote

Returns

Promise<MintQuoteResponse>

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


disconnectWebSocket()

disconnectWebSocket(): void

Defined in: cashu-ts/src/CashuMint.ts:475

Closes a websocket connection

Returns

void


getInfo()

getInfo(): Promise<GetInfoResponse>

Defined in: cashu-ts/src/CashuMint.ts:70

fetches mints info at the /info endpoint

Returns

Promise<GetInfoResponse>


getKeys()

getKeys(keysetId?, mintUrl?): Promise<MintActiveKeys>

Defined in: cashu-ts/src/CashuMint.ts:380

Get the mints public keys

Parameters

keysetId?

string

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

mintUrl?

string

Returns

Promise<MintActiveKeys>

the mints public keys


getKeySets()

getKeySets(): Promise<MintAllKeysets>

Defined in: cashu-ts/src/CashuMint.ts:406

Get the mints keysets in no specific order

Returns

Promise<MintAllKeysets>

all the mints past and current keysets.


melt()

melt(meltPayload): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:318

Ask mint to perform a melt operation. This pays a lightning invoice and destroys tokens matching its amount + fees

Parameters

meltPayload

MeltPayload

Returns

Promise<MeltQuoteResponse>


mint()

mint(mintPayload): Promise<MintResponse>

Defined in: cashu-ts/src/CashuMint.ts:198

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

Parameters

mintPayload

MintPayload

Payload containing the outputs to get blind signatures on

Returns

Promise<MintResponse>

serialized blinded signatures


restore()

restore(restorePayload): Promise<PostRestoreResponse>

Defined in: cashu-ts/src/CashuMint.ts:438

Parameters

restorePayload
outputs

SerializedBlindedMessage[]

Returns

Promise<PostRestoreResponse>


swap()

swap(swapPayload): Promise<SwapResponse>

Defined in: cashu-ts/src/CashuMint.ts:104

Performs a swap operation with ecash inputs and outputs.

Parameters

swapPayload

SwapPayload

payload containing inputs and outputs

Returns

Promise<SwapResponse>

signed outputs


check()

static check(mintUrl, checkPayload, customRequest?): Promise<CheckStateResponse>

Defined in: cashu-ts/src/CashuMint.ts:328

Checks if specific proofs have already been redeemed

Parameters

mintUrl

string

checkPayload

CheckStatePayload

customRequest?

<T>(options) => Promise<T>

Returns

Promise<CheckStateResponse>

redeemed and unredeemed ordered list of booleans


checkMeltQuote()

static checkMeltQuote(mintUrl, quote, customRequest?): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:247

Gets an existing melt quote.

Parameters

mintUrl

string

quote

string

Quote ID

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MeltQuoteResponse>


checkMintQuote()

static checkMintQuote(mintUrl, quote, customRequest?): Promise<MintQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:145

Gets an existing mint quote from the mint.

Parameters

mintUrl

string

quote

string

Quote ID

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MintQuoteResponse>

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


createMeltQuote()

static createMeltQuote(mintUrl, meltQuotePayload, customRequest?): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:208

Requests a new melt quote from the mint.

Parameters

mintUrl

string

meltQuotePayload

MeltQuotePayload

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MeltQuoteResponse>


createMintQuote()

static createMintQuote(mintUrl, mintQuotePayload, customRequest?): Promise<MintQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:115

Requests a new mint quote from the mint.

Parameters

mintUrl

string

mintQuotePayload

MintQuotePayload

Payload for creating a new mint quote

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MintQuoteResponse>

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


getInfo()

static getInfo(mintUrl, customRequest?): Promise<GetInfoResponse>

Defined in: cashu-ts/src/CashuMint.ts:56

fetches mints info at the /info endpoint

Parameters

mintUrl

string

customRequest?

<T>(options) => Promise<T>

Returns

Promise<GetInfoResponse>


getKeys()

static getKeys(mintUrl, keysetId?, customRequest?): Promise<MintActiveKeys>

Defined in: cashu-ts/src/CashuMint.ts:354

Get the mints public keys

Parameters

mintUrl

string

keysetId?

string

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

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MintActiveKeys>


getKeySets()

static getKeySets(mintUrl, customRequest?): Promise<MintAllKeysets>

Defined in: cashu-ts/src/CashuMint.ts:394

Get the mints keysets in no specific order

Parameters

mintUrl

string

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MintAllKeysets>

all the mints past and current keysets.


melt()

static melt(mintUrl, meltPayload, customRequest?): Promise<MeltQuoteResponse>

Defined in: cashu-ts/src/CashuMint.ts:289

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

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MeltQuoteResponse>


mint()

static mint(mintUrl, mintPayload, customRequest?): Promise<MintResponse>

Defined in: cashu-ts/src/CashuMint.ts:175

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

customRequest?

<T>(options) => Promise<T>

Returns

Promise<MintResponse>

serialized blinded signatures


restore()

static restore(mintUrl, restorePayload, customRequest?): Promise<PostRestoreResponse>

Defined in: cashu-ts/src/CashuMint.ts:419

Parameters

mintUrl

string

restorePayload

PostRestorePayload

customRequest?

<T>(options) => Promise<T>

Returns

Promise<PostRestoreResponse>


swap()

static swap(mintUrl, swapPayload, customRequest?): Promise<SwapResponse>

Defined in: cashu-ts/src/CashuMint.ts:81

Performs a swap operation with ecash inputs and outputs.

Parameters

mintUrl

string

swapPayload

SwapPayload

payload containing inputs and outputs

customRequest?

<T>(options) => Promise<T>

Returns

Promise<SwapResponse>

signed outputs