To support HydraDX EVM related features on subsquare, OpenSquare team did some customization development, including:
- Research and learn code of HydraDX app to check how EVM works on HydraDX.
- Deploy statescan and subsquare instances for parsing history EVM related extrinsics and testing.
- Support metamask connect, singing and commenting. This request lots of code refactor to support both substrate and EVM addresses on a single network.
- Support web2 user binding an EVM address.
- Do address convertion between EVM address and substrate address to show them on UI and submit extrinsics.
- In scan scripts, extract substrate calls from
ethereum#transact extrinsic, so we can update referendum status in time when related calls detected.
Related fronted code PRs:
https://github.com/opensquare-network/subsquare/pull/3786
https://github.com/opensquare-network/subsquare/pull/4040
https://github.com/opensquare-network/subsquare/pull/3754
Cost
Roughly these features cost us 2 FTE 10 days work, 160 hours. Taking $80 per hour as the rate, it's $12,800. Considering these features can be used by other projects, we will request part of it. Our final request is 500k HDX.