Skip to content

Commit f2c226a

Browse files
foriequal0majecty
authored andcommitted
Add docs for redelegation transaction
1 parent fb8685f commit f2c226a

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

spec/Dynamic-Validator.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The block that has a different generation hour from the parent block's is the la
4848
CodeChain elects a new validator set after all rewards of the block is given.
4949

5050
## Nomination
51-
Any account that is not banned or not in **CUSTODY_PERIOD** can nominate itself.
51+
Any account that is neither banned nor in **CUSTODY_PERIOD** can nominate itself.
5252
The nomination expires after **NOMINATION_EXPIRATION**; the account that wants to remain a candidate must nominate itself before the previous nomination expires.
5353
The deposit reverts to the account when it becomes an eligible account.
5454

@@ -61,6 +61,8 @@ The stakeholders have the right to choose validators in proportion to their shar
6161
This is called delegation, and the stakeholders who have delegated are called delegators.
6262
The delegation is valid only when the delegatee is neither in the eligible nor banned state.
6363
The delegated stakes are returned when the account becomes an eligible account or a banned account.
64+
The delegator can revoke or redelegate delegations from a delegatee.
65+
When redelegating, the same restrictions apply to the new delegatee.
6466

6567
## Election
6668
The election is a process that elects validators of a term according to the following rule:
@@ -76,7 +78,7 @@ The election is a process that elects validators of a term according to the foll
7678

7779
This process guarantees these things:
7880

79-
* Candidates who are deposited less than **MIN_DEPOSIT** cannot be validators. This prevents the *nothing-at-stake* problem.
81+
* Candidates who deposited less than **MIN_DEPOSIT** cannot be validators. This prevents the *nothing-at-stake* problem.
8082
* There are at least **MIN_NUM_OF_VALIDATORS** validators only if the number of candidates is larger than **MIN_NUM_OF_VALIDATORS**.
8183
* The candidates that are not in **MIN_NUM_OF_VALIDATORS** and not receiving delegation of more than **DELEGATION_THRESHOLD** will not be validators.
8284

@@ -212,6 +214,14 @@ The revoke occurs immediately, but the validator cannot be ousted before its ter
212214

213215
The transaction fails when the delegator revokes more than it delegates.
214216

217+
218+
### REDELEGATE
219+
* previous_delegatee
220+
* next_delegatee
221+
* quantity
222+
223+
This is an atomic version of `REVOKE (previous_delegatee, quantity)` + `DELEGATE (next_delegatee, quantity)`. It works as if two transactions are applied in a sequence, but the effect is atomic. The restrictions of the transaction are the same with both `REVOKE` and `DELGATE`.
224+
215225
### REPORT_DOUBLE_VOTE
216226
* message1
217227
* message2

0 commit comments

Comments
 (0)