1// The amount in a bolt11 invoice, from its human-readable part.2import { describe, it, expect } from "vitest";3import { bolt11Msats } from "../../src/fuel.ts";45describe("bolt11 amounts", () => {6 it("reads the human-readable amount", () => {7 expect(bolt11Msats("lnbc10n1abc")).toBe(1000);8 expect(bolt11Msats("lnbc10u1abc")).toBe(1_000_000);9 expect(bolt11Msats("lnbc2500u1abc")).toBe(250_000_000);10 expect(bolt11Msats("lnbc1m1abc")).toBe(100_000_000);11 expect(bolt11Msats("lnbc1abc")).toBe(0);12 expect(bolt11Msats("lnbc20p1abc")).toBe(2);13 expect(bolt11Msats("lnbc25p1abc")).toBe(0); // sub-msat precision is invalid14 expect(bolt11Msats("lntb500n1abc")).toBe(50_000);15 expect(bolt11Msats("nonsense")).toBe(0);16 });17});