What's the error?

Reply to this note

Please Login to reply.

Discussion

Version 3 token crashes eNuts and won’t be received after paste on Cashu.me:

cashuAeyJ0b2tlbiI6W3sicHJvb2ZzIjpbeyJhbW91bnQiOjIsIkMiOiIwMjY1ZjdiNmYzMDI0ZTRiNjU4MWVkODkxZTRkMGIyZDU2MzRmMmQxM2NjMDE4MGFkOWZkMzNmYTZkOTdhY2ZhYjIiLCJpZCI6IjAwNTAwNTUwZjA0OTQxNDYiLCJzZWNyZXQiOiI5MDg2YTU2ZTAxODliZWFjMzhkM2Q1ZTFhYWE1ZjI0ZWY4NDljZTI0YjkyNzBkOTQ1NDVjMmMyODk2YjNiMGNhIn1dfV19 iffddffff

Version 4 token says it’s invalid or already spent on eNuts and won’t be received after paste on Cashu.me:

cashuBo2Ft92F1Y3NhdGF0gaJhaUgAUAVQ8ElBRmFwgaRhYQJhc3hAMjg2MzYxODBkZGI5YTZiZTM3MzUwZmM4OGQyOWQ3MDE0YWUxNjMzNmJhYzUyNTBlMmE4ZDIxNGU2NTMxZGExNmFjWCEChg1psn9suvjrDc-Y3N_WzyoeRAmSTQx8gYlUE-N6A29hZKNhZVggHmLx5fkeImRxJlUY3s-bLH53zg7VASoNhkXXs_AdbThhc1ggYpycvOtXjR_cph9QB_-3RpqM02_7wD5gSat6HLSIK9BhclggssWFdqjEdrPcsI-Q6ZJ9-3cJ9ruJUdDN3I3tD7l5FBk

You are missing the mint url in the object that is being encoded.

Updated this line to include mintUrl:

const cashuToken = getEncodedToken({ mint: mintUrl, proofs: send }, { version: 4 });

I was able to generate the token and receive it on cashu.me, but still get an error on eNuts that the token is invalid or already used 🤔

enuts is not maintained and does not support Cashu v1 api or v4 token encoding

Ok cool, thanks for your help!

Is v3 the most widely accepted token version?

I’m not familiar with the differences. I tried looking it up, but not sure where v3 and v4 tokens are defined.

Sorry for hassling, but I appreciate the help!

I don't understand why I'm seeing this error:

"Not enough funds available (1) for swap amountToSend: 1 + fee: 0 | length: 1"

To me this means:

1 sat is available.

1 sat is intended to be sent.

No fee.

1 proof of 1 sat to send.

Yet 1 sat is not enough to send 1 sat?

From this code:

cashu-ts/blob/main/src/CashuWallet.ts

No worries! Happy to help. Can you send me your code? Are you sure that fees are 0?

I'm pretty sure it's related to my code and not the cashu-ts library

When I run the cashu-ts pure typescript in terminal I have no issue minting 1 sat and generating a token

I tried to build a webpack version of cashu-ts so I could easily integrate it into my webapp

The error arises when I try to execute the sendTokens command:

const { keep, send, cashuToken } = await CashuBuddy.sendTokens(wallet, secretAmount.value, proofs, secretInput.value);

Here's the webpack code for reference:

https://github.com/happylemonprogramming/cashubuddy/blob/main/src/index.ts

I think I figured it out actually

Thanks for your help 🙏

Awesome! What turned out to be the issue?

I’m not familiar with typescript so I just kept struggling and stumbling through it

Here’s what I eventually did and maybe you can tell me if there was an easier way

-Created a typescript project folder

-npm installed your library

-Created a file to export each function I needed (see image below)

-Packaged it into a webpack

-npm run build to get bundle.js file

-Host bundle.js on cloudflare

Now my webapp has your functions and all I need in my HTML is:

Great! The package actually already has an inbuilt command to create a standalone bundle. Simply clone the repo and do

- npm i

- npm run compile:standalone

lol nice, that’s way easier

At least it was a good learning experience 😅

Is the standalone bundle already hosted on a CDN anywhere?

I could at least do that if that benefits anyone

I got this error in the image below because I'm on an old Windows machine

I had to:

- npm i

- npm install --save-dev cross-env

- update "compile:standalone": "cross-env BUILD_FORMAT=iife vite build" on package.json

- npm run compile:standalone

But now I think I got the full cashu-ts library working! Thanks for your help!

Can I lock e-cash to an npub using cashu-ts?

Yes, you can lock to schnorr public keys. Just make sure to convert them accordingly

nostr:nprofile1qqstuu6ccnl9q9yvejhuqt4zqhvqz30z2wyf4gu43k404p3hq37ggrslzgxat alternatively you can use Macadamia on iOS which supports v4 (at least in TestFlight): https://macadamia.cash/

I forgot about macadamia, thanks!

Is it still in active development?

I think so, it was updated recently

The first argument to getEncodedToken should by of type Token: https://cashubtc.github.io/cashu-ts-docs/docs/Guides/token