I am learning Daml in Daml studio (VS Code) and getting an error message when I hover over a template that uses contract keys:
Failure to process Daml program, this feature is not currently supported.
Contract keys.
template CustomerTokenBalance
with
customer : Party
tokenId : Text
balance : Decimal
where
signatory customer
key (customer, tokenId) : (Party, Text)
maintainer key._1
Should I not use contract keys or is there a fix?
I switched to sdk-version: 2.10.0 and keys seem to be supported.
1 Like
Switching to 2.10.0 resolved this because Contract Keys is not supported in 3.x. This allows 3.x to support multiple domains, which is important for supporting the long-term development of the Canton Network. Contract Keys will remain supported by the LTS releases of 2.x.
It is possible that something resembling keys may be included in a future version of 3.x; however, the uniqueness guarantees provided by the feature in 2.x are fundamentally incompatible with the improved distributed ledger features that underpin Canton in 3.x.
1 Like