From d904feec035e307aef1c0f9331fdea6b10297bf3 Mon Sep 17 00:00:00 2001 From: Charlie Date: Wed, 18 Sep 2024 12:46:33 +0100 Subject: [PATCH] feat: add acs for program update behaviour --- protocol/0083-RFPR-on_chain_referral_program.md | 3 +++ protocol/0084-VDPR-volume_discount_program.md | 3 +++ protocol/0095-HVMR-high_volume_maker_rebate.md | 3 +++ protocol/features.json | 11 +++++++++++ 4 files changed, 20 insertions(+) diff --git a/protocol/0083-RFPR-on_chain_referral_program.md b/protocol/0083-RFPR-on_chain_referral_program.md index 8de8cde3d..826dc476a 100644 --- a/protocol/0083-RFPR-on_chain_referral_program.md +++ b/protocol/0083-RFPR-on_chain_referral_program.md @@ -512,6 +512,9 @@ The Estimate Fees API should now calculate the following additional information: - `referralProgram.maxReferralRewardFactor` (0083-RFPR-042) - `referralProgram.maxReferralDiscountFactor` (0083-RFPR-043) +1. Given a referral program is not active, if an `UpdateReferralProgram` is enacted in epoch `k`. The program should be active in `k+1` **AND** all parties that qualify for a tier in the new program should receive the relevant factors from the new programs tier. (0083-RFPR-056). +1. Given a referral program is active, if an `UpdateReferralProgram` is enacted in epoch `k`. The program should be updated in `k+1` **AND** all parties that qualify for a tier in the updated program should receive the relevant factors from the updated programs tier. (0083-RFPR-057). + ### Referral set mechanics #### Creating a referral set diff --git a/protocol/0084-VDPR-volume_discount_program.md b/protocol/0084-VDPR-volume_discount_program.md index 861e9811f..15b172319 100644 --- a/protocol/0084-VDPR-volume_discount_program.md +++ b/protocol/0084-VDPR-volume_discount_program.md @@ -170,6 +170,9 @@ The Trades API should now also expose the following additional information for e - `volumeDiscountProgram.maxBenefitTiers` (0084-VDPR-015). - `volumeDiscountProgram.maxVolumeDiscountFactor` (0084-VDPR-016). +1. Given a volume discount program program is not active, if an `UpdateVolumeDiscountProgram` is enacted in epoch `k`. The program should be active in `k+1` **AND** all parties that qualify for a tier in the new program should receive the relevant factors from the new programs tier. (0084-VDPR-019). +1. Given a volume discount program program is active, if an `UpdateVolumeDiscountProgram` is enacted in epoch `k`. The program should be updated in `k+1` **AND** all parties that qualify for a tier in the updated program should receive the relevant factors from the updated programs tier. (0084-VDPR-020). + ### Setting benefit factors 1. At the start of an epoch, each parties `volume_discount_factors` are reevaluated and fixed for the epoch (0084-VDPR-012). diff --git a/protocol/0095-HVMR-high_volume_maker_rebate.md b/protocol/0095-HVMR-high_volume_maker_rebate.md index 69f11da48..65120dd88 100644 --- a/protocol/0095-HVMR-high_volume_maker_rebate.md +++ b/protocol/0095-HVMR-high_volume_maker_rebate.md @@ -93,6 +93,9 @@ Any APIs which report a party's rebate factor should adhere to this cap and retu 1. Updating any of the following network parameters whilst there is an active volume rebate program will not modify or cancel the active program in any way. The updated parameters will however be used to validate future volume rebate program proposals. - `volumeRebateProgram.maxBenefitTiers` (0095-HVMR-012). +1. Given a volume discount program program is not active, if an `UpdateVolumeRebateProgram` is enacted in epoch `k`. The program should be active in `k+1` **AND** all parties that qualify for a tier in the new program should receive the relevant factors from the new programs tier. (0095-HVMR-040). +1. Given a volume discount program program is active, if an `UpdateVolumeRebateProgram` is enacted in epoch `k`. The program should be updated in `k+1` **AND** all parties that qualify for a tier in the updated program should receive the relevant factors from the updated programs tier. (0095-HVMR-041). + ### Maker volume fraction #### Contributing trades diff --git a/protocol/features.json b/protocol/features.json index 111a1f82d..dd0d5147c 100644 --- a/protocol/features.json +++ b/protocol/features.json @@ -856,6 +856,17 @@ "0080-SPOT-029" ] }, + "Program enactment fixes": { + "milestone": "genbutemple", + "acs": [ + "0083-RFPR-056", + "0083-RFPR-057", + "0084-VDPR-019", + "0084-VDPR-020", + "0095-HVMR-040", + "0095-HVMR-041" + ] + }, "Unknown": { "milestone": "unknown", "acs": []