Task State Transitions
Task as Finite State Machine (FSM)
Last updated
Task as Finite State Machine (FSM)
Last updated
The task could be aborted at any state, as long as the timeout period has reached. The abort action could be issued from both the application and the selected node.
The task state transition graph is given below. To simplify the graph, all the abort transition is omitted:
When a task is validated in a validation group, its result state is determined according to the table below:
ScoreReady (A)
ScoreReady (A)
ScoreReady (A)
GroupValidated
EndGroupRefund
EndGroupRefund
ScoreReady (A)
ScoreReady (A)
ScoreReady (B)
GroupValidated
EndGroupRefund
EndInvalidated
ScoreReady (A)
ScoreReady (B)
ScoreReady (C)
EndAborted
EndAborted
EndAborted
ScoreReady (A)
ScoreReady (A)
ErrorReported
GroupValidated
EndGroupRefund
EndInvalidated
ScoreReady (A)
ScoreReady (B)
ErrorReported
EndAborted
EndAborted
EndAborted
ScoreReady (A)
ScoreReady (A)
EndAborted
GroupValidated
EndGroupRefund
EndAborted
ScoreReady (A)
ScoreReady (B)
EndAborted
EndAborted
EndAborted
EndAborted
ScoreReady
ErrorReported
ErrorReported
EndInvalidated
EndAborted
EndAborted
ScoreReady
ErrorReported
EndAborted
EndAborted
EndAborted
EndAborted
ScoreReady
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
ErrorReported
ErrorReported
ErrorReported
EndAborted
EndAborted
EndAborted
ErrorReported
ErrorReported
EndAborted
EndAborted
EndAborted
EndAborted
ErrorReported
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
EndAborted
Group Validated
Record the address of all the 3 nodes in the validation group.
End Success
Settle the payment. Release the node.
End Group Refund
Refund the payment. Release the node.
End Group Success
Distribute payment to 3 nodes. Release the node.
End Invalidated
Refund the payment. Slash the node.
End Aborted
Refund the payment. Release the node.