Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f623ee5
Move keyToShard from an axiom to the configs of Executor and Worker
AHartNtkn Mar 24, 2025
921d2b5
Add file for universal anoma engine type.
AHartNtkn Mar 25, 2025
16beccd
add simulator 1.0
AHartNtkn Mar 26, 2025
8d29d9b
Add localCfg pattern to engines without them
AHartNtkn Mar 26, 2025
f998ce3
Update simulator with new Cfg format
AHartNtkn Mar 26, 2025
7d13982
add simulator to everything
AHartNtkn Mar 27, 2025
1ca5ccd
add nockma and runnable for it
AHartNtkn Mar 27, 2025
f5399e4
Add nodes to network
AHartNtkn Mar 28, 2025
ec7859f
Fix issues detected by pre-commit
Mar 28, 2025
d5f8f5f
Bump to sdtlib 0.11.0
AHartNtkn Apr 16, 2025
30fe04c
Merge branch 'anthony/simulator' into anthony/bump
AHartNtkn Apr 22, 2025
bdaa24b
Bump to sdtlib 0.11.0 (#362)
AHartNtkn Apr 22, 2025
3b1ca54
fixes 1
AHartNtkn Apr 22, 2025
4518bab
Complete 0.11 updates
AHartNtkn Apr 22, 2025
8d115dd
update nockma for 0.11
AHartNtkn Apr 22, 2025
69ba529
Remove Pre-stuff
AHartNtkn Apr 22, 2025
4b9a6c5
Fix issues detected by pre-commit
Apr 22, 2025
bac31a9
first example
AHartNtkn Apr 23, 2025
bb6ecb1
Fix nock code
AHartNtkn Apr 24, 2025
9149c56
simulator works
AHartNtkn Apr 24, 2025
339c5e7
Merge branch 'anthony/simulator' of https://github.com/anoma/nspec in…
AHartNtkn Apr 24, 2025
324ce14
Merge branch 'main' into anthony/simulator
AHartNtkn Apr 28, 2025
dd1ca0d
Add message pretty printing
AHartNtkn May 7, 2025
60b209b
make increment runnable
AHartNtkn May 7, 2025
6a5f84d
fill out additional messages
AHartNtkn May 7, 2025
61a0158
(m) comments
AHartNtkn May 7, 2025
c2682b5
Merge branch 'main' into anthony/simulator
jonaprieto May 20, 2025
0d8d29c
Merge branch 'main' into anthony/simulator
jonaprieto Jun 2, 2025
1e4d763
Merge branch 'main' into anthony/simulator
jonaprieto Jun 3, 2025
4ef0dbc
feat(docs): add integration and runnable trait sections to navigation
jonaprieto Jun 3, 2025
0046728
style(docs): remove trailing whitespace in documentation files
jonaprieto Jun 3, 2025
67c1312
chore(docs): specify language for code blocks in prelude.juvix.md
jonaprieto Jun 3, 2025
6c2a712
feat(docs): enhance Nockma implementation documentation
jonaprieto Jun 3, 2025
e3986cd
refactor(docs): restructure simulator and visualizer module documenta…
jonaprieto Jun 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/arch/node/engines/commitment.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ maintaining the security of the underlying signing keys.
```juvix
CommitmentEngine : Type :=
Engine
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand Down
26 changes: 13 additions & 13 deletions docs/arch/node/engines/commitment_behaviour.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ CommitmentActionArguments : Type := List CommitmentActionArgument;
```juvix
CommitmentAction : Type :=
Action
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand All @@ -175,7 +175,7 @@ CommitmentActionArguments : Type := List CommitmentActionArgument;
```juvix
CommitmentActionInput : Type :=
ActionInput
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand Down Expand Up @@ -203,7 +203,7 @@ CommitmentActionArguments : Type := List CommitmentActionArgument;
```juvix
CommitmentActionExec : Type :=
ActionExec
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand Down Expand Up @@ -242,11 +242,11 @@ commitAction
case getEngineMsgFromTimestampedTrigger tt of {
| some emsg :=
case emsg of {
| EngineMsg.mk@{msg := Anoma.PreMsg.MsgCommitment (CommitmentMsg.Request request)} :=
| EngineMsg.mk@{msg := Anoma.Msg.Commitment (CommitmentMsg.Request request)} :=
let
signedData := Signer.sign
(CommitmentCfg.signer (EngineCfg.cfg cfg))
(CommitmentCfg.backend (EngineCfg.cfg cfg))
(CommitmentLocalCfg.signer (EngineCfg.cfg cfg))
(CommitmentLocalCfg.backend (EngineCfg.cfg cfg))
(RequestCommitment.data request);
responseMsg := ReplyCommitment.mkReplyCommitment@{
commitment := signedData;
Expand All @@ -259,7 +259,7 @@ commitAction
sender := getEngineIDFromEngineCfg cfg;
target := EngineMsg.sender emsg;
mailbox := some 0;
msg := Anoma.PreMsg.MsgCommitment (CommitmentMsg.Reply responseMsg)
msg := Anoma.Msg.Commitment (CommitmentMsg.Reply responseMsg)
}
];
timers := [];
Expand Down Expand Up @@ -292,7 +292,7 @@ commitActionLabel : CommitmentActionExec := ActionExec.Seq [ commitAction ];
```juvix
CommitmentGuard : Type :=
Guard
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand All @@ -311,7 +311,7 @@ commitActionLabel : CommitmentActionExec := ActionExec.Seq [ commitAction ];
```juvix
CommitmentGuardOutput : Type :=
GuardOutput
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand All @@ -328,7 +328,7 @@ commitActionLabel : CommitmentActionExec := ActionExec.Seq [ commitAction ];
```juvix
CommitmentGuardEval : Type :=
GuardEval
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand All @@ -348,12 +348,12 @@ Condition
```juvix
commitGuard
(tt : TimestampedTrigger CommitmentTimerHandle Anoma.Msg)
(cfg : EngineCfg CommitmentCfg)
(cfg : CommitmentCfg)
(env : CommitmentEnv)
: Option CommitmentGuardOutput :=
case getEngineMsgFromTimestampedTrigger tt of {
| some EngineMsg.mk@{
msg := Anoma.PreMsg.MsgCommitment (CommitmentMsg.Request _);
msg := Anoma.Msg.Commitment (CommitmentMsg.Request _);
} := some GuardOutput.mk@{
action := commitActionLabel;
args := [];
Expand All @@ -371,7 +371,7 @@ commitGuard
```juvix
CommitmentBehaviour : Type :=
EngineBehaviour
CommitmentCfg
CommitmentLocalCfg
CommitmentLocalState
CommitmentMailboxState
CommitmentTimerHandle
Expand Down
29 changes: 21 additions & 8 deletions docs/arch/node/engines/commitment_config.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ tags:
import prelude open;
import arch.node.engines.commitment_messages open;
import arch.system.identity.identity as Identity;
import arch.system.identity.identity as Identity;
import arch.node.types.engine open;
import arch.node.types.messages open;
import arch.node.types.identities open;
Expand All @@ -29,20 +30,20 @@ tags:

The commitment engine configuration contains static information for commitment engine instances, namely the signer and the backend.

## The Commitment Configuration
## The Commitment Local Configuration

The configuration of a Commitment Engine instance includes the identity's signing capabilities.
### `CommitmentLocalCfg`

### `CommitmentCfg`
The type for engine-specific local configuration.

<!-- --8<-- [start:CommitmentCfg] -->
<!-- --8<-- [start:CommitmentLocalCfg] -->
```juvix
type CommitmentCfg := mk@{
type CommitmentLocalCfg := mk@{
signer : Identity.Signer Backend Signable Commitment;
backend : Backend;
};
```
<!-- --8<-- [end:CommitmentCfg] -->
<!-- --8<-- [end:CommitmentLocalCfg] -->

???+ code "Arguments"

Expand All @@ -52,17 +53,29 @@ type CommitmentCfg := mk@{
`backend`:
: The backend to use for signing.

## The Commitment Configuration

### `CommitmentCfg`

<!-- --8<-- [start:CommitmentCfg] -->
```juvix
CommitmentCfg : Type :=
EngineCfg
CommitmentLocalCfg;
```
<!-- --8<-- [end:CommitmentCfg] -->

#### Instantiation

<!-- --8<-- [start:commitmentCfg] -->
```juvix extract-module-statements
module commitment_config_example;

commitmentCfg : EngineCfg CommitmentCfg :=
commitmentCfg : CommitmentCfg :=
EngineCfg.mk@{
node := PublicKey.Curve25519PubKey "0xabcd1234";
name := "commitment";
cfg := CommitmentCfg.mk@{
cfg := CommitmentLocalCfg.mk@{
signer := Identity.Signer.mkSigner@{
sign := \{_ x := Signature.Ed25519Signature "0xabcd1234"};
};
Expand Down
2 changes: 1 addition & 1 deletion docs/arch/node/engines/decryption.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ decryption keys.
```juvix
DecryptionEngine : Type :=
Engine
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand Down
26 changes: 13 additions & 13 deletions docs/arch/node/engines/decryption_behaviour.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ DecryptionActionArguments : Type := List DecryptionActionArgument;
```juvix
DecryptionAction : Type :=
Action
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand All @@ -185,7 +185,7 @@ DecryptionActionArguments : Type := List DecryptionActionArgument;
```juvix
DecryptionActionInput : Type :=
ActionInput
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand Down Expand Up @@ -215,7 +215,7 @@ DecryptionActionArguments : Type := List DecryptionActionArgument;
```juvix
DecryptionActionExec : Type :=
ActionExec
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand Down Expand Up @@ -254,12 +254,12 @@ decryptAction
case getEngineMsgFromTimestampedTrigger tt of {
| some emsg :=
case EngineMsg.msg emsg of {
| Anoma.PreMsg.MsgDecryption (DecryptionMsg.Request request) :=
| Anoma.Msg.Decryption (DecryptionMsg.Request request) :=
let
decryptedData :=
Decryptor.decrypt
(DecryptionCfg.decryptor (EngineCfg.cfg cfg))
(DecryptionCfg.backend (EngineCfg.cfg cfg))
(DecryptionLocalCfg.decryptor (EngineCfg.cfg cfg))
(DecryptionLocalCfg.backend (EngineCfg.cfg cfg))
(RequestDecryption.data request);
responseMsg := case decryptedData of {
| none := ReplyDecryption.mkReplyDecryption@{
Expand All @@ -278,7 +278,7 @@ decryptAction
sender := getEngineIDFromEngineCfg cfg;
target := EngineMsg.sender emsg;
mailbox := some 0;
msg := Anoma.PreMsg.MsgDecryption (DecryptionMsg.Reply responseMsg)
msg := Anoma.Msg.Decryption (DecryptionMsg.Reply responseMsg)
}
];
timers := [];
Expand Down Expand Up @@ -309,7 +309,7 @@ decryptActionLabel : DecryptionActionExec := ActionExec.Seq [ decryptAction ];
```juvix
DecryptionGuard : Type :=
Guard
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand All @@ -326,7 +326,7 @@ decryptActionLabel : DecryptionActionExec := ActionExec.Seq [ decryptAction ];
```juvix
DecryptionGuardOutput : Type :=
GuardOutput
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand All @@ -345,7 +345,7 @@ decryptActionLabel : DecryptionActionExec := ActionExec.Seq [ decryptAction ];
```juvix
DecryptionGuardEval : Type :=
GuardEval
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand All @@ -365,12 +365,12 @@ Condition
```juvix
decryptGuard
(tt : TimestampedTrigger DecryptionTimerHandle Anoma.Msg)
(cfg : EngineCfg DecryptionCfg)
(cfg : DecryptionCfg)
(env : DecryptionEnv)
: Option DecryptionGuardOutput :=
case getEngineMsgFromTimestampedTrigger tt of {
| some EngineMsg.mk@{
msg := Anoma.PreMsg.MsgDecryption (DecryptionMsg.Request _);
msg := Anoma.Msg.Decryption (DecryptionMsg.Request _);
} := some GuardOutput.mk@{
action := decryptActionLabel;
args := []
Expand All @@ -388,7 +388,7 @@ decryptGuard
```juvix
DecryptionBehaviour : Type :=
EngineBehaviour
DecryptionCfg
DecryptionLocalCfg
DecryptionLocalState
DecryptionMailboxState
DecryptionTimerHandle
Expand Down
31 changes: 23 additions & 8 deletions docs/arch/node/engines/decryption_config.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ tags:
import arch.node.types.engine open;
import arch.node.types.messages open;
import arch.system.identity.identity as Identity;
import arch.system.identity.identity as Identity;
import arch.node.types.identities open;
```

Expand All @@ -29,21 +30,23 @@ tags:

The decryption engine configuration contains static information for decryption engine instances.

## The Decryption Configuration
## The Decryption Local Configuration

The configuration of a Decryption Engine instance includes the identity's
decryption capabilities.

### `DecryptionCfg`
### `DecryptionLocalCfg`

<!-- --8<-- [start:DecryptionCfg] -->
The type for engine-specific local configuration.

<!-- --8<-- [start:DecryptionLocalCfg] -->
```juvix
type DecryptionCfg := mk@{
type DecryptionLocalCfg := mk@{
decryptor : Identity.Decryptor Backend Plaintext Ciphertext;
backend : Backend;
};
```
<!-- --8<-- [end:DecryptionCfg] -->
<!-- --8<-- [end:DecryptionLocalCfg] -->

???+ code "Arguments"

Expand All @@ -53,17 +56,29 @@ type DecryptionCfg := mk@{
`backend`:
: The backend to use for decryption.

### Instantiation
## The Decryption Configuration

### `DecryptionCfg`

<!-- --8<-- [start:DecryptionCfg] -->
```juvix
DecryptionCfg : Type :=
EngineCfg
DecryptionLocalCfg;
```
<!-- --8<-- [end:DecryptionCfg] -->

#### Instantiation

<!-- --8<-- [start:decryptionCfg] -->
```juvix extract-module-statements
module decryption_config_example;

decryptionCfg : EngineCfg DecryptionCfg :=
decryptionCfg : DecryptionCfg :=
EngineCfg.mk@{
node := PublicKey.Curve25519PubKey "0xabcd1234";
name := "decryption";
cfg := DecryptionCfg.mk@{
cfg := DecryptionLocalCfg.mk@{
decryptor := Identity.Decryptor.mkDecryptor@{
decrypt := \{_ x := some x};
};
Expand Down
2 changes: 1 addition & 1 deletion docs/arch/node/engines/encryption.juvix.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ recipient, but also to other identities with approved access rights.
```juvix
EncryptionEngine : Type :=
Engine
EncryptionCfg
EncryptionLocalCfg
EncryptionLocalState
EncryptionMailboxState
EncryptionTimerHandle
Expand Down
Loading
Loading