Task State Transitions

Task as Finite State Machine (FSM)

State Transition Graph

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:

Group Validation Results

When a task is validated in a validation group, its result state is determined according to the table below:

Task 1 Before
Task 2 Before
Task 3 Before
Task 1 After
Task 2 After
Task 3 After

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

Actions for Each State

State
Action

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.

Last updated