* do the module collision check on generated item only
* Revert "do the module collision check on generated item only"
This reverts commit a6a38425ab.
* added test for detectModuleCollisions
* added test to reproduce issue #15341
* Revert "Revert "do the module collision check on generated item only""
This reverts commit cd4c5a24fd.
* fix test case
* use `daml.lf.language.Reference.Module` instead
* add change log
CHANGELOG_BEGIN
Bug fix: Module name collision check performed on modules which is not to be generated #15340#15341
CHANGELOG_END
* remove debug log
* Minor renaming
* refine name test case name
* add comment
* format
Co-authored-by: Fayi Femi-Balogun <fayimora.femibalogun@digitalasset.com>
* Added new method using contractUtil instead of filter so that creation of filter is not necessary in IouMain.
* public fields instead of private fields with getters
* delete getContracts
* var
* move ContractUtil to java binding
* to String
* update doc
* address comments
* address comment
* add change log
CHANGELOG_BEGIN
change quickstart java example to use typed acs stream and transaction.
CHANGELOG_END
* rename to response
* format
* update line number
* factor variant case handling to utility function
* factor record case handling to utility function
* remove unused import; reformat
* full internal api notes
CHANGELOG_BEGIN
CHANGELOG_END
* add getContractTypeId to Contract
* add getContractTypeId to Template
* generate getCompanion methods for every Template
* hide ContractId#getCompanion
* test getting from interface Contract
* test getting from template and template contract
* add changelog
CHANGELOG_BEGIN
- [Java codegen] Template payloads and contract instances (including for
interface views) now support a ``getContractTypeId`` method that
returns the template or interface ID.
CHANGELOG_END
* pre
* address Stephen's comments
* get command from Update<R>
* to public
* generateDeprecatedFlattenedStaticExerciseByKeyMethod
* Ensure interface generation uses package prefixes
CHANGELOG_BEGIN
- [BUGFIX] Interface generation now respects package prefixes argument. This means generated interfaces will now be placed in the right subpackages.
CHANGELOG_END
* packagePrefixes
* fix what exercise* returning update breaks
* doc
* format
* WIP
* address comments
* compile
* added 2 utility methods in CommandClient for getting the result of submitted commands to demonstrate value of Update R
* address some comments
* update line number
* rename
* fold for create and exercise cases
* move transaction logic to fold
* revert config
* argTypeDecoder
* add internal api doc
* rename to Choice
* quickstart doc
* use update
* address comment
* address comment on compactability issue
* move abstract static class FoldUpdate<Z> to Update<>
* change command clients to use List<? extends HasCommands> instead of List<Command>
* move fold to update
* compare commands
* Update docs/source/app-dev/bindings-java/quickstart.rst
Co-authored-by: Raymond Roestenburg <98821776+ray-roestenburg-da@users.noreply.github.com>
* address comments
* address comments
* add changelog
CHANGELOG_BEGIN
- [Java codegen] Replace return type to Update<R> of exercise and create methods in Java codegen
CHANGELOG_END
Co-authored-by: Fayi Femi-Balogun <fayimora.femibalogun@digitalasset.com>
Co-authored-by: Raymond Roestenburg <98821776+ray-roestenburg-da@users.noreply.github.com>
* rename ChoiceMetadata to Choice
CHANGELOG_BEGIN
- [Java codegen] The (new since 2.4) ``ChoiceMetadata`` class has been
renamed to ``Choice``.
CHANGELOG_END
* replace ChoiceMetadata with Choice in codegen docs
* Rename test //daml-script/export/integration-tests/golden:{export-=>}values
* Switch 'daml_ledger_export_test' to use 'run' instead of 'run-legacy-cli-config'
* Extract 'encodeImports' from 'encodeModuleHeader'
* Sort import list in 'daml ledger export'
* Add 'dev' argument to 'daml_ledger_export_test'
* Add interfaceId to ExercisedSelector
* Extract 'encodeExercisedEvent' from 'encodeCmd'
* Split 'encodeCid' into 'encodeCid{Expr,Pat}'
* 'CreatedContract' field 'tplId' now has type 'TemplateId'
* Specialize CreatedContract{=>WithPath}
* 'treeEventCreatedConsumedCids' returns Seq[SimpleCreatedContract] instead of Set[ContractId]
* Change type of 'SimpleCommand' field 'contractId' to 'SimpleCreatedContract'
* Coerce ContractIds to underlying template type
* Use interface ContractId in encodeExercisedEvent if present
* Add test //daml-script/export/integration-tests/golden:interface-choices
* Fix encoding of getAnyChoiceTemplateTypeRep in daml-script converter
* Set getAnyChoiceTemplateTypeRep to interfaceId if available
* fromExercised uses choice instead of templateId to find subtree
fromExercised uses exercised.argument.templateTypeRep instead of exercised.contractId.templateId
Previously it used exercised.contractId.templateId, but now it uses
exercised.argument.getAnyChoiceTemplateTypeRep, which corresponds
to the TemplateTypeRep of the {template,interface} that defined the choice.
* TestData.Exercised now takes a more flexible TestData.Choice argument
* Add unit tests for encoding of exercise of interface choice
* Apply code review suggestions
* sealed {trait=>abstract class} CreatedContract
* Use List instead of Seq
* Use ::= instead of :+= and ++=
changelog_begin
- [Daml export] Added support for interface choices (#15189)
- [Daml export] Export.daml imports are now sorted alphabetically
changelog_end
Co-authored-by: Stephen Compall <stephen.compall@daml.com>
* remove accessor references from the decision branches of extractor
CHANGELOG_BEGIN
CHANGELOG_END
* eta-reduce all recursively-summoned ValueDecoders
* add more whitespace
* added transactionFilter
* move transactionFilter to `TransactionFilter`
* fromCreatedEvent
* format
* added getTransaction with contract type companion
* ACS using contract type companion
* position
* add change log
CHANGELOG_BEGIN
CHANGELOG_END
* Ct
* Ct
* format
* better exception
* fixed test cases
* added java doc and rename method to GetContracts
* address Stephen's comments
* address Stephen's comments
* address Stephen's comments
* remove unused import
* format
* address Stephen's comments
* address Stephen's comments
* Make some codegen code to be java 8 compatible; Modify IouMain to use the new getActiveContracts. to address Stephen's comments
* use 1.11, no need to be java 8 compatible
* revert
* 11 not 1.11
* Ensure interface generation uses package prefixes
CHANGELOG_BEGIN
- [BUGFIX] Interface generation now respects package prefixes argument. This means generated interfaces will now be placed in the right subpackages.
CHANGELOG_END
* Prove that we get an error if interface is generated in the wrong directory
Command: bazel build //language-support/java/codegen:test-daml-java.jar
Error:
bazel-out/darwin_arm64-opt/bin/language-support/java/codegen/_javac/test-daml-java.jar/libtest-daml-java.jar_tmp/blah/ut/retro/InterfaceRetro.java:24: error: cannot find symbol
public static final ChoiceMetadata<ut.retro.InterfaceRetro, Transfer, ut.retro.InterfaceRetro.ContractId> CHOICE_Transfer =
^
symbol: class InterfaceRetro
location: package ut.retro
bazel-out/darwin_arm64-opt/bin/language-support/java/codegen/_javac/test-daml-java.jar/libtest-daml-java.jar_tmp/blah/ut/retro/InterfaceRetro.java:24: error: package ut.retro.InterfaceRetro does not exist
public static final ChoiceMetadata<ut.retro.InterfaceRetro, Transfer, ut.retro.InterfaceRetro.ContractId> CHOICE_Transfer =
* Revert "Prove that we get an error if interface is generated in the wrong directory"
This reverts commit cc8612a8a3.
* add List, Optional, ContractId, TextMap primitive decoders
CHANGELOG_BEGIN
CHANGELOG_END
* add fromNumeric and fromGenMap
* generate less code for list, optional
* allow newline in assignment
* generate less code for contract ID
* generate less code for textmap
* generate less code for genmap
* use fromNumeric
* extra test for an indirect case
* javadoc fromTextMap, fromGenMap, impossible
* example of building value decoders with derived combinators
* #13766 initial implementation of choice metadata for templates
* #13766 initial implementation of choice metadata for interfaces
* #13766 Add marker type to ContractTypeCompanion
* #13766 Minor type fix
* Cleanup after merge with main
* Temporary fix for package prefixes
* Format java files, rename Maker -> ContractType in ContractTypeCompanion
* Add documentation and tests
* Complete choice metadata implementation
CHANGELOG_BEGIN
- Add new representation of a choice, ChoiceMetadata.
- Generated templates and interfaces now include fields for each available choice. These fields will have a ChoiceMetadata type and will be called CHOICE_N, where N represents the choices' name.
CHANGELOG_END
* Update docs and cleanup tests
* mark several javaapi.data models final
* PrimitiveValueDecoders are final; utility classes should not be constructed
* replace Bool constructor with new #of static method
CHANGELOG_BEGIN
- [Java bindings] Many classes in the ``javaapi.data`` package that were
*intended* to be ``final`` are now explicitly marked as such.
CHANGELOG_END
* turn on -Xlint -Werror for Java bindings
* remove unused locals
* remove raw casts for deprecated Record
* fix rawtypes
* don't check for serialVersionUID
* some javadoc for DefinedDataType
* add lint to bindings-rxjava; deprecate ledger identity client
* document DamlRecord
* fix rawtypes in Java codegen output
* fix unused cast in Java codegen output
* enable -Xlint for Java codegen output
CHANGELOG_BEGIN
- [Java codegen] Now outputs code that should pass ``-Xlint:rawtypes``
as well as other ``-Xlint`` warnings.
CHANGELOG_END
* note that makeExerciseCmd is not for application use
* notes on Contract, *Companion
* doc View type parameter
* fromContractId is also internal API
CHANGELOG_BEGIN
CHANGELOG_END
* passed value decoder to interface Companion
CHANGELOG_BEGIN
CHANGELOG_END
* throw IllegalArgumentException if view type not found for an interface
CHANGELOG_BEGIN
CHANGELOG_END
* address comments
* test
* test
Co-authored-by: Chun Lok Ling <lokling@gmail.com>
* drop payload and key instead of passing through
* build a "hidden" dar with a new template for build-and-lint-test
* test the events that come back; passing
* test key and that template is definitely not registered
* confirm test fails without changes to @daml/ledger
✕ undecodable exercise result event data is discarded (334 ms)
● interfaces › undecodable exercise result event data is discarded
Failed to look up template 24124e8b5ae6c7f06835529d5b7338ed32308cdcb6409ba72f88351da9145ff1:Hidden:NotVisibleInTs. Make sure your @daml/types version agrees with the used Daml SDK version.
at lookupTemplate (../../../../language-support/ts/daml-types/index.ts:269:11)
at ../../../../language-support/ts/daml-ledger/index.ts:196:59
at ../node_modules/@mojotech/json-type-validation/src/decoder.ts:795:31
at Result.andThen (../node_modules/@mojotech/json-type-validation/src/result.ts:130:19)
at Decoder.decode (../node_modules/@mojotech/json-type-validation/src/decoder.ts:795:7)
at Decoder.decode (../node_modules/@mojotech/json-type-validation/src/decoder.ts:312:37)
at Decoder.decode (../node_modules/@mojotech/json-type-validation/src/decoder.ts:501:31)
at decodeValue_1 (../node_modules/@mojotech/json-type-validation/src/decoder.ts:371:68)
at ../node_modules/@mojotech/json-type-validation/src/decoder.ts:375:65
at Array.reduce (<anonymous>)
CHANGELOG_BEGIN
- [JS codegen] Exercise no longer fails on unrecognized templates occurring in
create/archive events resulting from an exercise, such as may happen when
exercising interface choices; instead, any such "uninterpretable creates" have
their payloads changed to ``{}`` and their keys removed.
CHANGELOG_END
* FromValue Interface
* add deprecated and new fromvalue method
* debug log
* added apply
* no semicolon
* colon
* fix VariantConstructorClass
* fix VariantConstructorClass
* fix VariantConstructorClass
* fix VariantConstructorClass
* fix test cases
* add changelog
CHANGELOG_BEGIN
CHANGELOG_END
* For template, use the fromValue in contract companion
* Added private value decoder method for passing in to contract companion
* WIP
* move variant sub type decoder method to the base variant class
* remove debug log
* don't call deprecated value
* pass value decoder instead of lambda
* move PrimitiveValueDecoders to codegen package
* rename from FromValue to ValueDecoder
* rename from method fromValue to valueDecoder
* extract isVariantRecord
* remove unused import
* added java doc for valueDecoder method
* format
* address comments
* address comments
* use Objects.equals instead
CHANGELOG_BEGIN
CHANGELOG_END
* add () back
* specfy type of object to avoid java.io.Serializable being inferred which wartremover doesn't like it
* remove warnings
* address Stephen's comment
* address Stephen's comment
* Contract argument blob [DPP-1161].
CHANGELOG_BEGIN
[Ledger API]: Introduce an ability to expose contract arguments as blob if matched by the interface filter using `include_create_arguments_blob` flag in the ``InterfaceFilter``.
Introduce an ability to provide `DisclosedContract.arguments` as a blob instead of a typed `Record`.
CHANGELOG_END
Breaks-protobuf: true
Co-authored-by: Simon Meier <meiersi-da@users.noreply.github.com>
Co-authored-by: atriantafyllos-da <andreas.triantafyllos@digitalasset.com>
changelog_begin
[Ledger API Specification]:
1. Add 'is_deactivated' attribute to participant users.
2. Introduce participant server's local metadata for parties and participant users consisting of:
- a resource version for optional concurrent change control,
- modifiable key-value based annotations.
3. Add experimental update RPCs for parties and participant users:
- participant user's modifiable fields are: 'primary_party', 'is_deactivated', 'metadata.annotations',
- party's modifiable fields are 'local_metadata.annotations'.
4. Discourage use of 'party_details.display_name' in favor of using party's metadata annotations.
changelog_end
Other notes:
- no-op updates are allowed,
- update paths are resource relative,
- as annotation deletion is by providing an key with the empty string value,
- as a corollary, only non-empty strings are valid annotation values.
* new ContractDecoder
* change DecoderClass to use template companion for contract decoders
* add change log
CHANGELOG_BEGIN
CHANGELOG_END
* format
* Revert "add change log"
This reverts commit 6d59829883.
* Remove reliance on implict party allocation in the authorization tests of the sandbox-on-x
CHANGELOG_BEGIN
CHANGELOG_END
* Remove the HOCON and cli config parameters
* Remove implicit party allocation from the Submission Service
* Remove support for implicit parties from the bridge
* Fix codegen reliance on implicit party allocation
* Fix daml script tests
* Fix trigger tests
* format security-evidence.md post rebase
* Fix json-api tests
* One more json-api test
* Fix haskell tests
* Corrections post-review
* Cosmetic improvements
* Fix race condition in party allocation handling
* Add abstract class parents to generated ordinary records and variants
* Add common supertype for generated enums
* Add abstract class parents to generated ordinary records and variants
CHANGELOG_BEGIN
- Ordinary Records and Variants now have a super class defining toValue()
- Generated enums now have a common supertype, DamlEnum<T>
CHANGELOG_END
* ChoiceFrom intersection
* require ChoiceFrom in some functions
* codegen ChoiceFrom
CHANGELOG_BEGIN
- [TypeScript] Codegen output now uses the new ``ChoiceFrom`` interface;
prior output that does not use this interface will not work with this
version of ``@daml/types``. If you use the type ``Choice`` in your
own types and your code no longer type-checks, you must include
``ChoiceFrom`` in your declarations as well.
CHANGELOG_END
CHANGELOG_BEGIN
- [codegen js] Interface choices are no longer inherited by implementing
templates. Instead, refer to the choice directly on the interface.
CHANGELOG_END
* new types and companion derivation function for interfaces
* declare that interface companions are no longer Templates
* widen the type of Choice#template, experimentally
* widen some types to admit sync query
* declare that interfaces are allowed for fetch, WS query
CHANGELOG_BEGIN
- [codegen js] Support querying interface views and fetching by contract
ID retrieving the interface view rather than the template payload.
CHANGELOG_END
* Added ListUsersRequest
CHANGELOG_BEGIN
CHANGELOG_END
* Add code change
CHANGELOG_BEGIN
Allow to list all users by providing page token and page size in the Java bindings
CHANGELOG_END
* added test cases to cover the new method
* include retro-implements in TS interface type decls
* split interface exercise test into two sub-tests
* test that contract ID conversion resolves
CHANGELOG_BEGIN
- [TypeScript codegen] Support for retroactive interface implementations
included. Choice inheritance is deprecated and `will be removed
<https://github.com/digital-asset/daml/issues/14893>`__; to invoke an
interface choice on a template-typed contract ID, convert it to an
interface-typed ID with *TemplateName*``.toInterface``.
CHANGELOG_END
* declare Interface, ToInterface, FromInterface in @daml/types library
* generate ToInterface and FromTemplate companion declarations
* add toInterface and unsafeFromInterface to template companion implementations
* declare marker types for every interface
* remove type parameter from interface companions' types
* add the union for forward implements
CHANGELOG_BEGIN
- [TypeScript codegen] To exercise an interface choice on a
template-typed contract ID, you must now explicitly convert the
contract ID to an interface-typed ID. For example, where ``cid:
ContractId<TemplateName>``, you can use
``TemplateName.toInterface(InterfaceName, cid)`` to produce a
``ContractId<InterfaceName>``.
Interface contract IDs are also now typed as shown above; for example,
the former type ``ContractId<InterfaceNameInterface<TemplateName>>``
would now simply be ``ContractId<InterfaceName>``.
CHANGELOG_END
* fixes#14822, added test case to ensure retroactive implements works in java code gen
CHANGELOG_BEGIN
CHANGELOG_END
* fixes#14822, added test case to ensure retroactive implements works in java code gen
* format
* address Stephen's comment
* fmt
* new names in daml-script/runner
* new names in json-api
* new names in Scala bindings/codegen
* new names in Java bindings/codegen
* new names in daml-lf interpreter tests
* more new names in daml-script tests
* new names in navigator backend
* deprecate all iface symbols and old method names
CHANGELOG_BEGIN
- [Scala API] ``com.daml.lf.iface`` has been deprecated, as discussed
further in
`issue #14783 <https://github.com/digital-asset/daml/pull/14783>`__.
Use the deprecation warnings as guidance to the new names.
CHANGELOG_END
* prefix cases in OrderingSpec
- suggested by @remyhaemmerle-da; thanks
* use new names in json-api
* use new names in java codegen
* use new names in Scala codegen
* use new names in TypedValueGenerators
CHANGELOG_BEGIN
CHANGELOG_END
* move interface directory to api-type-signature; change bazel target; move scala files
* rename iface package to typesig; rename EnvironmentInterface to EnvironmentSignature
* rename Interface to PackageSignature
* rename fromReaderInterfaces to fromPackageSignatures
* rename InterfaceReader to SignatureReader
* rename InterfaceReader to SignatureReader in deprecation note
* rename readInterface to readPackageSignature
* rename InterfaceReaderError to Error
* rename InterfaceReaderMain to SignatureReaderMain
* rename InterfaceType to PackageSignature.TypeDecl
* rename astInterfaces to interfaces
* rename astInterfaces to interfaces in PackageSignature
* rename findAstInterface to findInterface
* rename a couple arguments
CHANGELOG_BEGIN
- [Scala API] The "quasi-public" API in ``com.daml.lf.iface`` has moved
to the new ``com.daml.lf.typesig`` package, with many accompanying
name changes as documented in `issue #13669
<https://github.com/digital-asset/daml/issues/13669>`__.
Daml 2.5.0 or later will remove the old names, and also rename the
Maven artifact from ``daml-lf-interface`` to
``daml-lf-api-type-signature``. We recommend that users of this API
use the deprecation guidance in 2.4.0 to port their applications
before this happens.
CHANGELOG_END