Splice 0.5.16
App devs whose app’s Daml code statically depends on splice-amulet < 0.1.17 should recompile their Daml code to link against splice-amulet >= 0.1.17 in order to be ready to consume new field contractStateSchemaVersion…
- A newer release in the 0.5 line: Splice 0.5.18
- Newest Splice: Splice 0.9.4
Open the release notes (opens in a new tab)docs.canton.network
- Daml
splice-amulet < 0.1.17 should recompile their Daml code to link against splice-amulet >= 0.1.17 in order to be ready to consume new field contractStateSchemaVersion added to AmuletRules.
This is required because once the new fields are set, downgrades of AmuletRules will fail. Note that the field will not be set automatically after this upgrade. It is strongly recommended to avoid direct dependencies on amulet and replace them by dependencies through token standard interfaces.
No change is required for apps that build against the token_standard or featured_app_activity_markers_api.
-
Restrict
AmuletConfigto not allow fees as part of CIP 107. This has no functional effect as CIP 78 set the fees to zero already. This also disables the choiceAmuletRules_ComputeFeesas it always returned 0. Application providers that statically link againstsplice-amuletwill need to remove usages of this choice when recompiling against the newsplice-amuletversion. -
Support 24h signing delays for token standard CC transfers and allocations, see CIP 107.
- This change concerns the CC implementation of the token standard APIs, so no change is required for clients of these APIs to make use of the new 24h submission delay. However, Scan returns a slightly different choice context, so make sure that your app passes that along opaquely.
- As part of this change additional constraints are imposed on
AmuletConfig. All of these constraints are satisfied by the current configs on DevNet, TestNet and MainNet:- CC usage fees can no longer be set to non-zero values. They were set to zero in CIP-0078.
extraFeaturedAppRewardAmountcan no longer be set to a different value thanfeaturedAppActivityMarkerAmount. Both of those are currently set to $1.- The config schedule on
AmuletRulescan no longer containfutureValues. The ability to do so through the UI was removed in CIP-0051 but in theory it would have still been possible to set this through internal APIs.
- This does change transaction structure, in particular,
AmuletRules_Transferis no longer a child node of the token standard operations and some other choices. Token standard compliant history parsing should not require adjustments. However apps and wallets that parse the Splice choices directly may need to be adjusted. - The check that the lock on a locked amulet expires before the underlying amulet expires has been removed.
-
TransferCommandis deprecated and will be removed in a future version. It was originally introduced to support 24h signing delays and is no longer required now that this is also available through the token standard APIs. This also applies to the corresponding validator APIs/v0/admin/external-party/transfer-preapproval/prepare-sendand/v0/admin/external-party/transfer-preapproval/submit-sendwhich should be replaced by the Token Standard APIs. -
Add missing validation of
svparty toDsoRules_ClaimExpiredRewards. - Add missing TransferInstruction_Update choice for AmuletTransferInstruction to support expiry.
- Add AmuletAllocation_DsoExpire choice to support expiry of expired allocations.
- Validator App
/v0/admin/external-party/transfer-preapproval/prepare-send and /v0/admin/external-party/transfer-preapproval/submit-send are deprecated and will be removed in a future version. Replace any usages of validator API endpoints by calls to the Token Standard APIs.
-
Fix a bug that caused the Validator App to fail during restarts when the Scan Apps defined in
scanClient.seedUrlswere unavailable. This fix ensures the Validator App uses its persisted scan connections from previous runs, removing the dependency on seedUrls scan availability for successful reboots. -
Wallet UI
- Extend the
/development-fundpage to make active coupons visible to beneficiaries. Note: Beneficiaries cannot withdraw coupons. - Update
/development-fundpage warning messages to reflect beneficiary visibility on active and historical coupons.
- Extend the
-
Scan
- Improve the performance of ACS snapshot generation, reducing the magnitude of periodic spikes in database activity and avoiding log warnings about advisory locks.
- Add a new Grafana dashboard to monitor the progress of ACS snapshot generation.
-
Infrastructure
- Update the JDK base image for all Splice and Canton images from 21.0.7 to 21.0.10 (Eclipse Temurin). This includes a fix for JDK-8347811, which caused incorrect detection of cgroup controllers on cgroupv2 hosts, potentially leading to the JVM ignoring container memory and CPU limits.
-
Canton
- A new field
paid_traffic_costexposes the traffic cost paid by the node on completion events and update events- On completions, the field contains the cost paid by the node for the submission of the transaction. May be 0 for failed transactions that did not incur any traffic cost.
- On updates, the field contains the cost paid by the node for the submission of the transaction, if available on this node and to the querying parties. In particular, the cost is only available on the submitting node and when querying with a filter that includes submitting parties. The cost is available for Daml transactions and re-assignments. Not for topology transactions.
- A new field