mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
flowchart TD
|
|
subgraph EngineTask[Engine]
|
|
Block
|
|
-->|Execute transactions sequentially| Execute[Execute transaction]
|
|
--> CollectStateUpdates[Collect all accounts and storage slots that were modified]
|
|
end
|
|
|
|
subgraph TransactionThread[Prewarming thread]
|
|
Prewarm[Execute transaction on top of previous block]
|
|
--> CollectPrefetchTargets[Collect all accounts and storage slots that were modified]
|
|
end
|
|
|
|
subgraph StateRootTask[State Root Task thread]
|
|
StateRootMessage::PrefetchProofs
|
|
StateRootMessage::StateUpdate
|
|
StateRootMessage::FinishedStateUpdates
|
|
StateRootMessage::RootCalculated
|
|
end
|
|
|
|
newPayloadRequest[engine_newPayload request] --> Block
|
|
Block -->|Start prewarming each transaction in a separate thread| Prewarm
|
|
CollectPrefetchTargets --> StateRootMessage::PrefetchProofs
|
|
CollectStateUpdates --> StateRootMessage::StateUpdate
|
|
Execute -->|All transactions finished executing| StateRootMessage::FinishedStateUpdates
|
|
StateRootMessage::RootCalculated
|
|
--> newPayloadResponse[engine_newPayload response]
|