* 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
After this change //daml-lf/tests:test-scenario-stable-many-fields
does not seem to stack overflow anymore.
This is a workaround until we make the type checker stack safe, See #13410.
CHANGELOG_BEGIN
CHANGELOG_END
* Update protobuf to include viewtype and implementation view
* Stub interface viewtype and implements view in updated AST
* Set views on Java builders in DecodeV1Spec
CHANGELOG_BEGIN
Update LF AST protobuf for interface viewtype and implementation view -
not currently linked to syntax or engine changes, all stubbed out in
LFConversion.
CHANGELOG_END
* Add view field to CoImplements
* Update iterators & parsers to account for CoImplements view
* Replace uses of TBuiltin(BTUnit) with TUnit
* Remove superfluous "Available in versions >= 1.dev" comment
* Fix missing TUnit imports, missing view param in daml-lf/parser
* Remove unused imports from DecodeV1Spec
* Add stub view in AstSpec
The one on Fetch was clearly never true.
The one on Exercise was true until exceptions meant that sometimes we
do not have an exercise result so now it's also not true.
changelog_begin
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
* Extend EncodeV1Spec with interface co-implements
* Add lookupTemplateImplementsOrInterfaceCoImplements to PackageInterface
* Use lookupTemplateImplementsOrInterfaceCoImplements in checkImplements
* Add TypingSpec cases for interface conversion functions via co-implements
* Add TypingSpec cases for interfaces with co-implements
* Apply code review suggestions: result type formatting
changelog_begin
changelog_end
This PR simplifies the ContractStateMachine by dropping the very
complex tracking of `keys` and instead tracking only `localKeys` which
stores the latest create with a given key.
This is fully backwards compatible for uck & non-uck semantics.
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
* add resolveRetroImplements to EnvironmentInterface
* test that resolveRetroImplements does nothing with no data
* resolve retroactive interfaces in Java codegen
* resolve retroactive interfaces in Scala codegen
* resolve retroactive interfaces in json-api
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
* Add CoImplements to daml-lf AST
* Add AstSpec case for duplicate co-implements in interface
* Add placeholders for CoImplements in daml-lf validation
* Handle CoImplements in daml-lf iterators
* Handle CoImplements in daml-lf scala decoder
* Test DefInterface components in DecodeV1Spec
* Handle CoImplements in daml-lf (testing) parser
* Handle CoImplements in daml-lf (testing) encoder
changelog_begin
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
* Add missing activeness check when reading from globalKeyInputs
changelog_begin
- Engine. Fix lookup by key. See issue Lookup archived contracts may succeed when combined with rollback exceptions #14107 for more details.
changelog_end