You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: programs/core-attribute-voter/README.md
+13-9Lines changed: 13 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,8 @@ Core Attribute Voter allows DAOs to use NFT collections for governance voting wh
12
12
13
13
Each configured collection specifies:
14
14
- A **weight attribute key** (e.g. `"voting_power"`, `"tier"`) — the attribute name to read from each NFT
15
-
- A **max weight** — a ceiling that caps any single NFT's voting power and represents the collection's max governance weight
15
+
- A **max weight** — a ceiling that caps any single NFT's voting power
16
+
- A **total weight** — the collection's contribution to the quorum denominator (`max_voter_weight`)
16
17
- An **expected attribute authority** — the trusted authority that set the attributes
17
18
18
19
When a voter submits their NFTs, the program:
@@ -32,20 +33,21 @@ When a voter submits their NFTs, the program:
32
33
The maximum possible voting power across all configured collections:
33
34
34
35
```
35
-
max_voter_weight = Σ collection.max_weight
36
+
max_voter_weight = Σ collection.total_weight
36
37
```
37
38
38
-
This is used by SPL Governance to calculate quorum thresholds. Unlike the nft-voter and core-voter plugins (where max weight = `collection_size × weight_per_nft`), attribute-based voting has variable per-NFT weights, so `max_weight` must be set by the realm authority to reflect the expected total voting power of each collection.
39
+
This is used by SPL Governance to calculate quorum thresholds. Unlike the nft-voter and core-voter plugins (where max weight = `collection_size × weight_per_nft`), attribute-based voting has variable per-NFT weights, so `total_weight` must be set by the realm authority to reflect the expected total voting power of each collection.
|`max_weight`|`u64`| > 0 | Max governance weight for the collection. Caps individual NFT weights and is summed across collections for quorum calculation. Should reflect the expected total voting power of the collection. |
168
+
|`max_weight`|`u64`| > 0 | Max governance weight per NFT (attribute cap per asset). |
169
+
|`total_weight`|`u64`| > 0 | Collection's total governance contribution for quorum calculation. Summed across collections into `max_voter_weight`. |
166
170
|`weight_attribute_key`|`String`| 1–32 characters | Attribute name to read from NFTs |
167
171
|`expected_attribute_authority`|`PluginAuthority`| Must match plugin | Trusted authority for attribute validation |
0 commit comments