GenLayer Methods
gen_getTransactionLifecycle

gen_getTransactionLifecycle

Returns one advanced protocol lifecycle snapshot for a transaction. This endpoint is intended for explorers, operator tooling, and debugging; ordinary applications should prefer gen_getTransactionStatus or their SDK's simplified lifecycle model.

Method: gen_getTransactionLifecycle

Parameters:

  • request (object, required):
    • txId (string, required): The transaction hash (hex-encoded with 0x prefix)
    • timestamp (integer, optional): Unix timestamp used for projection. Defaults to the node clock.

Returns: The stored state, its projection at evaluatedAt, and the resolution kernel's next action from one contract read.

Response Fields:

FieldTypeDescription
storedStatusstringMaterialized on-chain status
storedStatusCodeuint8Materialized status code
projectedStatusstringStatus projected at evaluatedAt; projection does not write state
projectedStatusCodeuint8Projected status code
resolutionActionstringKernel action available from this snapshot, such as NoOp, ResolveAppeal, or Finalize
resolutionActionCodeuint8Resolution action code
resolutionSourcestringResolution-plan source/reason
resolutionSourceCodeuint8Resolution source code
decisionIdstring or nullDecimal decision identity used by decision-scoped protocol commands
decisionActivebooleanWhether decisionId still identifies the active decision
evaluatedAtintegerUnix timestamp used for the projection

Example Request:

{
  "jsonrpc": "2.0",
  "method": "gen_getTransactionLifecycle",
  "params": [
    {
      "txId": "0x563f046c187d711127c51213ca62e2e4fee52009a98f0989a73a0a0382d21890",
      "timestamp": 1787868000
    }
  ],
  "id": 1
}

Example Response:

{
  "jsonrpc": "2.0",
  "result": {
    "storedStatus": "Accepted",
    "storedStatusCode": 5,
    "projectedStatus": "Accepted",
    "projectedStatusCode": 5,
    "resolutionAction": "Finalize",
    "resolutionActionCode": 6,
    "resolutionSource": "FullReveal",
    "resolutionSourceCode": 6,
    "decisionId": "42",
    "decisionActive": true,
    "evaluatedAt": 1787868000
  },
  "id": 1
}

Notes:

  • Every response field comes from one lifecycle read at one pinned head and one timestamp.
  • storedStatus is the protocol state. projectedStatus describes what the kernel computes at evaluatedAt; it is not independently materialized.
  • resolutionAction: "Finalize" is the authoritative finalization capability. There is deliberately no ReadyToFinalize status and no redundant canFinalize field.
  • A client must not submit a decision-scoped command unless decisionActive is true and decisionId is non-null.