Failure
[6 of 8] Compiling arch.node.engines.naming_environment /home/runner/work/nspec/nspec/docs/arch/node/engines/naming_environment.juvix.md:73:7-11: error: Unexpected argument node
icon: octicons/container-24 search: exclude: false categories: - engine-behaviour tags: - naming - engine-environment
Juvix imports
module arch.node.engines.naming_environment;
import prelude open;
import arch.node.types.engine_environment open;
import arch.node.types.identities open;
import arch.node.engines.naming_messages open;
Naming Environment¶
Overview¶
The Naming Engine maintains the state necessary for managing associations between IdentityName
s and ExternalIdentity
s, including storing evidence submitted by clients.
Mailbox states¶
The Naming Engine does not require complex mailbox states. We define the mailbox state as Unit
.
syntax alias NamingMailboxState := Unit;
Local state¶
The local state of the Naming Engine includes the evidence for name associations.
type NamingLocalState := mkNamingLocalState@{
evidenceStore : Set IdentityNameEvidence;
verifyEvidence : IdentityNameEvidence -> Bool;
};
Timer Handle¶
syntax alias NamingTimerHandle := Unit;
The Naming Engine does not require a timer handle type. Therefore, we define the timer handle type as Unit
.
Environment summary¶
NamingEnvironment : Type := EngineEnv
NamingLocalState
NamingMailboxState
NamingTimerHandle;
Example of a Naming
environment¶
module naming_environment_example;
namingEnvironmentExample : NamingEnvironment :=
mkEngineEnv@{
node := Curve25519PubKey "0xabcd1234";
name := "naming";
localState := mkNamingLocalState@{
evidenceStore := Set.empty;
verifyEvidence := \{ _ := true }
};
mailboxCluster := Map.empty;
acquaintances := Set.empty;
timers := []
}
;
end;