Not really significant but seems better to be on the safe side and
keep this consistent with isDuplicate than try to do something
different here.
changelog_begin
changelog_end
This speeds up data-deps generation from ~30s to < 10s. It’s not quite
where we could be (9s vs 6-7s) but given that this is much simpler
than trying to make alpha equivalence expand lazy and we have more
options for speeding this up so this seems good enough.
changelog_begin
changelog_end
* LF: Rename GenTransaction to Transaction
Following up #10827 and #10921 that drop type parameters from GenNode,
we rename GenTransaction to Transaction.
CHANGELOG_BEGIN
CHANGELOG_END
* fix
* a bit more fixes
* interfaces: lf conversion of preconditions
This adds the LF conversion of preconditions from the desugared GHC code
to Daml LF for preconditions. This depends on the corresponding patch of
the GHC fork.
CHANGELOG_BEGIN
CHANGELOG_END
* pin linux stackage snapshot
* added a test
CHANGELOG_BEGIN
CHANGELOG_END
* pinned linux stackage snapshot
CHANGELOG_BEGIN
CHANGELOG_END
* additional InterfacePrecondition test
this checks that that conjunction of all preconditions of intererfaces
and templates is checked.
CHANGELOG_BEGIN
CHANGELOG_END
* pin stackage snapshot
* pin windows stackage snapshot
* update compile.yml (again)
* pin linux stack snapshot
* fix InterfacePrecondition test
* pin windows stackage
By default `yarn_install` will install `node_modules` in the repository.
The advantage is that editor tooling and the like can use this
`node_modules` tree without needing to duplicate it between Bazel and
tooling. The downside is that Bazel has less strict control over this
tree. In particular, on refetch it can happen that old files remain in
the tree and confuse the build going forward.
For example, we have occasionally observed errors of the form
```
warning Cannot find a suitable global folder. Tried these: "/usr/local, /does-not-exist/.yarn"
ERROR The following files have the same case insensitive path, which isn't supported by the VSIX format:
- extension/node_modules/form-data/Readme.md
- extension/node_modules/form-data/README.md
```
Setting this flag to `False` means that `node_modules` will instead be
installed under Bazel's output base and Bazel can make sure to clear the
tree before a refetch.
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
* Synchronize in multi-participant script tests
This hopefully fixes the flakiness where the party allocation is not
yet propagated to the other participant.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Command interpretation happens in two stages:
1. Daml interpretation
2. Determine a suitable ledger effective time
The race can happen in the following situation:
In 1) a contract key K is resolved to contract C1.
Between 1) and 2), a transaction is stored on the participant that
archives C1, but creates C2 with the same contract key K.
In 2) the ledger api server tries to lookup the ledger effective time
for all input contracts to the transaction. If it doesn't find one of
the input contracts at all, it can conclude that the transaction
wouldn't be accepted by the ledger anyway.
The behavior before this patch was to simply abort command
interpretation and return a rather cryptic error to the user.
With this patch, the ledger api server restarts the command
interpretation.
If the "missing contract" was an explicit input to the
command (e.g. as the contract for the exercise or as an argument to an
exercise), then this command will be rejected because the contract is
now archived.
If the contract ID was determined via a contract key lookup, then
restarting the interpretation will result in either a negative lookup or
a different contract ID for the new contract under this contract key.
CHANGELOG_BEGIN
[Ledger API] Retry the interpretation of a command in case of a race
with other transactions. This fix drastically reduces the likelihood of the error
"Could not find a suitable ledger time after 0 retries".
CHANGELOG_END
* Changes to migrate http-perf-test back to sandbox with more parallelization for single user scenarios.
Increased parallelization is due to the architectural changes in sandbox where it uses
a tick every 100 millis to trigger stuff/data to be available on the read side
CHANGELOG_BEGIN
CHANGELOG_END
* Parallelization fixes for scenarios ExerciseCommand and SyncQueryNewAcs scenarios
* refactor sequential scenario run, make query part of SyncQueryVariableAcs run with single user
* Port LedgerApiServer/ApiSubmissionService rate limiter interface from canton
Also includes ability to specify `AsyncCommitMode` indexer config (to get around
`DbType` being platform-package private).
changelog_begin
changelog_end
* Review feedback
* Review feedback - rely on DbType becoming public in #11572
* Review feedback including unit test
* Add by_interface field in tx nodes.
This PR adds an optional `by_interface` field in the Create, Fetch,
and Exercise nodes, as part of #10915. It also updates TransactionCoder
to support these fields.
Setting these fields (in the LF interpreter) is left to a separate PR.
changelog_begin
changelog_end
* update security-evidence.md
* Add version checks in TransactionCoder
* Remove virtual choices
* Remove choices without a body in 'interface' definition
* Remove choices in 'template ... implements' section
part of #11372
changelog_begin
changelog_end
* Remove virtual choices cont.
Switch uses of virtual choices to fixed choice with method implementation
* update snapshot after pin on windows
* Disable failing interface tests with TODO #10810
CHANGELOG_BEGIN
[ledger-api] - Return max_deduplication_duration as part of the metadata sent with the gRPC status for commands rejected because of invalid deduplication periods
CHANGELOG_END
* Migrate matches-docs tests to sandbox on postgres
We’ve seen timeouts on party allocation which are likely caused by the
h2 issues that keep popping up. Switching to postgres should hopefully
solve that.
We need to wrap postgres to set LOCALE_ARCHIVE for this to work in
builds. We already pass it through in tests which is why it works fine there.
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* Update nix/bazel.nix
Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
* disable on Windows
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
* .
changelog_begin
changelog_end
Co-authored-by: Andreas Herrmann <42969706+aherrmann-da@users.noreply.github.com>
I'm not entirely sure that this is the intended link (v. say
`https://daml.com/blog`), but the current one is dead so presumably this
is better.
CHANGELOG_BEGIN
CHANGELOG_END
* Render error deprecation in generated docs
CHANGELOG_BEGIN
CHANGELOG_END
* Build export-error-codes-json-app with Scala 2.13 only
* Generate docs only with Scala 2.13
* Generate daml-on-sql docs only with Scala 2.13
* Split the error codes JSON generator off from the error lib
* Build all docs only with Scala 2.13
* Create contracts in batches through a factory contract
changelog_begin
changelog_end
* Use batching on protobuf level
* Revert needless changes
* Address review comments
* Add wiring of ledger-end to necessary places
* change SQL queries to use ledger-end-cache instead of parameter table join
* Fixes tests/test suite DB providers
changelog_begin
changelog_end
@robin-da is taking care of 1.18.0-snapshot.20211102.8257.0.7391a3cd (#11521), so they get pushed back to the end of the line.
Please do not merge this before #11521.
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
* interfaces: Improve fixed choice lookup
This PR adds a lazy map to match fixed choice names to their
interface, to improve the worst case for choice lookup.
Part of #10810
changelog_begin
changelog_end
* scalafmt
* apply improvements from remy
After #10827 that drops type parameters in Value, `CidContainer`'s
`ensureNoCid` and `assertNoCid` loose their interest.
To check a value does not contain Contract Ids one should use
`foreachCid` or `cids` methods instead.
CHANGELOG_BEGIN
CHANGELOG_END
* Replace `sandbox-classic`-based fixtures with `sandbox`-based ones
changelog_begin
changelog_end
* Replace Scenarios with Script for BasicPrimitiveTypes
* Adapt ListsSpec
* Adapt TextMapsSpec
* Adapt OptionalSpec
* Adapt more tests
* More tests passing
- removed workflow_id testing (Daml Script doesn't set one)
- reduced failure threshold for VeryLargeArchiveSpec
- solved issu in TransactionSingleTableSpec (wrong parties were used)
* Port EnumMod and make EnumSpec pass
* Port GenMapMod and make GenMapSpec pass
* Shaking things around to make Windows happy -- maybe
* ACS filters
* Moved filters to a separate object
* Filters for transactions and transaction trees streams
* Updated help
CHANGELOG_BEGIN
- [Integration Kit] - ledger-api-bench-tool - added flexible party and template filters for transactions, transaction trees and active contract streams
CHANGELOG_END
* Changed filter separators to + and @
We only need the package id which only requires decoding the header
which is exactly what decodearchivePackageId exists for.
On a large project this seems like a 10-20s improvement which is
pretty significant.
changelog_begin
changelog_end
Also drops the weird Base module and the always empty tags (yet
another reason why I want to burn our own logging lib with fire).
changelog_begin
changelog_end
Hoogle has been down for at least 24h accoridng to user reports. What
seems to be happening is that our nixpkgs pinning is not taking effect,
and the nixpkgs version of Hoogle already includes the patch we are
trying to add. This confuses nix, which fails, and thus the boot
sequence is broken.
I've applied the minimal possible patch here (i.e. enforce the pin),
which gets things running again. I've already deployed this change.
We may want to look at bumping the nixpkgs snapshot.
CHANGELOG_BEGIN
CHANGELOG_END