Docs Técnicas
Lifecycle And Version Binding
TREA uses explicit lifecycle and version acceptance.
TREA uses explicit lifecycle and version acceptance.
Lifecycle States
drafted
proposed
bound
active
suspended
matured
closed
archived
cancelledCalls are blocked for:
suspended
closed
archived
cancelledThe runtime does not bypass lifecycle. The ledger checks lifecycle admissibility before call execution is committed.
Version Binding
Actors can accept a specific artifact version for a contract instance.
This allows upgrades without silently changing the executable code for every actor.
When a contract call executes, the ledger resolves the artifact in this order:
- the caller's accepted version for the contract instance, if one exists;
- otherwise the instance default artifact.
This separation matters:
- the contract artifact identifies executable code;
- the contract instance identifies persisted state and lifecycle;
- the accepted version selects which artifact a given actor executes.
Storage Compatibility
Accepted artifacts are checked for storage compatibility.
Supported compatibility classes include:
- identical;
- append-only;
- incompatible.
Automatic execution of incompatible migrations is outside the current closed profile.
Commit Boundary
A successful local execution does not guarantee ledger commit.
The ledger still validates lifecycle state, resolved artifact family, accepted version binding, storage compatibility, and resulting accounting effects before persisting the outcome.