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

Update SIP-20 for Accounts requirements #2728

Open
ajeetd opened this issue Sep 16, 2024 · 1 comment · May be fixed by MetaMask/SIPs#149
Open

Update SIP-20 for Accounts requirements #2728

ajeetd opened this issue Sep 16, 2024 · 1 comment · May be fixed by MetaMask/SIPs#149
Assignees

Comments

@ajeetd
Copy link

ajeetd commented Sep 16, 2024

No description provided.

@david0xd
Copy link
Contributor

Given that Snap is not meant to be directly communicating with WebSocket server, it is the responsibility of our internal controllers to maintain the reliability of the connections and messaging process (e.g. ensure reliable way of message delivery to the Snap or WebSocket server).

Here are some potential concerns and requirements to be discussed before building this feature.

  • Potential reliability issues
    • Connection drops
      • What if WebSocket connection is broken because (server closes connection, internet connection issues, etc.)?
        • Potentially build connection revive mechanisms (reconnect).
    • Message delivery
      • Receiving messages
        • Interrupted message delivery to Snap (message can be lost).
          • Browser closed within delivery process, etc.?
      • Sending messages
        • Interrupted or unsuccessful message delivery to a WebSocket.
        • Message delivery requires WebSocket connection to be already open and initialized if needed. This is prerequisite for sending messages.
    • Connection initialization requirements
      • As previously mentioned in a potential use case discussed on Slack, WebSocket connection might need initialization process (e.g. sending account address to the WebSocket in order to subscribe to specific data events related to that account)
  • Use case study
    • Potential use case documentation would be very useful. This would help us to identify potential flaws, demands or obstacles that we might encounter on the way. This is something that possibly cannot be easily covered by SIP initially, but rather identified as an implementation requirement at first based on the use cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants