WIP: Add cdk-wasm crate with browser wallet support #1660
No reviewers
Labels
No labels
DB & Storage
Deployment
Error Handling & Logging
Maintenance
Payment Backend
backport
backport v0.13.x
backport v0.14.x
backport v0.15.x
bindings
blocked
bug
cdk-sql
ci
cli
deps
documentation
duplicate
enhancement
good first issue
help wanted
invalid
keep-open
ldk-node-ui
migrations
mint
mutation-testing
needs rebase
needs review
new nut
nut change
question
ready
rust-version
rustfmt
stacked hold
stale
testing
wallet
weekly-report
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
cashubtc/cdk!1660
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/wasm-prototype"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Introduce the cdk-wasm crate providing WebAssembly bindings for the CDK wallet. This enables running Cashu wallets directly in browsers and Node.js environments.
Key components:
Also adapts cdk-http-client to compile for wasm32 by gating native dependencies and adding a fetch-based transport behind the wasm32 target.
Description
Notes to the reviewers
Suggested CHANGELOG Updates
CHANGED
ADDED
REMOVED
FIXED
Checklist
just final-checkbefore committingWe need to split of this PR into multiple smaller PRs so it can be reviewed. It seems to do multiple things; change deps in signatory, modify the http client as well as introduce js bindings. The changes to the http client should be its own pr as they do not depend on the bindings.
On the bindings I have a strong preference for not redefining all these wasm types that we already have defined in cdk-ffi, it creates much more code to maintain. I know other projects have had recent success reusing their uniffi bindings with wasm using this project. I think this would be better for us since we already support uniffi. Did you look into wasm support via uniffi and there is a specefic reason we cannot use it?
Closed in flavour of #1665
Pull request closed