Computation Lifecycle

Computation definitions are specifications of logical operations attached to MXEs and therefore they do not expire. However, individual instantiations of Computations (commissioned Computations) implicitly expire following their execution. Furthermore, a Computation may specify a specific window during which the Computation's execution is valid. This window consists of two timestamps specifying the times after which and before which the Computation may be executed.

If a Computation's "valid after" timestamp is in the future then the Computation waits in the mempool, while if it is in the past, the Computation is valid to be executed. At the same time, as long as the "valid before" timestamp is in the future the Computation is valid to be executed, while if it is in the past then the Computation has expired and therefore is no longer valid to be executed. By default, if this validity window is not specified for a Computation, then the "valid after" timestamp is set to zero and the "valid before" timestamp is set to infinity. Note that these Computation validity window rules only apply to Computations in the active mempool, since dependency relationships between Computations take precedence over the validity window (see the On-Chain Mempools section for more on the mempool design).

Last updated