module arch.node.engines.executor_environment; import prelude open; import arch.node.types.messages open; import arch.node.types.identities open; import arch.node.types.engine_environment open; import arch.node.engines.executor_messages open; import arch.node.types.anoma_message as Anoma open; import arch.system.state.resource_machine.notes.nockma open; import arch.system.state.resource_machine.notes.runnable open; import arch.system.state.resource_machine.notes.nockma_runnable open; syntax alias ExecutorMailboxState := Unit; type ExecutorLocalState := mk@{ program_state : ProgramState; completed_reads : Map KVSKey KVSDatum; completed_writes : Map KVSKey KVSDatum; }; syntax alias ExecutorTimerHandle := Unit; ExecutorEnv : Type := EngineEnv ExecutorLocalState ExecutorMailboxState ExecutorTimerHandle Anoma.Msg; module executor_environment_example; executorEnv : ExecutorEnv := EngineEnv.mk@{ localState := ExecutorLocalState.mk@{ program_state := NockmaProgramState.mk@{ current_noun := Noun.Atom 0; storage := emptyStorage; gas_limit := 0; }; completed_reads := Map.empty; completed_writes := Map.empty; }; mailboxCluster := Map.empty; acquaintances := Set.empty; timers := []; }; end;