mirror of
https://github.com/digital-asset/daml.git
synced 2024-11-10 10:46:11 +03:00
c997f5d145
* Fix handling of transient contracts in extractor fixes #7201 As described in the issue, the problem was that we completely ignored the order of events and always processed exercises before creates which falls apart as soon as they are in the same transaction. I still think that in the current state doing creates before exercises would be fine but this seems like the kind of assumption that breaks very quickly during refactoring (e.g. let’s say you start creating foreign key references) so instead this PR fixes this properly by iterating over the transaction tree in pre-order. This turns out to be a bit more complex than I expected it to be since we filter the tree on the client side and afterwards we have lost enough information so that we cannot traverse the tree instead anymore. Therefore, the “tree” type in extractor now contains a list of events in pre-order and a comment that it’s not actually a valid tree or subtransaction. changelog_begin - [Extractor] Fix a bug that resulted in transient contracts (created and archived within the same transaction) to not be displayed as archived. See #7201 for details. changelog_end * Update extractor/src/main/scala/com/digitalasset/extractor/ledger/types/TransactionTree.scala Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com> * Suffix with template name changelog_begin changelog_end Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com> |
||
---|---|---|
.. | ||
bin | ||
src | ||
.gitignore | ||
BUILD.bazel |