urbit / bridge

An application for interacting with Azimuth.
MIT License
95 stars 25 forks source link

txns: refactor for EIP1559 compatibility; also upgrade deps, remove dead code, fix race condition #1057

Closed tomholford closed 1 year ago

tomholford commented 1 year ago

Context

This PR addresses #1006, #1035 (and potentially other tracked issues) by updating out of date deps and adding support for EIP 1559 Transactions.

While investigating and fixing the root cause, the scope of necessary changes snowballed due to the fact that other interrelated dependencies were out of date. Upgrading these deps subsequently broke the build, as the newer libs use nullish coalescing operators, which the old version of create-react-app did not support. I initially spiked into upgrading to CRA 5 but ran into Webpack Config Hell. So instead, I decided to switch the build tooling to Vite, which required some other changes such as migrating all React .js --> .jsx, and upgrading commonjs code --> es6 (hence exporting the nockjs code, converting it to es6, and publishing it to npm).

Changes

TODO

Test the following flows:

tomholford commented 1 year ago

From what I can tell this looks solid. Do the changes here still support hardware wallets or is that coming later? That's the only thing I couldn't glean that seams important.

Thanks. Hardware wallet flows used to be supported explicitly. As of v3, those flows were deprecated and users are expected to use Metamask + HW. The changes in this PR re: HW are to remove dead code that are no longer used.

philipcmonk commented 1 year ago

This worked for me with Gnosis Safe, which is new. Looks good to me.