In the old flow, we would call the keyserver immediately after receiving a signed message from a user's wallet.
In the new flow, there are still some steps afterwards before we call the keyserver.
To make SIWEPanel support both cases, this diff:
- Factors out the SIWE server call and related logic into a useSIWEServerCall hook
- Add a new prop called onSuccessfulWalletSignature to SIWEPanel
- "Lift" the SIWE server call logic in SIWEPanel up to FullscreenSIWEPanel, one of its parents
- Use useSIWEServerCall in FullscreenSIWEPanel