Commit Graph

7348 Commits

Author SHA1 Message Date
mziolekda
cb56af6f79
validate invariants on the transaction streams in indexer (#561)
* validate invariants on the transaction streams, terminate them on violation

* provide unit tests for offset validators
2019-04-25 14:58:37 +02:00
Martin Huschenbett
eb049869f6
Clean up how we check DAML-LF feature support in damlc (#663)
* Clean up how we check DAML-LF feature support in damlc

Currently, we have a predicate that tells us whether a DAML-LF version
supports a specific feature. We replace this by a data type which captures
the name of a feature and the minimal DAML-LF version which supports it.

* Rename featureDisjunctionChoices into featureFlexibleControllers

* Error only once

Co-Authored-By: hurryabit <martin.huschenbett@posteo.me>
2019-04-25 14:41:35 +02:00
Stefano Baghino
7ac438e87b
Remove //language-support/js (#691)
The JavaScript ecosystem support is being spun off in its own
repository. The new home is https://github.com/digital-asset/daml-js

For further details, here is the counterpart issue in the new repo:

https://github.com/digital-asset/daml-js/issues/1
2019-04-25 14:30:25 +02:00
Moritz Kiefer
f9a438ffb7
Fix daml studio on Windows (#693)
There were two issues in `daml studio`:

1. We need to use `shell` instead of `proc` to launch VSCode.

2. Creating symlinks requires admin privileges on Windows so instead
we just copy the directory.

Note that `daml studio` will not install or upgrade the extension if
it is already installed (this fact is unchanged by this PR). We should
change this to upgrade to newer versions by default (and add an option
to not do this) but I’ll leave that for a separate PR.
2019-04-25 14:25:14 +02:00
Neil Mitchell
63c153ab3a
Update the README with instructions to install and use a local version (#688)
* Update the README with instructions to install and use a local version

* Add a warning about Windows earlier
2019-04-25 12:10:44 +01:00
Moritz Kiefer
26d0dcfc8b
Fix packaging of ghc-pkg on Unix systems (#666)
This also changes --package-db to --global-package-db since ghc-pkg
will otherwise try to find a global package db itself.
2019-04-25 13:10:28 +02:00
Moritz Kiefer
1a1a1c81e0
Create .bazelrc.local on Windows if it does not already exist (#685) 2019-04-25 13:10:13 +02:00
K5
a28b44f95c Add script to download and install daml for Linux and MacOS. (#656) 2019-04-25 10:33:29 +00:00
Martin Huschenbett
b7e6cc8948 Release SDK 0.12.10 (#686)
The main effect is that we switch to DAML-LF 1.3 as the default compilation
target, which enables contract keys and text maps.
2019-04-25 11:37:23 +02:00
K5
d1e8c3f9ef Forward sandbox arguments properly (and navigator & extractor). (#684) 2019-04-25 08:50:00 +00:00
Francesco Mazzoli
a504bbdc9e make DAML-LF 1.3 the default (#654) 2019-04-25 08:10:44 +00:00
Nick Smith
cee09f6c43
Fixes #659 build-system: Fix failure of ci/release.sh on unset variable (#662)
The ci/release.sh fails if the BUILD_SOURCEBRANCHNAME environment
variable is not set. Although this variable is normally set by the
CI system, it is sometimes useful to run the script manually and
simply adding an 'invalid' default to the check of the env variable
means that the script still works if the variable is unbound.
2019-04-25 08:50:53 +02:00
Robin Krom
64290dc542 language: change default output dir of package command (#650)
* language: change default output dir of `package` command

This changes the default output path of the `package` and `build`
command from the project root to the `dist` directory.

* fixed daml-assistant integration tests
2019-04-25 02:53:15 +00:00
Gary Verhaegen
1780982fd6 add Windows tarball to github releases (#677) 2019-04-25 01:57:32 +00:00
Remy
680239b5cf daml-lf fix and cleanup Decimal.fromString (#606) 2019-04-25 00:22:45 +00:00
Bernhard Elsner
cf35c9c4f0 Improve comment on SubmitRequest (#651)
* Improve comment on `SubmitRequest`

Point out that `commands` corresponds to top-level actions and that order is preserved.

* Correct correspondence between commands and events

* Fix markup from MD to RST

* Update command_submission_service.proto
2019-04-24 23:36:21 +00:00
Moritz Kiefer
16d82f61c2 Fix concurrent DAML compilations on Windows (#679)
Since Windows builds aren’t sandboxed properly (see
https://github.com/bazelbuild/bazel/issues/5136), concurrent
compilations interact with the same tmp_db directory which leads to
flaky build failures.
2019-04-24 22:47:54 +00:00
Gary Verhaegen
963d0779c3 release 0.12.9 (#645) 2019-04-24 21:56:48 +00:00
K5
d97c099d03 Generate daml new config file from template (#652)
* Generate daml new config file from template.

* Use __VERSION__ instead of __SDK_VERSION__
2019-04-24 20:49:37 +00:00
nickchapman-da
2e30477fb3 Generate and compile Haskell for Ledger API protos (#676)
* Improve bazel to generate Haskell for more protos. Get the generated Haskell to compile.

* adapt to @haskell_proto3__suite//:compile-proto-file

* haskell_proto3__suite now works for proto files contains map<key,value>

* remove unnecessary bash loop
2019-04-24 20:03:22 +00:00
Moritz Kiefer
1cc0126395 Disable echo in daml wrapper script (#655)
When echo is enabled (which is the default), the IDE can get really
confused since it tries to interpret the commands as LSP messages
which obviously fails.
2019-04-24 19:00:21 +00:00
Moritz Kiefer
7c72162dd9 Document the need for long file paths on Windows (#670) 2019-04-24 18:21:56 +00:00
Michał Majcherski
bd7b61b1a9 windows: fix concurrent sandbox tars building (#667)
* windows: fix concurrent sandbox tars building

* windows: add bazel shutdown before build
2019-04-24 16:50:50 +00:00
Neil Mitchell
85c72f87d1 Move to using proto3-wire from upstream (#480)
* Move to using proto3-wire from upstream

* Move to upstream proto3-suite, with some custom patches in my fork

* Delete the BUILD.bazel for hte proto3 stuff, not used and the test was failing

* Delete the old proto3-wire and proto3-suite forks

* Delete proto3-wire

* Prettify BUILD.bazel files, sort the deps

* Remove some special cases from the license checker

* Delete unused Nix files from grpc-haskell

* Switch to upstream proto3-suite

* Make old-time work on Windows

* Formatting

* Patch rules_haskell to use a response file for -optP to avoid overflowing argument size limits on Windows

* Update 3rdparty/haskell/BUILD.old-time

Co-Authored-By: neil-da <35463327+neil-da@users.noreply.github.com>

* Update the comments in old-time

* Use the revised location of proto3-suite
2019-04-24 15:59:08 +00:00
Gabor Aranyossy
40f196f7f6
adding Metrics around Ledger operations (#646)
* adding metrics around ledger components

* adding missing copyright headers

* adding requested comment

* fixing merge conflicts
2019-04-24 16:51:20 +02:00
Stephen Compall
fef8a956ee use WithTxValue in place of VersionedValue more broadly (#643)
* GenTransaction.WithTxValue alias

* undo parts of parent dealing explicitly with serialization

* use GenNode.WithTxValue more often

* use Node*.WithTxValue more often
2019-04-24 13:54:41 +00:00
Gary Verhaegen
81b976b919 allow arbitrary version numbers (#657) 2019-04-24 12:54:36 +00:00
Martin Huschenbett
6fd111f885 Remove a temporary hack regarding daml-stdlib.dar and Scala tests (#664) 2019-04-24 12:18:48 +00:00
Gabor Aranyossy
f1f494ad60 Introducing range queries in Dispatcher (#611)
* 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
2019-04-24 11:31:17 +00:00
Martin Huschenbett
18f0b3775c Simplify implementation of fetchByKey in compiler (#647)
Currently, the structural record returned by DAML-LF's `fetchByKey` is
unpacked in the compiler. This is not very nice as it requires too much
code for my taste.

This PR shifts the unpacking into DAML land by means of the recently
introduced `unpackPair` function.
2019-04-24 10:35:58 +00:00
Martin Huschenbett
968bca7589 Check that contract keys are supported in DAML-LF type checker (#639)
Add a check to the Haskell implementation of the DAML-LF type checker to
make sure that the current DAML-LF version supports contract keys when they
are encountered.
2019-04-24 09:17:15 +00:00
Martin Huschenbett
52d2026b2a Use isSingleConType instead of hand written pattern in Convert.hs (#633) 2019-04-24 08:28:35 +00:00
Martin Huschenbett
0c452fb169 Inline record projections on this in maintainer expression (#638)
If we don't inline let bindings of the form `x = this.f`, the rewriting of
the maintainer expression in terms of the key can fail when it shouldn't.
Usually, these bindings do not exist in the surface language but are produced
by the compiler. I think the performance penalty we might pay for this is
negligible.

This fixes #384.
2019-04-23 21:04:39 +00:00
Moritz Kiefer
416b0949fa Fix termination of scenario service on Windows (#629)
* Fix termination of scenario service on Windows

The lack of a proper Windows IO manager resulted in us being unable to
kill the conduits reading the output of the scenario service so `damlc
test` and `damlc ide` blocked forever. This PR fixes the problem by
shutting down the scenario service (by closing its stdin) before
killing the conduits .

* Use fail instead of error

* Add debugging output

* Remove debug output

* Bump timeout of perf test
2019-04-23 19:43:23 +00:00
K5
c0d1386329 Make daml new files writeable. (#642) 2019-04-23 19:02:01 +00:00
Gabor Aranyossy
6422e2cafd Update README.md (#640)
adding missing description in README.md
2019-04-23 17:47:54 +00:00
Martin Huschenbett
0843d9a9e1 Add Functor/Foldable/Traversable instances for DAML's TextMap (#632) 2019-04-23 17:00:37 +00:00
Michał Majcherski
0b87c4ceae windows: fail on dev-env sync errors (#635) 2019-04-23 15:54:28 +00:00
Martin Huschenbett
0242cf985b Remove a comment regarding the consuming method of the Choice class (#628)
* Remove a comment regarding the consuming method of the Choice class

The comment has been out of date since the new "dictionary sanitization" was
implemented.

* Change default implementation of consuming method of type class Choice
2019-04-23 15:01:34 +00:00
Beth Aitman
a8648abed6 Remove outdated documentation things (#626)
* Remove outdated documentation things

* Remove outdated release section

* More outdated stuff

* Fix link
2019-04-23 14:01:45 +00:00
Jussi Mäki
7c275b17fb DamlOnX refactoring: Drop StateInit, Long Offset (#519)
* 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
2019-04-23 12:56:40 +00:00
Jussi Mäki
91449122f7
Add damlonx artifacts to the release (#627) 2019-04-23 14:00:55 +02:00
Michał Majcherski
a6215f1ceb
windows: more targets (#571)
* windows: more targets
* generate Haskell from ledger-api protos - genrule fix
2019-04-23 11:12:21 +02:00
Moritz Kiefer
077e54042b
Fix daml wrapper on Windows (#624)
Apart from the fact that START was missing the windows title argument
it launches a new terminal window and then exits immediately (the
terminal windows is closed immediately as well) so it seems like the
wrong thing to use. Just calling the executable directly seems to work
fine both in cmd.exe and in powershell on my Windows 10 VM so
hopefully this is reasonably robust.
2019-04-23 10:12:12 +02:00
Anup Kalburgi
2b3c4e76bb Adding stepts to run daml scenario in daml-ghc readme (#619)
* Adding stepts to run daml scenario in damlc

* Adopting the suggested change
2019-04-19 20:02:43 +00:00
Stephen Compall
eb4d418be2 Check contract visibility when looking up contracts in sandbox (#405)
* seal engine.Error

* don't reinvent flatMap in CommandExecutorImpl

* add DivulgenceVisibility sandbox test case

- suggested by @oggy-; thanks

* add global implicit disclosure step to sandbox ACS transaction acceptance

* reorder ActiveContractsManager and include an implicitlyDisclose action

* add submitter argument to SubmissionHandle#lookupActiveContract

- the receiver must filter its response based on witnesses thereof

* propagate implicit disclosure in more places

* it's a bunch of functions

* proper error from the no-divulgence test

* rename ActiveContracts and ActiveContractsSteps to ...InMemory and ActiveContracts

* we need another table

* rename ActiveContract.witnesses to disclosedTo

* don't exclude other disclosures in ActiveContractsManager

* add local implicit disclosure when adding transaction to sandbox acs

* extra argument in ledger-api-server-example

* too late to blind?

* adapt to 10fcab8 #339

* scalafmt

* non-total map get

* disable postgres test in SandboxSemanticTestsLfRunner until implicit disclosure added

* un-flatten witnesses and divulgences from "disclosedTo"; fixes DivulgenceIT

* comment on filtering of lookupActiveContract

- suggested by @francesco-da; thanks

* semantic errors from parent

* scenario to test divulgence success

* submit line 6 as owner; disable divulgence test under SQL

* comment what else to reenable
2019-04-19 17:00:09 +00:00
Leonid Shlyapnikov
cf3227938c Release codegen front-end shaded binary, #615 (#617)
* Release codegen front-end shaded binary, #615

* Fix bazel formatting
2019-04-19 14:24:57 +00:00
Anup Kalburgi
cea0b72522 Adding snipped support for choice (#610) 2019-04-18 19:44:44 +00:00
Leonid Shlyapnikov
4458a81e83 Unify Scala and Java Codegen Inputs (#585)
* Extract codegen-common module, #166

* Scala Codegen Main using the same option parser as Java Codegen, #166

There is one important difference, Scala Codegen does not allow mapping
dars to different package names, all dars have to be mapped to the same
package name.

Replace Scala Codegen println's with scala logging, respecting the
configured codegen verbosity

* Fix bazel formatting

* Update the release dry run script

* Releasing codegen-common

* Improving Scala Codegen error reporting (code review)

* Addressing codereview comments

* Make it explicit that we skip not supported option
2019-04-18 19:04:57 +00:00
nickchapman-da
702c52bc25 generate Haskell from ledger-api protos (#607)
* first cut bazel rule to generate Haskell from ledger-api protos

* untabify

* formatting fixes
2019-04-18 17:56:26 +00:00