Skip to content

Multi ledger #337

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

Merged
merged 10 commits into from
May 19, 2022
Merged

Conversation

matthiasgeihs
Copy link
Contributor

@matthiasgeihs matthiasgeihs commented Apr 29, 2022

Enables multi-ledger channels.

The following changes are applied:

  • Implement special Asset type that contains LedgerID.
  • Implement multi funder (adjudicator) that contain a set of funders (adjudicators) which are called depending on which assets a channel has.
  • Revise watcher: The watcher ensures that in case of a multi-ledger channel, all watched ledgers are kept synchronized.

@matthiasgeihs matthiasgeihs force-pushed the multi-ledger branch 4 times, most recently from 16044ca to ab2f162 Compare May 3, 2022 14:25
@matthiasgeihs matthiasgeihs requested review from RmbRT and cryptphil May 3, 2022 14:29
@RmbRT
Copy link
Contributor

RmbRT commented May 5, 2022

As I addressed above, I think the general architecture and protocols need to be adapted a little more to actually support multi-ledger channels. Architecture-wise, it looks good to me so far. As I also suggested in a meeting, it would maybe be expedient if we migrated the core to multi-ledger but added a legacy single-ledger adapter for older backends.
Also, even when only rolling out non-force-move channels, the on-chain contracts would need an option in the channel params that allows the user to disable force-moving.

@matthiasgeihs matthiasgeihs force-pushed the multi-ledger branch 3 times, most recently from b81018b to 68375c9 Compare May 16, 2022 12:14
@matthiasgeihs
Copy link
Contributor Author

I have addressed all comments. Significant changes:

  • Restrict usage of multi-ledger to non-app channels.
  • Moved package multi from backend to channel.

@matthiasgeihs matthiasgeihs force-pushed the multi-ledger branch 4 times, most recently from 28c85b5 to 5c0ec67 Compare May 16, 2022 12:52
@matthiasgeihs matthiasgeihs requested review from RmbRT and cryptphil and removed request for cryptphil May 16, 2022 12:57
RmbRT
RmbRT previously approved these changes May 17, 2022
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
@matthiasgeihs matthiasgeihs force-pushed the multi-ledger branch 3 times, most recently from 1c4df54 to 3190786 Compare May 18, 2022 13:45
@matthiasgeihs matthiasgeihs force-pushed the multi-ledger branch 2 times, most recently from 0fad769 to aeae771 Compare May 18, 2022 13:53
@matthiasgeihs matthiasgeihs marked this pull request as ready for review May 18, 2022 13:53
@matthiasgeihs matthiasgeihs requested review from cryptphil and RmbRT May 18, 2022 13:54
@matthiasgeihs
Copy link
Contributor Author

Addressed all comments. Here is the diff: https://github.com/hyperledger-labs/go-perun/compare/5c0ec670f3b19ab88de2a54925f8fd6575374c42..aeae7717a81d16cd268add2d769f6176814e49c6

Please check and approve if you are happy. @cryptphil @RmbRT

cryptphil
cryptphil previously approved these changes May 18, 2022
RmbRT
RmbRT previously approved these changes May 19, 2022
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
Signed-off-by: Matthias Geihs <matthias@perun.network>
@matthiasgeihs matthiasgeihs dismissed stale reviews from RmbRT and cryptphil via c051a07 May 19, 2022 09:23
@matthiasgeihs matthiasgeihs merged commit 5d89bb3 into hyperledger-labs:main May 19, 2022
@matthiasgeihs matthiasgeihs deleted the multi-ledger branch May 19, 2022 09:32
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 this pull request may close these issues.

3 participants