Skip to content

v0.1.0 - Initial Release

Choose a tag to compare

@zeugmaster zeugmaster released this 21 Oct 17:43
· 6 commits to main since this release

πŸŽ‰ Initial Release

Pure Swift BOLT #11 Lightning Invoice Decoder

This is the first release of Bolt11, a complete implementation of the BOLT #11 Lightning Network invoice protocol in pure Swift.

✨ Features

  • βœ… Complete BOLT #11 compliance - Full implementation of the Lightning invoice specification
  • βœ… Bech32 decoding with checksum verification (BIP-0173)
  • βœ… All networks supported: mainnet, testnet, signet, regtest
  • βœ… Amount parsing with all multipliers: milli (m), micro (u), nano (n), pico (p)
  • βœ… All tagged fields supported (p, s, d, h, n, x, c, f, r, 9, m)
  • βœ… Cryptographic validation - ECDSA signature verification and public key recovery using secp256k1
  • βœ… Pretty-print support - Beautiful formatted output with CustomStringConvertible
  • βœ… Comprehensive testing - 18 tests covering valid and invalid invoices from the spec
  • βœ… Detailed error handling - Specific error types for all failure cases

πŸ“¦ Installation

Add to your Package.swift:

dependencies: [
    .package(url: "https://github.com/zeugmaster/Bolt11.git", from: "0.1.0")
]

πŸš€ Quick Start

import Bolt11

let invoice = try Bolt11Decoder.decode(invoiceString)
print(invoice.prettyPrint)

πŸ“‹ Requirements

  • macOS 13.0+ / iOS 16.0+
  • Swift 6.1+

πŸ“š Documentation

See the README for complete documentation and examples.

πŸ™ Credits

Implementation based on BOLT #11 specification.