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

Monitor Requests (blinded balance proofs) must be published into a global matrix room #3273

Closed
Dominik1999 opened this issue Jan 15, 2019 · 10 comments
Assignees

Comments

@Dominik1999
Copy link
Contributor

Dominik1999 commented Jan 15, 2019

Monitor Requests must be published to be picked up by Monitoring services

As described in the Raiden Spec Monitor Requests will be published into a global Matrix room, see here for Monitoring services to be picked up. Therefore, the Raiden client needs to publish every balance update of its channels in case they should be monitored.

Every new balance update will be published as a Monitor Request

Monitor Requests are defined in the Raiden Spec. These messages will be published and picked up by the Monitoring Services.

Specification

For every balance update of a channel the user wants to be monitored, a Monitor Request needs to be published.

General issue, see #28

Detailed Specification tbd

Backwards Compatibility tbd

It is probably backwards compatible.

Timeline to be met in order to make MS / PFS team happy

  • 01.02.2019 (then there will be beer/some surprise for the client team, if we reach that goal)
@Dominik1999 Dominik1999 added this to the Ithaca milestone Jan 15, 2019
@Dominik1999
Copy link
Contributor Author

@palango anything to add?

@rakanalh
Copy link
Contributor

Tagging @ulope for the transport team to plan accordingly.

@hackaugusto
Copy link
Contributor

related #1432

@Dominik1999
Copy link
Contributor Author

Additionally, for that issue to be finished, we would need the client to join the matrix room for Monitor Requests. We will be able to create the room next week, when #3291 is finished. Does that make sense to you?

@palango
Copy link
Contributor

palango commented Feb 5, 2019

With #3374 and #3393 in review let's plan the next steps (client side) here. From my understanding the following steps are necessary.

  • Create/Join the monitoring broadcast room as the client. This seems to be as easy as adding it here. We should probably make this conditional on a command line flag like --enable-ms-broadcasting.
  • Broadcast the BP (with the reward set to 0) every time a new BP from the other participant arrives. A first step might be to subclass the RaidenEventHandler and overwrite the handling of EventPaymentReceivedSuccess there.

@rakanalh @LefterisJP @konradkonrad @andrevmatos Does this make sense and did I forget anything?

@palango palango added the P1 label Feb 5, 2019
@andrevmatos
Copy link
Contributor

@palango I think that should be mostly it. I'd suggest adding a simple send_global method to the MatrixTransport as a send-and-forget, to send a Message to one of the global rooms (received as the suffix string), and then call it from the event handler.

@palango
Copy link
Contributor

palango commented Feb 6, 2019

I'd suggest adding a simple send_global method to the MatrixTransport as a send-and-forget

@andrevmatos Can you take care of that?

@andrevmatos
Copy link
Contributor

@palango Yes, I'll add the method and make a PR, and you can take from there to finish the PR with the handler bits

@andrevmatos
Copy link
Contributor

Matrix functions and methods ready and merged. You can now use transport.send_global('monitoring', message) (or whatever name given in app.config['matrix']['global_rooms'] list) to send messages to this room.

@rakanalh
Copy link
Contributor

Closing issue as #3452 was done. Follow up issues will be created if needed.

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

6 participants