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

MVP Multi Domain Ledger API #16760

Merged
merged 57 commits into from
Jun 4, 2023
Merged

MVP Multi Domain Ledger API #16760

merged 57 commits into from
Jun 4, 2023

Conversation

nmarton-da
Copy link
Contributor

@nmarton-da nmarton-da commented Apr 24, 2023

This PR introduces Ledger API V2 in a backwards compatible fashion.
For change-log and migration hints please read v2/package.proto.

Copy link
Contributor

@cocreature cocreature left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice mostly looks good, I'm unclear on the semantics of not passing domain ids. Do I get daml 2.0 behavior on reads? What happens on command submissions? I'm also slightly worried about the oddities in the flat transaction stream but that may be workable for june.

Copy link
Contributor

@meiersi-da meiersi-da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the comments from the review as prep to the call today. Please ping me when the next iteration has completed and is ready for another review.

@rgugliel-da
Copy link
Contributor

General question: do we want to be able to filter for a list of domains? (ACS snapshot, update stream, ...)

[CHANGELOG_BEGIN]
[CHANGELOG_END]
@nmarton-da nmarton-da marked this pull request as ready for review June 4, 2023 11:36
@nmarton-da nmarton-da requested review from a team as code owners June 4, 2023 11:36
[CHANGELOG_BEGIN]
[CHANGELOG_END]
@nmarton-da nmarton-da merged commit 9f55d67 into main Jun 4, 2023
@nmarton-da nmarton-da deleted the nmarton/mvp-multi-domain-api branch June 4, 2023 21:00
remyhaemmerle-da added a commit that referenced this pull request Jun 5, 2023
namely

- //daml-script/export/integration-tests/reproduces-transactions:test
- //compiler/damlc:daml-stdlib-doctest
remyhaemmerle-da added a commit that referenced this pull request Jun 5, 2023
namely

- //daml-script/export/integration-tests/reproduces-transactions:test
- //compiler/damlc:daml-stdlib-doctest
remyhaemmerle-da added a commit that referenced this pull request Jun 5, 2023
namely:
-  //daml-script/export/integration-tests/reproduces-transactions:test
-  //compiler/damlc:daml-stdlib-doctest
// one with a bigger participant offset happened after than the one with a smaller participant
// offset. Please note this is not true for updates synchronized by a different domain.
//
// The Ledger API endpoints that take offsets allow to specify portions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what you mean by "portion" here. Is that defined somewhere else in the API?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nah, this is the original doc which I kept around

}

enum ParticipantBoundary {
// Refers to the first transaction.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to slot in a "currently" like for end, as pruning can move the "first" and it's not clear that there is no pruning happen concurrently.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me from the implementation that this is actually fetching from the beginning...this also meas that this is not usable for stream start after the first pruning.
I am not sure this is practical, but I would not change the doc here, because the current implementation is aligned with the current doc.

message GetLedgerEndResponse {

// The absolute offset of the current ledger end.
ParticipantOffset offset = 1;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently (research), Canton always return an absolute offset. Do we want to change that ?

Copy link
Contributor Author

@nmarton-da nmarton-da Jun 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remyhaemmerle-da added a commit that referenced this pull request Jun 7, 2023
namely:
-  //daml-script/export/integration-tests/reproduces-transactions:test
-  //compiler/damlc:daml-stdlib-doctest

// A filter both for filtering create and archive events as well as for
// filtering transaction trees.
message TransactionFilter {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the late question but why "TransactionFilter" ? We use it for other things: updates, acs

garyverhaegen-da pushed a commit that referenced this pull request Jun 13, 2023
namely:
-  //daml-script/export/integration-tests/reproduces-transactions:test
-  //compiler/damlc:daml-stdlib-doctest
garyverhaegen-da added a commit that referenced this pull request Jun 20, 2023
namely:
-  //daml-script/export/integration-tests/reproduces-transactions:test
-  //compiler/damlc:daml-stdlib-doctest

Co-authored-by: Gary Verhaegen <gary.verhaegen@digitalasset.com>
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.

8 participants