diff options
| author | Adam Soltys <[email protected]> | 2024-08-18 21:39:59 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-08-18 21:39:59 -0700 |
| commit | 0c55be9b7ac1067314826944655f0b4f08a6afa4 (patch) | |
| tree | dd978a771ef9a2800db107bb1b170cf4616ad82d /lib | |
| parent | 6bce7c842ef5665edfce9bebadfb62b95ae40111 (diff) | |
| download | coinos-server-0c55be9b7ac1067314826944655f0b4f08a6afa4.tar.gz coinos-server-0c55be9b7ac1067314826944655f0b4f08a6afa4.zip | |
ecash routes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ecash.js | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/ecash.js b/lib/ecash.js index d47513a4..0e4a3c1a 100644 --- a/lib/ecash.js +++ b/lib/ecash.js @@ -4,6 +4,7 @@ import { CashuWallet, getDecodedToken, getEncodedToken, + MintQuoteState, } from "@cashu/cashu-ts"; import { g, s } from "$lib/db"; @@ -16,27 +17,18 @@ let enc = (proofs) => let dec = (token) => getDecodedToken(token).token[0]; -export async function melt(user, amount) { - let { proofs } = dec(await g(`cash:${user.id}`)); +export async function claim(token) { let { proofs: current } = dec(await g(`cash`)); + let rcvd = await wallet.receive(token); - let { send, returnChange } = await wallet.send(amount, proofs); - - await s(`cash`, enc([...current, ...send])); - await s(`cash:${user.id}`, enc(returnChange)); + await s(`cash`, enc([...current, ...rcvd])); + return rcvd.reduce((a, b) => a + b.amount, 0); } -export async function mint(user, amount) { +export async function mint(amount) { let { proofs } = dec(await g(`cash`)); - let { proofs: current } = dec(await g(`cash:${user.id}`)); - let { send, returnChange } = await wallet.send(amount, proofs); - - await s(`cash:${user.id}`, enc([...current, ...send])); + let rcvd = await wallet.receive(enc(send)); await s(`cash`, enc(returnChange)); -} - -export async function balance(user) { - let { proofs } = dec(await g(`cash:${user.id}`)); - return proofs.reduce((a, b) => a + b.amount, 0); + return enc(rcvd); } |
