Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove wallet encryption features and ed25519 crypto #1479

Open
3 tasks
webmaster128 opened this issue Sep 20, 2023 · 1 comment
Open
3 tasks

Remove wallet encryption features and ed25519 crypto #1479

webmaster128 opened this issue Sep 20, 2023 · 1 comment

Comments

@webmaster128
Copy link
Member

webmaster128 commented Sep 20, 2023

CosmJS was designed to be used for secure key storage required by wallets, but I am not aware of a user who uses CosmJS for that. Removing the following features would reduce maintenance cost and bundle size:

  • Remove Argon2 implementation (required for deriving encryption keys from a password)
  • Remove symmetric encryption (Xchacha20poly1305Ietf)
  • Remove all Ed25519 crypto

This affects {Direct,}Secp256k1{Hd,}Wallet.{serialize,deserialize}. Users of those features would need to implement secure key storage on their own.

As a result, we don't need the libsodium-wrappers-sumo dependency anymore (big Wasm blob) and remove a lot of code to maintain.

Closes

@paulmillr
Copy link

maybe you can just remove useless stuff like: bn.js, elliptic, libsodium-wrappers, and replace it with noble/{curves,ciphers}, which would allow to keep all the features, reduce bundle size massively, switch from wasm to js, and implement zip215 support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants