* Resolves#14350
CHANGELOG_BEGIN
* Engine/speedy-level tests for explicit disclosure (#14227): Test expected behaviour when superfluous (i.e. unused) contracts are disclosed in commands.
CHANGELOG_END
* 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
* Refactor (Co)Implements(Method) DefRefs
InterfaceInstanceDefRef replaces ImplementsDefRef and CoImplementsDefRef
InterfaceInstanceMethodDefRef replaces ImplementsMethodDefRef and CoImplementsMethodDefRef
* Define PackageInterface.lookupInterfaceInstance
* Remove lookupTemplateImplements and related functions
* Replace uses of lookupTemplateImplements and similar with lookupInterfaceInstance
* Rename ETemplateDoesNotImplementInterface=>EMissingInterfaceInstance
* Rename EConflictingImplementsCoImplements=>EAmbiguousInterfaceInstance
* Replace checkIface(Co)Implementations with direct use of checkInterfaceInstance
* Remove LookupError.Reference cases for implements/co-implements
* Rename and refactor EMissingRequiredInterface{=>Instance}
* Rename and refactor EMissingInterfaceMethod=>EMissingMethodInInterfaceInstance
* Rename and refactor EUnknownInterfaceMethod=>EUnknownMethodInInterfaceInstance
* Clean up checkInterfaceInstance
* Include interface signature in InterfaceInstanceInfo
changelog_begin
changelog_end
* Add DA_Internal_Interface to convertTypeDef exclusion check
* Move desugared types/values for interface views into DA.Internal.Desugar
* Convert viewtype and view method declarations
* Typecheck view types and view declarations
* Add unit viewtypes to InterfaceChoiceCollision tests
* Add unit viewtypes to more compiler/damlc tests
* Modify empty interfaces/implements to have viewtypes/views
* Add unit viewtypes to remaining Interface tests
* Test for error thrown when viewtype not specified
* Fix daml-lf/ interface tests to use new syntax / unit views
* Add placeholder view of type Unit to TestInterfaces
CHANGELOG_BEGIN
CHANGELOG_END
* Fix typescript interface tests with unit viewtype
* Add unit viewtype to Java & Scala codegen
* Add unit viewtype to triggers tests interface
* Add unit viewtypes to ledger/test-common
* Add unit viewtypes to ledger-service/http-json
* Fix some damlc tests
* Use viewtype syntax in InterfaceViewNonSerializable test
* Remove HasInferfaceView instances in convertBind
* Add unit view to QualifiedInterface.daml test
* Generate HasInterfaceView instances in DataDependencies
* Add unit viewtypes and views to compiler/damlc/tests
* Document reconstruction of HasInterfaceView
* Move desugared types/values for interface views into DA.Internal.Desugar
* Add desugarable function view w/ EViewInterface desugaring
* Remove templateName and viewtype from generated EViewInterface
* Update desugared-daml
* Proof of concept: use _view -> EViewInterface prim via HasInterfaceView
* Move view, HasInterfaceView to DA.Internal.Interface
* Update desugared-daml tests
* Stop removing and re-generating HasInterfaceView instances
* Do not generate docs for generated "_view_" methods
* Report errors with interface TypeConNames prettily
* Fix InterfaceViewNotSpecified @ERROR to reflect new error text
* Don't import magic `view` method from Prelude to avoid name clash
* Update shake interface goto definition test locations
* Temp disable view spec tests, will re-implement views in speedy
* Add unit viewtype to Java code snippet docs
* Update Interface syntax docs for views
* Add unit viewtype to Transferrable.daml
* Add back "empty" interface implementation to interfaces.rst
* Re-enable view tests by having _view methods on InterfaceViews.daml file
* Remove deprecated commented-out view desugaring code
* Remove templateId and viewtype from EViewInterface
* Fix lint
* Compile DefRefs for views, return them in SBViewInterface
* Stop looking for `_view` method, remove ENoViewFound in TypeChecker.hs
* Remove ENoViewFound / remove view method lookup, use view param instead
* Fix use of viewMethod.returnType / import of MethodName
* Replace uses of `_view` in Scala, update parser w/ viewtype/view clauses
* Fix lint
* Update Interface LF encoding test for views
* Stop using unit views in ParsersSpec
* Fix tests to have new Scala test parser viewtype/view syntax
* Fix Interface_extended_1.dev_.lf to have viewtypes/views
* Change all spec/lf viewtypes/views to Unit
* Remove accidental use of requires
* Fix ParsersSpec to have record viewtypes/views
* Fix ValueEnricherSpec for switch to unit views
* Remove no view test from Scala - lack of view is caught at compile-time
* Remove unused _view method in InterfaceViews.daml test
* Return control expression via Control.Expression
* Retrieve compiled views via implementation body
* Reduce duplication between implements and co-implements
This extracts the common part (methods and view) to a new type InterfaceInstanceBody
changelog_begin
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
Improve handling of control within the speedy machine.
- Intro dedicated Control type, and single machine component control: Control
- Replacing old machine components: returnValue/ctrl
- Code which is expected to take a step and update the control, can now return Control
- Instead of side-effecting returnValue/ctrl, and returning Unit
* 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
* Transmit completed transaction via SResultFinalValue.
changelog_begin
changelog_end
* remove spurious mods
* mark two commented-out tests with TODO 14431
* address small comments
* rename: SResultFinalValue --> SResultFinal
- move submissionTime field out from PartialTransaction into enclosing execution Machine
- remove deprecated ptxInternal
- move InitialSeeding class to own file
changelog_begin
changelog_end
* Use lookupTemplateImplementsOrInterfaceCoImplements in checkGenImplementation
* Update docs for ImplementsDefRef to reflect reality
Namely, it does not point to a conversion function, and the actual value it points to is irrelevant.
Only its presence is used to determine whether a template implements an interface or not.
Consequently, it now points to the unit value instead of the identity function.
* Generate 'CoImplementsDefRef's for each co-implemented template
* Consider CoImplementsDefRef in SBuiltin when checking if a template implements an interface
Also factor out check into private function
* Compile co-implemented methods using CoImplementsMethodDefRef
* SBCallInterface now uses CoImplementsDefRef for co-implemented methods
* Add test cases for (co)implemented interfaces in SBuiltinInterfaceTest
* Remove TemplateDoesNotImplementInterface error
* Explicitly override def in '*Implements*DefRef'
changelog_begin
changelog_end
* Fixes Engine: Improve deserialization of Daml Map #13865
CHANGELOG_BEGIN
* [Engine] Improve performance when deserializing Daml Map by specialising Value.apply to generate SMap instances using a sorted map.
CHANGELOG_END
* 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
changelog_begin
changelog_end
temp mod to get build
make sure to maintain localContractSet
engine test for: ExerciseAfterRollbackCreate
fix ContractStateMachineSpec testcases and add new case
rebase and fix build failure
fix test (and comment)
fix evaluation order test fails: revert the failure back to be the expected ContractNotActive, instead of ContractNotFound
improve new test (creates in try are rolled back) to check the DamlException thrown
remove ptx.localContracts. instead use ptx.contractState.locallyCreated
improve test name
un-inline ActiveLedgerState.consume
Set() --> Set.empty
add comments for new components of ContractStateMachine
combine checks: consumedBy / inactive
improve comments, doc and test-evidence
* 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
* move where ContractId arbitrary instance passes into ValueAddend
* adjust ValueAddend users to deal with moved Arbitrary instance
CHANGELOG_BEGIN
CHANGELOG_END
* disclosures: support in engine
This adds support for contract disclosures in the engine.
Fixes#13863.
CHANGELOG_BEGIN
CHANGELOG_END
* move VersionedContractInstance to Value
* normalization/typechecking
* Update daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/Error.scala
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Update daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/CommandPreprocessor.scala
Co-authored-by: Remy <remy.haemmerle@daml.com>
* Update daml-lf/engine/src/main/scala/com/digitalasset/daml/lf/engine/preprocessing/CommandPreprocessor.scala
Co-authored-by: Remy <remy.haemmerle@daml.com>
* remove processImmArray
* throw exception in foldl
* check for duplicate contract keys in disclosures
* added issue for removal of empty disclosure assertion
* format
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Remy <remy.haemmerle@daml.com>