Cashu Nutshell v0.12.0: Wallet REST API, TokenV3, Coin Selection
Cashu is a Chaumian Ecash wallet and mint for Bitcoin Lightning. Cashu Nutshell is the reference implementation in Python.
- "Cashu is an Ecash implementation based on David Wagner's variant of Chaumian blinding (protocol specs)."
- "Token logic based on minicash (description) which implements a Blind Diffie-Hellman Key Exchange scheme written down here."
- "The database mechanics in Cashu Nutshell and the Lightning backend uses parts from LNbits."
Wallet: New TokenV3 format
- "The new TokenV3 format makes it a lot easier to parse Cashu tokens. It is already supported by all known Cashu wallets."
Wallet: Coin selection of all tokens from old epochs
- "If the a mint rotates its keys to a new epoch, the wallet will now automatically select all coins from past epochs and redeem them for new ones."
- "That means that all tokens in the wallet should be from the latest epoch which is a requirement for making the Proof of Liabilities Scheme for Ecash work."
Wallet: New REST API
- "This is a huge improvement for the wallet's utility. This update provides a simple REST API for almost all of the functionality of the wallet that is otherwise accessible via the command line interface."
- "This will make it a lot easier to write apps that can use the Nutshell wallet in the background, for example faucets or other third party software that wants to use Nutshell."
NUT updates
Misc
- Mint: Allow setting as peg-out only by @sihamon in #160
- Mint settings: add mint derivation path by @callebtc in #166
- Wallet: enable Tor tests in CI by @callebtc in #185
Fixes
- Fix: TypeError in burn token by @sihamon in #152
- fix derivation path to 0/0/0/0 by @callebtc in #157
- Fix/ln unsuccessful payment by @callebtc in #159
- fix: load mint with most recent keyset by @callebtc in #162
- load keys of output, not of inputs by @callebtc in #169
- fix: test_step2 by @ngutech21 in #174
- fix double "or" typo in burn parameter validation error message by @theStack in #172
- [Mint] Fix key rotation by @callebtc in #177
- Fix: NOSTR_RELAYS in .env.example by @moonsettler in #181
- [Mint] Fix key derivation by @callebtc in #187
- [Mint] reenable balance db views by @callebtc in #190
- [Mint] load the latest keyset from db based on the derivation path by @callebtc in #193
New Contributors
- @ngutech21 made their first contribution in #174
- @theStack made their first contribution in #172
Full Changelog: 0.10.0...0.12.0