mirror of
https://github.com/tompro/sattle.git
synced 2026-08-26 23:05:58 +00:00
refactor: tighten protocol amount helpers
This commit is contained in:
@@ -22,7 +22,7 @@ import {
|
||||
grossUpForMintFee,
|
||||
mintAddressUrl,
|
||||
resolveMintInput,
|
||||
serverOf
|
||||
serverOf,
|
||||
} from 'lnurlcash-kit'
|
||||
import type {LnurlcashOptions, MintFee} from 'lnurlcash-kit'
|
||||
import {ceilMsatToSat, floorMsatToSat} from './units'
|
||||
@@ -55,7 +55,7 @@ export const clearMintFeeQuoteCache = (): void => quoteCache.clear()
|
||||
// reached right now.
|
||||
export const quoteMintFee = async (
|
||||
mintInput: string,
|
||||
options: LnurlcashOptions = {}
|
||||
options: LnurlcashOptions = {},
|
||||
): Promise<MintFee | null> => {
|
||||
const url = resolveMintInput(mintInput)
|
||||
if (!url) return null
|
||||
@@ -69,8 +69,9 @@ export const quoteMintFee = async (
|
||||
if (addressUrl) {
|
||||
try {
|
||||
payUrl = (await fetchMintAddress(addressUrl, opts)).payLink
|
||||
} catch {
|
||||
} catch (error) {
|
||||
// no mint-address support - the plain payRequest guess still works
|
||||
if (!(error instanceof Error)) throw error
|
||||
}
|
||||
}
|
||||
let fee: MintFee | null
|
||||
|
||||
@@ -5,14 +5,12 @@ export const MSAT_PER_SAT = 1000
|
||||
|
||||
export const msatToSats = (msat: number): number => msat / MSAT_PER_SAT
|
||||
|
||||
export const satsToMsat = (sats: number): number =>
|
||||
Math.round(sats * MSAT_PER_SAT)
|
||||
export const satsToMsat = (sats: number): number => Math.round(sats * MSAT_PER_SAT)
|
||||
|
||||
// rounds up to the next whole sat - for an msat amount about to be
|
||||
// requested as an invoice, where sub-sat precision (e.g. from a mint fee's
|
||||
// percentage cut, see grossUpForMintFee) isn't reliably payable
|
||||
export const ceilMsatToSat = (msat: number): number =>
|
||||
Math.ceil(msat / MSAT_PER_SAT) * MSAT_PER_SAT
|
||||
export const ceilMsatToSat = (msat: number): number => Math.ceil(msat / MSAT_PER_SAT) * MSAT_PER_SAT
|
||||
|
||||
// rounds down to the nearest whole sat - for a fee-adjusted amount shown
|
||||
// as an upper bound: rounding up there would advertise a note value that
|
||||
|
||||
Reference in New Issue
Block a user