diff --git a/dip-0003.md b/dip-0003.md index c1029794..9dc00d34 100644 --- a/dip-0003.md +++ b/dip-0003.md @@ -139,6 +139,7 @@ The different versions are: | ------- | ------------------------------------------------------- | | 1 | PubKeyOperator is serialised using legacy BLS scheme | | 2 | PubKeyOperator is serialised using basic BLS scheme | +| 3 | Extended network information serialization | | 4 | Owner payout list as defined in [DIP-0026](dip-0026.md) | [DIP-0026](dip-0026.md) defines version 4 ProRegTx payloads. Version 4 replaces the single `scriptPayoutSize` and `scriptPayout` fields with an owner payout list while leaving the existing operator reward and operator payout mechanisms unchanged. @@ -214,6 +215,7 @@ The different versions are: | ------- | ------------------------------------------------------- | | 1 | PubKeyOperator is serialised using legacy BLS scheme | | 2 | PubKeyOperator is serialised using basic BLS scheme | +| 3 | Reserved for extended network information | | 4 | Owner payout list as defined in [DIP-0026](dip-0026.md) | [DIP-0026](dip-0026.md) defines version 4 ProUpRegTx payloads. Version 4 replaces the single `scriptPayoutSize` and `scriptPayout` fields with an owner payout list. diff --git a/dip-0026.md b/dip-0026.md index 33352045..d913ed19 100644 --- a/dip-0026.md +++ b/dip-0026.md @@ -36,9 +36,12 @@ This DIP extends [DIP-0003: Deterministic Masternode Lists](dip-0003.md) by allowing the owner-controlled portion of a masternode reward to be split across multiple payout scripts. A masternode may specify between 1 and 8 distinct owner -payout entries, each with a basis-point reward share. A masternode with one -owner uses the same structure as a masternode with multiple owners: one payout -entry with a reward value of 10000. +payout entries, each with a basis-point reward share. All owner payouts, whether +one or multiple, are represented by the same payout list structure, and the sum +of all owner payout entries must equal 10000. + +The payout list applies to all deterministic masternode types, including regular +masternodes and evonodes. The existing operator reward mechanism is preserved. If a non-zero operator reward was configured and an operator payout script is set, the operator reward @@ -118,7 +121,7 @@ Each owner payout entry has the following structure: | --- | --- | --- | --- | | scriptPayoutSize | compactSize uint | 1-9 | Size of the payout script. | | scriptPayout | Script | Variable | Owner payout script. | -| reward | uint16_t | 2 | Basis-point share of the owner reward. | +| reward | uint16_t | 2 | Basis-point share of the owner reward (minimum: 100). | The `reward` field is expressed in basis points. Implementations must interpret 10000 as 100 percent, 5000 as 50 percent, and 100 as 1 percent. @@ -281,7 +284,9 @@ Before v24 activation: After v24 activation: * New version 4 registrations may use 1 to 8 owner payout entries. -* Version 4 registrar updates may change the payout list. +* Version 4 registrar updates may change the payout list, including migrating an + existing legacy masternode from a single owner payout script to a version 4 + payout list. * Existing legacy masternodes remain valid and continue to use their existing single owner payout script. * Existing operator reward behavior remains unchanged.