pedrouid / enc-utils

Byte encoding utils
MIT License
8 stars 1 forks source link

Upgrade bn.js to remove duplicate dependency #3

Open pi0neerpat opened 4 years ago

pi0neerpat commented 4 years ago

Wallet Connect uses this package, which uses a fixed version of bn.js 4.11.8

Wallet Connect also uses ethereumjs-util, which uses bn.js ^5.1.2

If we upgrade here, we could eliminate this duplicate dependency and save 10.98 KB zipped

pi0neerpat commented 4 years ago

Update: I figured out that WalletConnect is using an old version of ethereumjs-util 5.2.0, which actually uses bn ^4.11.0.

In order to achieve savings, web3-provider-engine would need to upgrade ethereumjs-util. You are already using the latest web3-provider-engine v15.0.12, so upgrading that won't help.

Dependency tree

@walletconnect/web3-provider > web3-provider-engine > ethereumjs-util & eth-sig-util

:x: eth-sig-util ^1.4.2 (latest is 2.5.3) > ethereumjs-util ^5.1.1 :x: ethereumjs-util ^5.1.5 (latest is v7.0.3)

I'm going to make an issue in web3-provider-engine as well

pi0neerpat commented 4 years ago

The v5 release doesn't list any breaking changes, or at least they aren't documented well. I think a bn.js upgrade here might be ok. I'll check it just in case. https://github.com/indutny/bn.js/releases/tag/v5.0.0