π£ Looking for the bravest of the brave
We have just released a new RC of cashu-ts v2.2. This is an experimental canary release, including the output of our revamped build pipeline and the new OutputData / Factory patterns.
While the API is non-breaking, these changes are considered experimental and require some field testing. Therefore, we would highly appreciate any brave testers who would go ahead and take the RC for a test ride. What would be most interesting is whether the new build output can be plugged into existing projects without breaking anything.
This version includes:
New build pipeline (dropped ES5, targeting ES2020)
Custom Output Data
Output Factories
Binary Token En/Decoding
Modern P2PK (locktime, refund keys)
DX:
Migrated to modern TypeScript
Changed bundler to vite
Changed Testing to vitest
Added browser testing using Playwright
Thanks to the new build pipeline we will also be offering a standalone build, available for projects that prefer loading cashu-ts from a script tag, rather than using a bundler. This will be released in a couple of hours
https://www.npmjs.com/package/@cashu/cashu-ts/v/2.2.0-rc3
Egge
egge@npub.cash
npub1mhcr...c226
Building https://npub.cash π₯ Working on awesome nostr, cashu and Lightning stuff πβ‘οΈ
The βUpdating nutzap-redemption historyβ part of NIP-61 seems to suggestiv that NutZaps can only be claimed into a nutsack wallet. As a kind:7376 event expects to point to a new token event ID. Is that right?
Cc @PABLOF7z
Pull Request Looking For Reviewers!
β οΈ The big CustomOutput PR, that has been cooking for 3 weeks, is now finally ready (and looking) for review β οΈβ¨I would really appreciate everyones help on this one

GitHub
Restructured blinding + custom messages + keep vectors by Egge21M Β· Pull Request #218 Β· cashubtc/cashu-ts
Description
This PR addresses a couple of things that were discussed in the past: Sorted outputs when swapping, as well as custom outputs. I always...
I can finally empty my nutsack π View quoted note β
Web Components are a rabbit holeβ¦ thanks @Leito π
Another day, another nutjar update!
nutjar-button v0.3 is a web component that lets you add Lightning Donation to your web page with close to 0 coding and configuration. All you need is a nostr key!
π₯ NIP-61 aka. Nutzaps using Cashu
π» Reusable Web Component
π¨ Theming and Customization
Okay, I tested the WC API and I love it.
nutjar-ui is going to be called "nutjar-button" and it is going to be a Web Component! π₯ π₯


β‘π₯ nutjar-ui let's you add Lightning Donations to any website with close to no setup at all.
It uses Cashu and NIP-61 under the hood to handle payments and send them to your nostr key. The component is hosted on a CDN and can be included using a single tag:
Nutzaps are going to be everywhere... Obviously on nostr apps, but also on the web π₯ π₯
Nutjar.js-button (working title) allows you to add Lightning donations to your website, without any coding, no wallet signup, heck you do not even need to know cashu. All you need is a nostr key.
New docs, whoβs dis? 

I was finally able to finish the first end-to-end test using the new output logic inside cashu-ts!!
In this pretty extensive test you can see the new factory approach. You will be able to provide a default factory function that is now applied to all the outputs that will be kept.


They do it right
ποΈ 

π₯π
π΅π© 

I never thought Iβd enjoy being a library dev, but here I am π₯

Hello from Cashu-TS Docs | Cashu-TS Docs
Description will go into a meta tag in <head />
I hate these algorithms so much⦠a random image of a stone that looks like a human toe got put into my reddit feed and yes, I read through that post.
What I did not know, was that I unknowingly opted in for 5 days of super annoying recommendations of content from r/Rocks all over my feed.
Dear Nut-Connoisseurs π₯
Please join the Cashu Matrix Server π«‘
Also make sure to drop by the Cashu-ts room:
You're invited to talk on Matrix
You're invited to talk on Matrix
You're invited to talk on Matrix
You're invited to talk on Matrix
Cooking some pretty interesting stuff for cashu-ts right now! π₯
A soon to be released version will not only enable users to get full control over the outputs generated by a method, it also introduces the concept of "Output Factories" π π₯
An output factory describes how the library should generate outputs. The best part is, that users can now control the kind of output they want to receive, but still let the library handle splitting, amounts and fees. With a factory you will be able to instantiate a CashuWallet class that will make sure all change outputs that might be created by calling "send" or "mintProofs", will automatically be created using the factory you specified (e.g. locked to you pubkey).

