Upgrade to cashu-ts v4 and drop unused deps.

Adapt amount handling for v4 Amount objects, replace axios/uuid with fetch and crypto.randomUUID, and remove dead helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Michilis
2026-07-23 03:46:59 +00:00
co-authored by Cursor
parent bd18271957
commit 449a8dda0d
9 changed files with 696 additions and 1197 deletions
+1 -41
View File
@@ -1,4 +1,3 @@
const { v4: uuidv4 } = require('uuid');
const crypto = require('crypto');
const cashu = require('./cashu');
const lightning = require('./lightning');
@@ -116,7 +115,7 @@ class RedemptionComponent {
* Perform the complete redemption process
*/
async performRedemption(token, lightningAddress) {
const redeemId = uuidv4();
const redeemId = crypto.randomUUID();
const tokenHash = this.generateTokenHash(token);
try {
@@ -268,45 +267,6 @@ class RedemptionComponent {
}
}
/**
* Get redemption status for API response
*/
getRedemptionStatus(redeemId) {
const redemption = this.getRedemption(redeemId);
if (!redemption) return null;
const response = {
success: true,
status: redemption.status,
details: {
amount: redemption.amount,
to: redemption.lightningAddress,
paid: redemption.paid,
createdAt: redemption.createdAt,
updatedAt: redemption.updatedAt
}
};
if (redemption.paidAt) response.details.paidAt = redemption.paidAt;
if (redemption.fee) response.details.fee = redemption.fee;
if (redemption.error) response.details.error = redemption.error;
if (redemption.mint) response.details.mint = redemption.mint;
if (redemption.domain) response.details.domain = redemption.domain;
return response;
}
/**
* Get all redemptions (for admin/debugging)
*/
getAllRedemptions() {
return Array.from(this.redemptions.entries()).map(([id, data]) => ({
redeemId: id,
...data
}));
}
/**
* Clean up old redemptions (should be called periodically)
*/