* PoC: Add live script runner with intermediate live messages
* Unify live and non-live scenario service script runners
* Add live scenarios
* Clean up runLiveScenario
* dedupe runLiveScenario/runLiveScript
* return to onComplete mode
* Send status update every second
* Send progress events with milliseconds passed instead
* Fix runLiveScript -> runLiveScenario
* Show milliseconds passed in scenarios
* Sleep a random amount 300;600 ms
* Try to prevent older status updates from overwriting newer ones
* lint
* wrap errors appropriately
* Remove wrong secondary webview update
* Define variants inside companion object
* use abstract class instead of trait
* lint
This PR make several (small) changes on how the disclosed contract are
handle by the speedy machine.
(1) disclosed contract at not anymore pass a builtin time. They were
any pass latter using `SBCacheDisclosedContract`.
(2) disclosed contracts are first keep in their own cache,
disclosedContracts: Map[V.ContractId, CachedContract]. They are moved
to the cached for used contract only if used. In fact we need to be
sure the used disclosed contracts pass through the
Speedy#addGlobalContract to verify the transaction limits are not
overpassed.
* Add signatory labels to create and fetch in tree view
* Switch node printing in scala and expected ledger files
* Update docs/images
* Update party formatting to use `x, y and z` and correct verb tense
* Update scala to match haskell, update tests and docs (except images)
* Cleanup code from suggestions
* Fix misformatting, refactor
* Define DA.Bazel.Runfiles.locateResource as an alternative to locateRunfiles
* Use locateResource to get default dlint rules file
Fixes#15443
* Use locateResource to get scenario-service.jar
* Use locateResource to get ghc-pkg executable
* Use locateResource to get stable-packages directory
* Use locateResource to get ghcversion.h
* Use locateResource to get hpp executable
* Use locateResource to get builtin package dbs
* Drop unused function DA.Daml.Options.Types.getBaseDir
* Use locateResource to get d3{,plus}.min.js
* Use locateResource to get repl-service.jar
* data Resource now takes a runfilesPathPrefix instead of a runfilesPath
* Add hlint warning 'locateRunfiles/package_app'
* Let locateRunfiles crash when used outside of bazel target
* typo
* Test that invalidly typed contracts are rejected
CHANGLELOG_BEGIN
* Engine/speedy-level tests for explicit disclosure (#14227): test that invalidly typed contracts are rejected.
CHANGELOG_END
Add key hash to scenario service error reporting
CHANGELOG_BEGIN
* Engine/speedy-level tests for explicit disclosure (#14227): Add key hash to scenario service error reporting.
CHANGELOG_END
* Basic explicit disclosure testing
CHANGELOG_BEGIN
* Engine/speedy-level tests for explicit disclosure (#14227): test that explicit disclosure works for contracts and keys.
CHANGELOG_END
* Add failing test
* Overload daml-script 'Runner.run' to work directly with 'PureCompiledPackages'
* Use new daml-script 'Runner.run' in scenario-service
changelog_begin
* data-dependencies: fixed an issue with the handling of multiple versions of the daml-script package (#14291)
changelog_end
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Move disclosed contract logic to speedy
This moves the disclosed contract logic from the engine to speedy.
Fixes#14090.
* back to versioned contract instances
CHANGELOG_BEGIN
CHANGELOG_END
CHANGELOG_BEGIN
[DAML Studio] as the `parent` and `rolledbackBy` fields of `LedgerNodeInfo` are not used within the code base, they have been removed.
CHANGELOG_END
* fixes#14183
CHANGELOG_BEGIN
- [DAML Studio] Refactor and simplification of Transaction#processNodes to avoid need for custom state during processing. Refactor of Transaction#processTransaction to make processing workflow more transparent and easier to unit test. See https://github.com/digital-asset/daml/issues/14183 for details.
CHANGELOG_END
This is a follow up of #14175 and #14176.
Basically
- we kill the `On` mode which is not used anymore.
- we factorize the visibility check.
- we rename `LocalContractNotVisible` into `ContractNotVisible`
CHANGELOG_BEGIN
CHANGELOG_END
* Show key in transaction log when exercising by key
* Only show key if key was actually used
* Show key if used by a fetch in transaction view
* Add test for key showing up in log on fetch/exercise
* CHANGELOG_BEGIN
Display key used by exerciseByKey and fetchByKey in transaction log
CHANGELOG_END
* Dummy commit for CHANGELOG
changelog_begin
changelog_end
* Use "by key" instead of "using key", to better match function names
* Test that key is only reported when ByKey is used
* fixes#13835
CHANGELOG_BEGIN
- [Daml Studio] Fix a bug where some contracts were considered inactive even though their consumption was under a rollback. See https://github.com/digital-asset/daml/issues/13835 for details
CHANGELOG_END
* ifaces:support exercising by required interface
This adds support to exercise an interface choice on a contract ID,
where the interface is required by one of the implemented interfaces of
the contract template.
Fixes#13434.
CHANGELOG_BEGIN
CHANGELOG_END
* some improvements based on review
* added a test plus a bugfix
* Update daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PhaseOne.scala
Co-authored-by: Sofia Faro <sofia.faro@digitalasset.com>
* 2 more interface tests for the command preprocessor
Co-authored-by: Sofia Faro <sofia.faro@digitalasset.com>
We add tests to check that by_interface fields are set for interface
transactions. We also extend the scenario service to show the
by_interface fields in the pretty printed transactions.
Fixes#13333
CHANGELOG_BEGIN
CHANGELOG_END
* Replace scenario messages with script
In theory we could try to be clever and print the "right" thing. In
practice, scenarios are almost dead so the complexity for that doesn’t
seem worth it.
fixes#13178
changelog_begin
changelog_end
* .
The previous way of tracking this only worked for direct children of
rollback nodes but lost the information when there was an exercise
node in between.
Reported in https://discuss.daml.com/t/exception-rollback/4000
changelog_begin
- [Daml Studio] Fix a bug where contracts that have been rolled back
would still show up as active in the table view and in the list of
active contracts at the end of the transaction view. This only
affected display. Fetching those contracts failed and `query` also
did not return those contracts.
changelog_end
* Disable implicit party allocation in Daml Studio
fixes#12058
This matches what sandbox does in 2.0 so it reduces a source of
inconsistency and potential confusion.
changelog_begin
changelog_end
* Update compiler/scenario-service/protos/scenario_service.proto
Co-authored-by: Remy <remy.haemmerle@daml.com>
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Replace most scenario references in the docs by Daml script
There are still some left in the Daml studio docs (should be updated)
and in quickstart-java (should be updated but probably not by us
🤷) but I’ll leave those for separate PRs.
changelog_begin
changelog_end
* delete unused code
changelog_begin
changelog_end
Since Scala 2.13.2, Scala introduced built-in support to
manage warnings in a more granular fashion, thus making
the silencer plugin we are currently using no longer
strictly useful. Removing compiler plugins also removes
friction from migrating to Scala 3 in the future. As a
cherry on top, the built-in warning configuration also
allows to check whether a `@nowarn` actually does
anything, allowing us to proactively remove unused
warnings should the need arise.
[Here][1] is s a blog post by the Scala team about it.
Warnings have been either solved or preserved if useful,
trying to minimize the scope (keeping it at the single
expression scope if possible). In particular, all
remaining usages of the Scala Collection API compatibility
module have been removed.
Using the silencer plugin also apparently hid a few
remaining usages of compatibility libraries that were used
as part of the transition from Scala 2.12 to Scala 2.13
that are no longer needed. Removing those warnings
highlighted those.
changelog_begin
changelog_end
[1]: https://www.scala-lang.org/2021/01/12/configuring-and-suppressing-warnings.html
* Remove user-management error cases from scenario-service proto.
changelog_begin
changelog_end
* remove Error.UserManagement
* remove UserManagememtError
* simp
* meh... done over by scala's poor excuse for a type system
New year, new copyright, new expected unknown issues with various files
that won't be covered by the script and/or will be but shouldn't change.
I'll do the details on Jan 1, but would appreciate this being
preapproved so I can actually get it merged by then.
CHANGELOG_BEGIN
CHANGELOG_END
* Add --enable-scenarios hidden flag
* Fail LFConversion when a scenario is defined and --enable-scenarios=no
* Remove unused optIsGenerated=True test cases
* Refactor getIntegrationTests
* Add no-scenarios-enabled tests
* Add enable-scenarios flag to scenario-service server
* Add test ensuring that scenario-returning functions are still allowed
* Remove 'enable scripts' option (--daml-script)
* Add --scripts synonym to --scenarios
* Rephrase scenarios flags descriptions
changelog_begin
changelog_end
Previously, it was only applied for messages towards the script
service but not for messages towards the Haskell client. Now we
increase the max size in both directions.
See
https://discuss.daml.com/t/increase-max-message-size-in-daml-studio/3573/9
for the forum thread that raised this.
changelog_begin
- [Daml Studio/Daml Test] The `grpc-max-message-size` field in
`daml.yaml` now also applies to the message that contains the result
of a script.
changelog_end
* Update TODOs to outdated issues.
In particular update a lot of defunct interface TODOs to the LF 1.15
issue (or add the LF 1.15 issue if it's also relevant).
changelog_begin
changelog_end
* typo
* remove numeric/bignumeric todo
* scalafmt!!
* drop choice observer TODO
This is part of #11691
This PR allows to limits:
- the number of signatories,
- the number of observers,
- the number of controllers,
- the number of inputContracts,
CHANGELOG_BEGIN
CHANGELOG_END
* Split daml-lf encode/decode Haskell libraries
I was working on limiting the supported input versions in damlc. This
requires the list of stable package ids so we can allow those to be
decoded even if they are older.
However that leads to a cyclical dependency:
To get the package ids of the stable packages, I need to encode
them. The version check is in the decoder. If those live in the same
package, I now end up with a cyclical dependency and
Bazel (understandably) gets very sad.
This PR splits decoding/encoding into two libraries with the
generation of stable packages only depending on encoding.
changelog_begin
changelog_end
* Fix dependants
changelog_begin
changelog_end