Action: Delegate
The controllable parameters of the Delegate action are
the
validator_identity— this is how the validator to be delegated to is identifiedthe
epoch_indexis when the delegation is/will be performed — the delegation starts on the next epochthe
unbonded_amount— the amount to be delegatedthe
delegation_amount— the amount after the delegation exchange rate, used for verification of the delegation
For this action handler, there is no check_stateless check.
The check_stateful check ensures that the validator exists, that the epoch is correct by comparing it to the validator's next rate data, and that the parameters match. It then ensures that the validator is enabled and that it is not jailed or tombstoned. It then verifies that the returned delegation_amount matches the expected delegation_amount.
The stake is then delegated to the validator, and if enough stake has been reached, the validator state is transitioned from Defined to Inactive.