-
Notifications
You must be signed in to change notification settings - Fork 205
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
MVP Multi Domain Ledger API #16760
Conversation
There was a problem hiding this 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.
ledger-api/grpc-definitions/com/daml/ledger/api/v1/command_completion_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/commands.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transfer.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/update_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/update_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/update_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/update_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/commands.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/completion.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transaction_service.proto
Outdated
Show resolved
Hide resolved
There was a problem hiding this 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.
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/completion.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transfer_command.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transfer_command.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transfer.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/transfer.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/completion.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/command_submission_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/commands.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/commands.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/connected_domains_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/in_flight_transfers_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/completion.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
General question: do we want to be able to filter for a list of domains? (ACS snapshot, update stream, ...) |
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/active_contracts_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/command_service.proto
Outdated
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v1/commands.proto
Outdated
Show resolved
Hide resolved
[CHANGELOG_BEGIN] [CHANGELOG_END]
[CHANGELOG_BEGIN] [CHANGELOG_END]
[CHANGELOG_BEGIN] [CHANGELOG_END]
...tests/reproduces-transactions/test/scala/com/daml/script/export/ReproducesTransactions.scala
Show resolved
Hide resolved
namely - //daml-script/export/integration-tests/reproduces-transactions:test - //compiler/damlc:daml-stdlib-doctest
namely - //daml-script/export/integration-tests/reproduces-transactions:test - //compiler/damlc:daml-stdlib-doctest
namely: - //daml-script/export/integration-tests/reproduces-transactions:test - //compiler/damlc:daml-stdlib-doctest
ledger-api/grpc-definitions/com/daml/ledger/api/v2/participant_offset.proto
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v2/participant_offset.proto
Show resolved
Hide resolved
ledger-api/grpc-definitions/com/daml/ledger/api/v2/participant_offset.proto
Show resolved
Hide resolved
// 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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point: this is part of the "to-be-revisited" list already: https://github.com/digital-asset/daml/blob/main/ledger-api/grpc-definitions/com/daml/ledger/api/v2/README.md#to-be-revisited-potential-changes-until-daml-sdk-30ga #3
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 { |
There was a problem hiding this comment.
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
namely: - //daml-script/export/integration-tests/reproduces-transactions:test - //compiler/damlc:daml-stdlib-doctest
This PR introduces Ledger API V2 in a backwards compatible fashion.
For change-log and migration hints please read
v2/package.proto
.