feat: implemented the multi-sig control for protocol fee parameters - #664
Open
CollinsC1O wants to merge 2 commits into
Open
feat: implemented the multi-sig control for protocol fee parameters#664CollinsC1O wants to merge 2 commits into
CollinsC1O wants to merge 2 commits into
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Implementation Summary:
New Storage Symbols Added:
** FEE_ADMINS (Vec): Stores the list of addresses authorized to manage and modify fee parameters.
** FEE_THRESHOLD (u32): Stores the minimum number of multi-sig signers required to make fee modifications.
** configure_fee_multisig Introduced:
Multi-Sig Logic Integrated into configure_fees:
Instead of a single admin parameter, configure_fees now takes an admins: Vec
array.The contract dynamically iterates through the provided admins list to check if they belong to FEE_ADMINS.
On each matched valid admin, admin.require_auth() is called which enforces multi-signature confirmation natively using the Soroban auth framework.
Included robust safeguards against duplicate signatures/replay within the exact same configuration payload.
For backwards compatibility prior to multi-sig setup, it gracefully defaults to requiring the master CONTRACT_ADMIN.
Tests & Compilation:
The smart contract feature meets all required design patterns utilizing Soroban best practices!
Closes #515
Summary by CodeRabbit
Release Notes
New Features
Refactor