From b90c88a1452838760e5e81a701811f1ca5117c80 Mon Sep 17 00:00:00 2001 From: bame-da Date: Tue, 30 Jun 2026 15:05:18 +0200 Subject: [PATCH 1/3] Add FA weights to spec --- cip-0104/cip-0104.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cip-0104/cip-0104.md b/cip-0104/cip-0104.md index 882ccd0f..7d33b22d 100644 --- a/cip-0104/cip-0104.md +++ b/cip-0104/cip-0104.md @@ -73,6 +73,7 @@ Use the view hashes visible to the sequencer on the confirmation request to dete ``` using integer arithmetic, and attribute `per_app_traffic_weight` to every app confirmer of the envelope. +6. For every featured app involved, multiply the `per_app_traffic_weight` by the `activity_weight` set on the `FeaturedAppRight`. Note that the computation in Item 5 takes care of distributing the traffic cost not attributed to app envelopes in a weighted fashion among the app envelopes. When all envelopes have an app confirmer, it becomes `per_app_traffic_weight = envelope_traffic_cost / num_app_confirmers`, as expected. @@ -154,6 +155,17 @@ Note that the CIP proposes introducing extra endpoints instead of extending the 1. Traffic summaries can be read by clients as soon as the corresponding message has been sequenced, and not only once the confirmation request has been completed, which may be up to 30s later. 2. The `/v2/events` stream is not held up by a potentially delayed app activity record computation. +#### Featured App Weights + +The CIP proposes to add the ability to adjust the app rewards that a featured app receives by setting a weight on the `FeaturedAppRight` contract. The weight is applied in the [activity record computation](#activity-record-computation-details). +Concretely: + +1. Add a field `activity_weight` to `FeaturedAppRight`. +2. Adjust the `DsoRules_GrantFeaturedAppRight` and `DsoRules_RevokeFeaturedAppRight` governance choices to optionally take `activity_weight`, with the default being `1.0`. +3. Add a new `DsoRules_UpdateFeaturedAppRight` governance choice to adjust the `activity_weight`. +4. Make the adjustments to the SV UIs and backing APIs to allow SV governance to adjust the `activity_weight` on `FeaturedAppRight` + + ### Free Protocol-Conformant Confirmation Responses The Canton Protocol is changed so that the confirmation responses expected to be sent by a confirming participant node become de-facto free. From bb817726ab6be8e0fc22282d533db7aa43b7277c Mon Sep 17 00:00:00 2001 From: Bernhard Elsner <40762178+bame-da@users.noreply.github.com> Date: Tue, 30 Jun 2026 15:56:12 +0200 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Simon Meier Signed-off-by: Bernhard Elsner <40762178+bame-da@users.noreply.github.com> --- cip-0104/cip-0104.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cip-0104/cip-0104.md b/cip-0104/cip-0104.md index 7d33b22d..b83ae81d 100644 --- a/cip-0104/cip-0104.md +++ b/cip-0104/cip-0104.md @@ -73,7 +73,7 @@ Use the view hashes visible to the sequencer on the confirmation request to dete ``` using integer arithmetic, and attribute `per_app_traffic_weight` to every app confirmer of the envelope. -6. For every featured app involved, multiply the `per_app_traffic_weight` by the `activity_weight` set on the `FeaturedAppRight`. +6. For every featured app involved, multiply the `per_app_traffic_weight` by the `activityWeight` set on the `FeaturedAppRight`. Note that the computation in Item 5 takes care of distributing the traffic cost not attributed to app envelopes in a weighted fashion among the app envelopes. When all envelopes have an app confirmer, it becomes `per_app_traffic_weight = envelope_traffic_cost / num_app_confirmers`, as expected. @@ -160,10 +160,10 @@ Note that the CIP proposes introducing extra endpoints instead of extending the The CIP proposes to add the ability to adjust the app rewards that a featured app receives by setting a weight on the `FeaturedAppRight` contract. The weight is applied in the [activity record computation](#activity-record-computation-details). Concretely: -1. Add a field `activity_weight` to `FeaturedAppRight`. -2. Adjust the `DsoRules_GrantFeaturedAppRight` and `DsoRules_RevokeFeaturedAppRight` governance choices to optionally take `activity_weight`, with the default being `1.0`. -3. Add a new `DsoRules_UpdateFeaturedAppRight` governance choice to adjust the `activity_weight`. -4. Make the adjustments to the SV UIs and backing APIs to allow SV governance to adjust the `activity_weight` on `FeaturedAppRight` +1. Add a field `activityWeight` to `FeaturedAppRight`. +2. Adjust the `DsoRules_GrantFeaturedAppRight` governance choice to optionally take `activityWeight`, with the default being `1.0`. +3. Add a new `DsoRules_UpdateFeaturedAppRight` governance choice to adjust the `activityWeight`. +4. Adjust the SV UIs and backing APIs to allow SV governance to change the `activityWeight` on `FeaturedAppRight` ### Free Protocol-Conformant Confirmation Responses From 8185745e773abcf2dc50fd916e000e4ce8f9894c Mon Sep 17 00:00:00 2001 From: Bernhard Elsner <40762178+bame-da@users.noreply.github.com> Date: Tue, 30 Jun 2026 15:58:16 +0200 Subject: [PATCH 3/3] Update cip-0104.md changelog Signed-off-by: Bernhard Elsner <40762178+bame-da@users.noreply.github.com> --- cip-0104/cip-0104.md | 1 + 1 file changed, 1 insertion(+) diff --git a/cip-0104/cip-0104.md b/cip-0104/cip-0104.md index b83ae81d..0a233bbd 100644 --- a/cip-0104/cip-0104.md +++ b/cip-0104/cip-0104.md @@ -434,6 +434,7 @@ TODO: build and reference here This CIP is licensed under CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) ## Changelog +- 2025-06-30: Propose amendment for featured app weights. - 2026-02-12: CIP Approved. - 2026-01-29: draft published - 2026-01-10: change to share app rewards among confirmers instead of informees