The reused implementation from signing typed data V1 was used
in case of signing typed data V4. This implementation required
chain ID to be present in the typed data. This change fixes
the issue by making chainID optional for signing typed data V4.
Add `wallet_SafeSignTypedDataForDApps` with support for
`eth_signTypedData` and `eth_signTypedData_v4`
Reject if the chain to sign doesn't matches the target chain
for typed data signing
Add `wallet_HashMessageForSigning` with to support hashing messages
for signing in a safe way as per EIP-191 v45 and supporting
to hash messages for signing on the client side (keycard)
Deprecate `wallet_SignTypedDataV4``
Updates: #15361
Implement required basic CRUD APIs
- Add session to wallet connect
- Delete session used in tests only
- Get active dApps: the order of retrieval is
based on the first time the DApp was added
in descending order.
Also add tests to validate the main requirements
Closes: #14615