Skip to content

Commit c69df37

Browse files
authored
Merge pull request #19 from movementlabsxyz/l-monninger/ffs-client-structuring
FFS CLI Structuring
2 parents 82ad5ae + 68eb208 commit c69df37

File tree

1,468 files changed

+1655
-5002
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,468 files changed

+1655
-5002
lines changed

Cargo.lock

Lines changed: 479 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,41 @@
33
resolver = "2"
44

55
members = [
6-
"protocol-units/mcr/util/*",
7-
"protocol-units/mcr/clients/*",
8-
"protocol-units/mcr/client",
9-
"protocol-units/mcr/manager",
10-
"protocol-units/post-confirmations/*",
11-
"protocol-units/fast-confirmations/*",
12-
"protocol-units/ffs/*",
6+
7+
# mcr
8+
"protocol/mcr/util/*",
9+
"protocol/mcr/clients/*",
10+
"protocol/mcr/client",
11+
"protocol/mcr/manager",
12+
"protocol/mcr/cli/*",
13+
14+
# pcp
15+
## protocol
16+
"protocol/pcp/cli/*",
17+
## node
18+
"node/pcp/cli/*",
19+
## network
20+
"network/pcp/cli/*",
21+
22+
# fcp
23+
## protocol
24+
"protocol/fcp/cli/*",
25+
## node
26+
"node/fcp/cli/*",
27+
## network
28+
"network/fcp/cli/*",
29+
30+
# ffs
31+
## protocol
32+
"protocol/ffs/cli/*",
33+
## node
34+
"node/ffs/cli/*",
35+
## network
36+
"network/ffs/cli/*",
37+
## sdk
38+
"sdk/cli/*",
39+
40+
# util
1341
"util/signing/eth",
1442
"util/environment",
1543
]
@@ -55,6 +83,8 @@ alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy.git", rev = "833
5583
anyhow = "1.0"
5684
async-stream = "0.3.0"
5785
async-trait = "0.1.71"
86+
clap = { version = "4.4.10", features = ["derive"] }
87+
dotenv = "0.15.0"
5888
futures = "0.3.17"
5989
serde = "1.0"
6090
serde_json = "1.0"
@@ -74,10 +104,19 @@ secure-signer-aws-kms = { git = "https://github.com/movementlabsxyz/secure-signi
74104

75105
# internal
76106
## mcr
77-
mcr-types = { path = "protocol-units/mcr/util/types" }
78-
mcr-config = { path = "protocol-units/mcr/util/config" }
79-
mcr-client-util = { path = "protocol-units/mcr/clients/util" }
80-
mcr-settlement-client = { path = "protocol-units/mcr/client" }
107+
### protocol
108+
mcr-types = { path = "protocol/mcr/util/types" }
109+
mcr-config = { path = "protocol/mcr/util/config" }
110+
mcr-client-util = { path = "protocol/mcr/clients/util" }
111+
mcr-settlement-client = { path = "protocol/mcr/client" }
112+
mcr-protocol-client = { path = "protocol/mcr/cli/client" }
113+
mcr-protocol = { path = "protocol/mcr/cli"}
114+
### network
115+
mcr-network-client = { path = "network/mcr/cli/client" }
116+
mcr-network-coordinator = { path = "network/mcr/cli/coordinator" }
117+
mcr-network = { path = "network/mcr/cli/network" }
118+
119+
# util
81120
secure-signing-eth = { path = "util/signing/eth" }
82121
ffs-environment = { path = "util/environment" }
83122

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,16 @@ We're working on getting this into a user-ready state. Check back soon!
2626
| [Features & Bugs](https://github.com/movementlabsxyz/ffs/issues?q=is%3Aissue%20state%3Aopen%20label%3Afeature%2Cbug%20label%3Apriority%3Aurgent%2Cpriority%3Ahigh) | High-priority `feature` and `bug` issues. |
2727

2828
Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for contribution guidelines.
29+
30+
## Organization
31+
There are five subdirectories which progressively build on one another for node logic.
32+
33+
1. [`util`](./util): contains utility logic mainly reused in [`protocol-units`](./protocol-units).
34+
2. [`protocol`](./protocol): contains implementations of the protocol logic.
35+
3. [`node`](./node): contains single-process runnable binaries that aggregate the protocol logic.
36+
4. [`network`](./network): contains logic for running multiple nodes in a network.
37+
5. [`sdk`](./sdk): contains logic for interacting nodes and networks.
38+
39+
There are several other subdirectories of note:
40+
41+
- [`spec`](./spec): contains formal verification of FFS protocols.

network/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Network
2+
The network directory is used for storing logic that allows for the provisioning of MCR networks. This includes local networks, remote networks and their IaC, and all supported variations.

network/fcp/cli/client/Cargo.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[package]
2+
name = "fcp-network-client"
3+
version = { workspace = true }
4+
edition = { workspace = true }
5+
license = { workspace = true }
6+
authors = { workspace = true }
7+
homepage = { workspace = true }
8+
publish = { workspace = true }
9+
rust-version = { workspace = true }
10+
11+
[dependencies]
12+
tokio = { workspace = true }
13+
serde = { workspace = true, features = ["derive"] }
14+
clap = { workspace = true}
15+
dotenv = { workspace = true }
16+
anyhow = { workspace = true }
17+
18+
[lints]
19+
workspace = true
File renamed without changes.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[package]
2+
name = "fcp-network-coordinator"
3+
version = { workspace = true }
4+
edition = { workspace = true }
5+
license = { workspace = true }
6+
authors = { workspace = true }
7+
homepage = { workspace = true }
8+
publish = { workspace = true }
9+
rust-version = { workspace = true }
10+
11+
[dependencies]
12+
tokio = { workspace = true }
13+
serde = { workspace = true, features = ["derive"] }
14+
clap = { workspace = true}
15+
dotenv = { workspace = true }
16+
anyhow = { workspace = true }
17+
18+
[lints]
19+
workspace = true
File renamed without changes.

network/fcp/cli/network/Cargo.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[package]
2+
name = "fcp-network"
3+
version = { workspace = true }
4+
edition = { workspace = true }
5+
license = { workspace = true }
6+
authors = { workspace = true }
7+
homepage = { workspace = true }
8+
publish = { workspace = true }
9+
rust-version = { workspace = true }
10+
11+
[dependencies]
12+
tokio = { workspace = true }
13+
serde = { workspace = true, features = ["derive"] }
14+
clap = { workspace = true}
15+
dotenv = { workspace = true }
16+
anyhow = { workspace = true }
17+
18+
[lints]
19+
workspace = true

0 commit comments

Comments
 (0)