Add columns
The following columns IMO are needed in order for a wallet to be usable (in my opinion). Similar to how Vitalik said that if a layer 2 isn't stage 1, it should no longer be referred to as a layer 2 we should no longer refer to wallets as valid wallets if they do not meet this criteria.
Essential/critical criteria to have today
- Shows EIP-712 data (or has the option to)
- Secure element
Important to have soon
- Shows either message hash & domain hash OR EIP-712 digest when signing an EIP-712 message
- Decodes calldata, and nested decodes calldata
Ideal to have sometime in the future
I've added some of my initial research here to be used.
Oh wow!! I just saw the new page!! I'm honored some of my videos are included! I'll make more :)
https://wallet.page/wallet/summary
The hardest part of this site I think is finding someone to reproduce the builds similar to what we see with wallet scrutiny.
https://walletscrutiny.com/
Gonna need a badass to do this work!
Hi! Agreed on all counts.
EIP-712 data display seems like something that should be expected of all wallet types (both software and hardware), whereas use of a secure element only makes sense to require for hardware wallets. (Didn't know the Trezor Model T didn't have that, wut?)
I believe EIP-712 data is already taken into consideration within the src/schema/attributes/security/user-safety.ts attribute; check src/schema/features/security/user-safety.ts for the wallet feature data and src/schema/attributes/security/user-safety.ts for the attribute that reads them:
https://github.com/walletbeat/walletbeat/blob/9543b90c38115c97a08be0ed2eb9a2911f343d60/src/schema/features/security/user-safety.ts#L9-L29
https://github.com/walletbeat/walletbeat/blob/9543b90c38115c97a08be0ed2eb9a2911f343d60/src/schema/attributes/security/user-safety.ts#L21-L39
EIP-712 is also meant to be taken into consideration as part of the src/schema/attributes/security/software-hw-integration.ts attribute; however the current code just looks for magic substrings in a free-form text description in the wallet's features.security.hardwareWalletDappSigning feature data:
https://github.com/walletbeat/walletbeat/blob/9543b90c38115c97a08be0ed2eb9a2911f343d60/src/schema/attributes/security/software-hw-integration.ts#L333-L338
This logic could be replaced to use more structured feature data that covers generic EIP-712 display support, and support for interpreting this data for Aave/Safe and maybe others.
Your spreadsheet data also represents a lot of effort to compile it; it would be great to port that over to Walletbeat's database for wallet feature data! For example you can edit data/hardware-wallets/trezor.ts to add the Trezor data.
Let me know if you need any help with the code; I also recommend discussing with @nconsigny who has designed these hardware wallet attributes.
Nice, I'm going to make a big PR this week