Compatibility issue with Google Chrome core 112 and 113
sshlapakovvlad opened this issue · 4 comments
The web3uikit/web3 library uses chainsafe, which in turn uses numeric-separator inside @chainsafe/persistent-merkle-tree/lib/proof/compactMulti.js inside getBit() function inside a switch block.
This implementation works perfectly fine on Google Chrome core 111 or less, but on Google Chrome core 112 and 113, it crashes with the following error message: "Module parse failed: Identifier directly after number (62:27)"
I have tried setting up a Babel script to support plugin-proposal-numeric-separator, but it didn't help. The issue should focus on finding a solution to make the web3uikit/web3 library compatible with Google Chrome core 112 and 113.
Environment:
Operating system: MacOS Ventura 13.3.1
Node version: v18.16.0
web3uikit/core version: 1.0.0
web3uikit/icons version: 0.4.1
web3uikit/web3 version: 0.3.2
Steps to reproduce:
Run web3uikit/web3 library on Google Chrome core 112 or 113.
Observe that it crashes with the error message mentioned above.
Expected behavior:
The web3uikit/web3 library should work correctly on Google Chrome core 112 and 113.
Additional information:
@chainsafe/persistent-merkle-tree version: @chainsafe/persistent-merkle-tree@0.6.1
Babel script used to support plugin-proposal-numeric-separator:
{
"presets": [
"@babel/preset-env"
],
"plugins": [
"@babel/plugin-proposal-numeric-separator"
]
}
I would appreciate any help or suggestions to resolve this issue. Thank you!
I do not think this is in scope to fix, we dont import or use chainsafe
so its a dependancy of a dependancy issue. I assume this is part of the /web3 section of the repo that is depreciated also.
If you want to try and fix it that would be appreciated 💚
I was not aware of the deprecation of the /web3
section. Can you please provide more information on this and whether there are any plans to support the components from the /web3
package, such as the ConnectButton
, in the future? This information would be helpful as we evaluate our options for addressing the compatibility issue. Thank you for your help.
hey @sshlapakovvlad if you want to take advantage of these i would fork the repo. The current connect button is dependent on either of an old service Moralis no longer supports, or a self hosted work around.
After a lot of thought I do not think its something that a UI kit should deliver especially with all the dependancy issues that come with it.
I would highly recommend using RainbowKit or Magic UI that are far better alternatives with whole businesses focused on delivering good DX.
The next iteration of the kit will be focused on helping people build quality, customisable UI that will take Moralis API data as its input. If you would like to be involved in community contributions that would be fantastic.
Thank you for your response and for the explanation about the deprecation of the /web3 section. I appreciate your recommendation of using RainbowKit or Magic UI as alternative options.
I completely understand the decision not to include the ConnectButton component in the UI kit, given the dependency issues that come with it. I wish you the best of luck with the development of the next iteration of the kit, and I would be happy to be involved in community contributions if there are any opportunities in the future. Thank you again for your help.