Add market fee discount to protocol (backport #3130) #3217
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelist
This PR implements a Market Fee Discount feature that allows governance to configure flexible fee discount periods for specific markets/CLOB pairs. During an active discount period, fees can be reduced by any percentage (from 0% to 100% of normal fees) for designated markets during specified time periods.
Detailed tech spec
Key Changes:
PerMarketFeeDiscountParamsmessage withcharge_ppmfield for flexible discount percentagesMsgSetMarketFeeDiscountParams) with validation for time ranges, CLOB pair existence, and charge_ppm limitsGetPerpetualFeePpm()now checks for active fee discounts and applies proportional discount based oncharge_ppmclobPairIdto fee calculation functionBreaking Changes:
GetPerpetualFeePpm()signature updated to includeclobPairIdparameter (all callers updated in this PR)Example Governance Proposal
Test Plan
Unit Tests
Manual Testing on Staging
Fill Result (BEFORE discount):
Author/Reviewer Checklist
state-breakinglabel.indexer-postgres-breakinglabel.PrepareProposalorProcessProposal, manually add the labelproposal-breaking.feature:[feature-name].backport/[branch-name].refactor,chore,bug.Summary by CodeRabbit
New Features
Improvements
Tests
Chores
This is an automatic backport of pull request #3130 done by [Mergify](https://mergify.com).