Skip to content

Commit de734ee

Browse files
committed
SIMD-0232: Custom Fee Collector Account
1 parent f2941e4 commit de734ee

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
simd: '0232'
3+
title: Custom Fee Collector Account
4+
authors: Justin Starry (Anza)
5+
category: Standard
6+
type: Core
7+
status: Review
8+
created: 2025-01-24
9+
feature: (fill in with feature tracking issues once accepted)
10+
---
11+
12+
## Summary
13+
14+
Allow validators to specify a custom fee collector account where all earned
15+
block fees will be deposited.
16+
17+
## Motivation
18+
19+
Validator fee collector accounts must currently be the same as their identity
20+
hot wallet account. This means that program derived addresses are unable to be
21+
used for fee collection adding friction to validators distributing their revenue
22+
in custom ways. By allowing validators to specify a separate custom fee
23+
collector address, they can use onchain programs to customize how their block
24+
revenue is distributed.
25+
26+
## Alternatives Considered
27+
28+
NA
29+
30+
## New Terminology
31+
32+
NA
33+
34+
## Prerequisite Proposals
35+
36+
SIMD-0180 adjusts the leader schedule algorithm to make it possible to designate
37+
a specific vote account for a given leader slot.
38+
39+
SIMD-0185 adds a new fee collector address field to the vote account state.
40+
41+
## Detailed Design
42+
43+
After adoption of SIMD-0180 and SIMD-0185, a given block's fee collector address
44+
can be looked up via the designated vote account for the leader schedule slot
45+
that the block was produced in.
46+
47+
In order to eliminate the overhead of tracking the latest fee collector address
48+
of each vote account, the fee collector address should be fetched from the state
49+
of the vote account at the beginning of the previous epoch. This is the same
50+
vote account state used to build the leader schedule for the current epoch.
51+
52+
Note that the fee-collector constraints defined in SIMD-0085 still hold. The
53+
designated fee collector must be a system program owned account that is
54+
rent-exempt after receiving collected block fee rewards. If either of these
55+
constraints is violated, the fees collected for that block will be burned.
56+
57+
## Impact
58+
59+
Validator identity and fee collector accounts no longer need to be the same
60+
account. This opens up the ability to use PDA accounts for fee collection.
61+
62+
## Security Considerations
63+
64+
NA
65+
66+
## Drawbacks *(Optional)*
67+
68+
NA
69+
70+
## Backwards Compatibility *(Optional)*
71+
72+
This change will require the use of a new feature gate which will enable
73+
collecting fees into custom fee collector addresses if specified by a validator.

0 commit comments

Comments
 (0)