Successful arm of SimulateResult: the simulated transaction would have committed cleanly.

interface SimulateResultClean {
    commit: Commit;
    derivedDiff: readonly string[];
    stagedDiff: readonly string[];
    status: "clean";
}

Properties

commit: Commit

The Commit record the simulated transaction would have published. Its time is the GraphTime the commit would have landed at — exactly graph.now + 1 at simulate-time — but Graph.now is unchanged after simulate returns.

derivedDiff: readonly string[]

Transitively-affected derived ids whose recomputed value would have differed from the prior. In topological order over the affected sub-graph, mirroring commit's Phase D.

stagedDiff: readonly string[]

Input node ids whose value the staged writes would have changed, in iteration order over the user callback's tx.set calls. A staged write that lands on the same value as the prior commit (Object.is equality) is omitted, mirroring commit's Phase B.

status: "clean"

Discriminator tag.