Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push notifications with Delegates v2 #484

Closed
DmitryBespalov opened this issue Jul 19, 2021 · 2 comments
Closed

Push notifications with Delegates v2 #484

DmitryBespalov opened this issue Jul 19, 2021 · 2 comments
Assignees

Comments

@DmitryBespalov
Copy link
Contributor

DmitryBespalov commented Jul 19, 2021

What is this feature about? (1 sentence)

Users that add ledger keys other mobile wallet keys via WalletConnect on mobile should receive push notifications the same way as users that import/generate keys on mobile.

Why is it needed? What is the value? For whom do we build it?

There are some users that do not trust to store their keys on mobile. If they import a hardware wallet key or another key from another mobile app, they should have the same convenience level as other app users.

High-level overview of the feature

Now we sign the register for push notifications payload with phone keys on every app start and after some user actions.

With hardware wallet keys it is not possible as we would need to request user permission every time we want to send a request.

Instead, we will generate a new 'delegate' key and authorize it to our backend so that the mobile app would still receive notifications even though the app doesn't have access to the actual owner key.

V2

This will add more control over displaying, enabling, and disabling push notification settings for each external wallet owner.

Links

Acceptance Test Cases

  1. Add Ledger key with enabling push notifications - happy case.
    a. Cancel signing delegate key request - push notifications should be disabled then
    b. Simulate backend failure to create delegate - push notification is disabled for this key.
  2. Disable push notification from Owner Key Details for Ledger - happy case
    a. Simulate backend failure to delete delegate key - the notification keeps enabled.
  3. Enable push notification from Owner Key Details for Ledger - happy case
  4. Remove Ledger Key from Owner Key Details - the delegate should be removed from the backend.
  5. After adding delegate key, remove it only on the backend, then go to Owner Key Details - it should make the push notifications disabled.
  6. After enabling delegate key, receive "Signature request" push notification
  7. After enabling delegate key, receive "Transaction executed" push notification
  8. After enabling delegate key, receive "Incomming tx" push notification
  9. Add WalletConnect key - with enabling push notifications
  10. Add WalletConnect key - without enabling push notifications
  11. Disable pushes on Owner Key Details for WalletConnect key
  12. Enable pushes on Owner Key Details for WalletConnect key
  13. Remove WalletConnect key - removes the delegate key from the backend.
  14. Use the same owner in several safes on the same mobile device. Add delegate key for that owner. Should receive push notifications for signing requests on both safes.
  15. Two mobile devices with the same safe added and the same owner imported, and delegate key enabled in each case. Both devices would receive a "signature request" notification.
  16. When the owner key with delegate is removed from the safe, the device should not receive the "signature request" notifications.
@DmitryBespalov DmitryBespalov self-assigned this Jul 19, 2021
@DmitryBespalov
Copy link
Contributor Author

Related backend issue: safe-global/safe-transaction-service#338

@DmitryBespalov DmitryBespalov transferred this issue from safe-global/safe-ios Sep 1, 2021
@DmitryBespalov DmitryBespalov changed the title [iOS] [Ledger] Push notifications for external keys Push notifications for External Wallets Sep 1, 2021
@Uxio0
Copy link
Member

Uxio0 commented Sep 7, 2021

Related backend issues:

@DmitryBespalov DmitryBespalov changed the title Push notifications for External Wallets Push notifications with Delegates v2 Nov 1, 2021
@sche sche closed this as completed Dec 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants