* Export daml_kvutils_java_proto and add (un)packDamlLogEntryId
Export needed when using kvutils via bazel from another workspace.
* Use 'String' for participant state's LedgerId
Ref.PackageId is the wrong thing, and likely MatchingStringModule
isn't very usable from Java.
* Drop LedgerTestingHelpers.asyncFromTimeService as unused.
* ledger-api-test-tool: Add clues to asserts in the main code paths.
This ensures that users get more informative errors for the currently used
semantic tests.
* semantic tester: add operation description to an underlying ledger.
This allows to provide richer error messages to users of LedgerApiTestTool.
* Extend test durations on CI for Ledger API Test Tool driven test.
This introduces a command-line argument to scale timeouts used in the test.
* ledger-api-its: Make FutureTimeouts.timeout duration scaled inside.
Also include more information in the error message.
* simple test to hedge against existing sql migration files
* copyright
* adding better failure message
* adding intructions on generating the digest file
* Add configuration to LedgerInitialConditions
* Wait until index state is established in reference index service
This fixes a race condition where the daml-on-x server has been
brought up before the index service can serve it.
* Remove ledgerId checks from index service
Now that we have decided on non-changing ledger identifiers, remove
the ledgerId checks from index service and simplify the interface.
* Reformat and fix leftover ??? from DamlOnXTransactionService
This reverts commit 3d8acde916.
For some reason that commit seems to have resulted in a lot of
"unexpected end of file" errors during cache downloads. I do not know
what is going on here or how to fix it so let’s revert it for now.
Submitting a command via the CommandService now returns either the
transaction id (SubmitAndWaitForTransactionId), the flat transaction
(SubmitAndWaitForTransactionResponse), or the transaction tree
(SubmitAndWaitForTransactionTreeResponse).
This means that users don't have to wade through the transaction stream
to retrieve the resulting transaction. This is particularly useful in
combination with #479.
Fixes#406
* Allow to mangle names used in scenarios before their executions.
This allows to run a scenario against a long-running server repeatedly and avoid
clashes between runs, since each party is unique (up to the randomness used).
* ScenarioRunner: add test for partyNameMangler
This change is needed in preparation of #406, where we want to return a
transaction tree and flat transaction after a SubmitAndWaitForTransaction(Tree).
* remove outdated flags from comments
* update tests in preparation for visibility rules
* check visibility of contract keys, fixes#751
* add release notes
* include visibility check in scenario runner
* stephen's suggestions
* fix type error in api server example
* scalafmt
* bring TransactionFiltration.scala up to speed with disclosure
see
<faf1cde1a1/ledger-api/grpc-definitions/com/digitalasset/ledger/api/v1/event.proto>
for an in-depth description. fixes#794.
* add tests for contract key visibility
* move a lot of ledger testing utils out of command checks
* move a lot of ledger testing utils out of command checks
* remove useless checks regarding divulgence
* add tests regarding event witnesses
* update release notes
* re-introduce safety when disclosing
* hedging against possibly gaps in offsets
* doing the math right
* adding some notes
* extracting pipeline logic
Please enter the commit message for your changes. Lines starting
* extracting "run until" logic to be testable
* testing _run until_ logic
* adding release note
* copyright
* adding link to PR
* changing lookUpByTransactionId to use TransactionPipeline
* fixing issue identified by Extractor tests
* reference-server: Add invariant that observed offset is monotonic.
* reference-server: Fix offset handling for empty resulting transaction streams.
If the requested transaction stream (by range) returns empty, code - previously
- would reset 'currentOffset' to None, which was breaking invariants for the
next transaction stream request. Ensure that 'currentOffset' is maintained in
such scenario.
- Make `getLedgerInitialConditions` a `Source` to mirror `stateUpdates`.
This makes it easier to implement in Java.
- Expose transaction submission outputs with `KeyValueSubmission.transactionOutputs`
for ledger implementations that require knowledge of outputs up-front.
- Fix typo in unpackDamLLogEntry.
* release: make 'ci/release.sh' runnable for dry runs.
release-dry-run.sh is outdated and duplicates logic from ci/release.sh, so it
got deleted.
* ledger-api-test-tool: release the tool together with the SDK components.
* ledger-api-test-tool: update docs to reflect distribution mechanism.
* ledger-api-test-tool: further docs refinements.
* Add Ledger API Test Tool mention into release notes.
* Work in progress for the key-value participant-state utilities
* WIP on kvutils reference
* Try out "InMemoryKVParticipantState" in the reference server
* Work in progress on the rewrite based on code review
Main idea here is that there's functions to produce
submissions, and function to process a submission and
produce the log entries, and a function to convert
a log entry into 'Update'.
* WIP
* Add documented traits to clean up the key-value utility interfaces
* reorganize and address code review
* Add tests for in-memory kvutils example plus fix few missing bits
* Documentation, logging and heartbeats
* Move heartbeat source init out of actor preStart
* Add DamlOnXTimeService. Package inputs. Fix entryId references.
Semantic tests pass now.
* copyright headers & reformat
* Fix input computation, improve docs in daml_kvutils.proto
The DamlContractState input entries were missing for fetches
and non-consuming exercises.
* Disable SemanticTests.timeTravel
This test only works against Sandbox with a static time model,
not against arbitrary daml-on-x implementations. We can re-enable
it once a test service shim has been implemented.
* docs: add structure for Ledger API Test Tool
* docs: ledger-api-test-tool: move docs to DAML docs.
* docs: dlik: add copyrights
* ledger-api-test-tool: improve docs
* ledger-api-test-tool: further docs refinements.
* ledger-api-test-tool: expose stacktraces of SemanticTester to the user.
Previously timeout errors would produce no useful output. This gives some -
albeit low quality - output to help pinpoing the issues. This needs improvement
for better UX.
* docs: dlik: summarize how to use the tool against a DAML ledger.
Add field 'usedPackages' to Transaction to record the packages
that were used during interpretation to produce said transaction.
This serves as a hint to specify what packages are required to
validate the transaction. Note that this may not be sufficient
for future implementations that e.g. compile DAML-LF to JVM
bytecode and require packages containing only type definitions
as inputs.
This hint is mainly required for ledger implementations for which the
packages are tracked similarly to contract instances, and which
require that all inputs to their transaction must be declared
beforehand.
This work is required for the participant-state key-value utilities
described in issue #410 and implemented in PR #637.
* removing major LF dev version from Haskell proto codecs
* removing major LF dev version from scenario service client
* missed import
* remove Scala support for dev major version; remove --allow-dev option from sandbox cli
* Version.minorFromCliOption function
* don't build daml-stdlib artifacts for dev major
* remove damlc CLI --target dev
* release note about removed dev major LF version
* governance now discusses minor dev, no more major dev
* don't build from daml_lf_dev.proto anymore
* remove daml_lf_dev.proto
* raise deprecated release
* reserve 9999 in the ArchivePayload sum, as suggested by @bitonic
* use reserved proto keyword, as suggested by @bitonic
- `reserved` cannot occur within `oneof` block
* remove --allow-dev test
* dev removal release note followed the previous release; move it back to HEAD
* GenTransaction.WithTxValue alias
* undo parts of parent dealing explicitly with serialization
* use GenNode.WithTxValue more often
* use Node*.WithTxValue more often
* introduced a SteppingMode abstraction for Dispatcher
* changing InMemoryLedger to use range queries
* SQL Ledger uses range queries
* documenting + fixing off by one semantics of Dispatcher
* adapting DispatcherIT
* added some docs
* reverting off-by-one offset semantics required on the ledger-api
* formatting
* introducing a case class ParsedEntry for sql result parsing
* testing Dispatcher with slow range queries as well
* adding missing ORDER BY ASC
* removing commented out code
* daml-on-x: Drop StateInit and use AtomicReference
- Drop the StateInit update message and introduce "getLedgerInitialConditions".
- Switch to AtomicReference from SyncVar as this is non-blocking and hence safer to use from Akka.
* ledger/participant-state: Rename recordTimeEpoch to initialRecordTime
and use the time from timeProvider at the ledger object initialization
time as the initial record time.
* fmt
* Fix use of repo as external workspace. Fix compilation issue in IndexState.scala
* Refix the use of this repo as external bazel workspace
* Fix compilation after rebase
* refmt