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

Migrate from our current cryptography libraries to noble/* #14928

Open
hilvmason opened this issue Jun 13, 2022 · 5 comments
Open

Migrate from our current cryptography libraries to noble/* #14928

hilvmason opened this issue Jun 13, 2022 · 5 comments
Assignees
Labels
MV3 team-extension-platform Extension Platform team

Comments

@hilvmason
Copy link
Contributor

No description provided.

@paulmillr
Copy link

Basically a continuation of #9741. Some useful context:

@adonesky1
Copy link
Contributor

@paulmillr because secp256k1 and keccak are nested subdependencies of a number of packages we use, our plan here is to create a wrapper to match the interface of each them but use noble implementations under the hood and then force resolve our wrapper throughout our dependency tree. I just found your compatibility layer gist for elliptic.js so I'm using this now to help me build this wrapper. Let me know if you have any thoughts on this approach!

@paulmillr
Copy link

@adonesky1 we have the compatibility layer here: https://github.com/ethereum/js-ethereum-cryptography/blob/master/src/secp256k1-compat.ts

Check it out. The gist was just initial thoughts for creating it.

@adonesky1
Copy link
Contributor

Oh wow. I'm glad I mentioned it! Will check this out. Thanks!

@paulmillr
Copy link

paulmillr commented Jul 25, 2022

Analysis of metamask's yarn.lockfile that was mentioned above:

  • tiny-secp256k1, secp256k1 — can be freely replaced with new crypto
  • libp2p-crypto-secp256k1: was deprecated, a replacement package @libp2p/crypto is already using noble
  • hdkey, bip32 — can be replaced with @scure audited packages (basically noble); or asked to use noble
  • gridplus-sdk, ganache, eth-lattice-keyring, bitcoinjs-lib, @trezor/utxo-lib — need to ping the folks to get their stuff updated. Although i'm not sure which of those are just devDependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MV3 team-extension-platform Extension Platform team
Projects
None yet
Development

No branches or pull requests

5 participants