SIMD-0232
Custom Commission Collector Account
TL;DR
Allow validators to specify custom commission collector accounts where block revenue and inflation rewards commissions will be deposited.
Summary
Allow validators to specify custom commission collector accounts where block revenue and inflation rewards commissions will be deposited.
Motivation
Validator commission collector accounts must currently be the same as their identity hot wallet account. This means that program derived addresses are unable to be used for block revenue collection adding friction to validators wishing to distribute their revenue in custom ways. By allowing validators to specify a separate custom commission collector account, they can use onchain programs to customize how their block revenue is distributed.
Key Changes
- Block Revenue Commission Collector: The account used to collect commissioned
- Inflation Rewards Commission Collector: The account used to collect
- Must be a system program owned account
- Must be rent-exempt after depositing block revenue commission
- Must not be a reserved account (note that currently the only system program
- Must be rent-exempt after depositing inflation rewards commission
- If the number of account inputs is less than 2, return
- If the vote account (index 0) fails to deserialize, return
- If the vote account's authorized withdrawer is not an account input for the
- If the new collector account (index 1) is not the same as the vote account
- If the new collector account is not rent-exempt, return
- If the new collector account is not writable, return
- CommissionKind::InflationRewards: update the inflation_rewards_collector field
- CommissionKind::BlockRevenue: update the block_revenue_collector field
Impact
Validator identity and fee collector accounts no longer need to be the same account. This opens up the ability to use PDA accounts for block revenue collection. Inflation reward commissions no longer need to be collected into a validator's vote account. This validators more flexibility over managing inflation reward income.
Backwards Compatibility
*(Optional)* This change will require the use of a new feature gate which will enable collecting block fees and inflation rewards into custom commission collector addresses if specified by a validator.
Security Considerations
NA