Repository navigation
Releases
Releases · zeugmaster/Bolt11
v0.1.1 - Dependency Fix
🔧 Bug Fix Release
Fixed secp256k1 Duplicate Symbol Errors
This release resolves duplicate symbol errors that occurred when using Bolt11 alongside CashuSwift or other packages that depend on secp256k1.
Changes
- ✅ Switched to zeugmaster/swift-secp256k1 fork - Now uses the same secp256k1 implementation as CashuSwift
- ✅ Updated module import - Changed from
libsecp256k1tosecp256k1to match fork structure - ✅ Added UPDATE_GUIDE.md - Comprehensive guide for updating and troubleshooting Xcode cache issues
- ✅ Zero breaking changes - All APIs remain the same, drop-in replacement for v0.1.0
Compatibility
This version is fully compatible with apps that use:
- CashuSwift with zeugmaster/swift-secp256k1
- Any other package using the same secp256k1 fork
Upgrading from v0.1.0
dependencies: [
.package(url: "https://github.com/zeugmaster/Bolt11.git", from: "0.1.1")
]Troubleshooting Xcode Cache Issues
If Xcode doesn't pick up the update, see UPDATE_GUIDE.md for detailed instructions.
No code changes required! 🎉
v0.1.0 - Initial 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.