Skip to content
Open
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d31d71e
doc: post-confirmations.
l-monninger Mar 6, 2025
0d2a374
feat: post-confirmations migration.
l-monninger Mar 7, 2025
e1729e8
rename to pcp and fcp
apenzk Mar 7, 2025
15fd8b2
spelling
apenzk Mar 7, 2025
726dc7d
edits and postconfirmation name
apenzk Mar 18, 2025
6de9ab8
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 18, 2025
cc2008f
init
apenzk Mar 18, 2025
6260565
updates directory name
apenzk Mar 18, 2025
5a2e41f
Merge branch 'l-monninger/ffs-migration' into ffs-client/post-commitment
apenzk Mar 18, 2025
3ceb48e
prepare pcp
apenzk Mar 18, 2025
08ddc7b
mcr to pcp name switch
apenzk Mar 18, 2025
8f59fd1
Merge branch 'l-monninger/ffs-migration' into ffs-client/post-commitment
apenzk Mar 18, 2025
40d8617
path towards client interaction
apenzk Mar 18, 2025
a2b5243
two remaining errors in mod.rs
apenzk Mar 18, 2025
c9dbf5e
fix errors
apenzk Mar 18, 2025
13b8daa
replace dummy commitment with some initial params and structs
apenzk Mar 18, 2025
8ac58b5
separate functions to improve code tidyness
apenzk Mar 18, 2025
a1f6f02
fix warnings
apenzk Mar 19, 2025
48dcd23
Merge pull request #21 from movementlabsxyz/ffs-client/post-commitment
apenzk Mar 19, 2025
ca725e5
move contracts to dlu
apenzk Mar 19, 2025
feadaaa
edit
apenzk Mar 19, 2025
c922861
forge test
apenzk Mar 20, 2025
4bd93ed
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 20, 2025
ff20782
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 20, 2025
e97d78b
remove redundant files
apenzk Mar 20, 2025
fa0d955
Merge branch 'feat/pcp-adds-content' into l-monninger/ffs-migration
apenzk Mar 20, 2025
a2a62c6
spellright
apenzk Mar 20, 2025
6f066bf
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 21, 2025
2841263
update abis
apenzk Mar 21, 2025
2897679
update abis
apenzk Mar 21, 2025
db94acf
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 21, 2025
0ad2b7d
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 21, 2025
11e844e
edits
apenzk Mar 21, 2025
5e56553
cargo
apenzk Mar 21, 2025
2440815
Merge branch 'main' into l-monninger/ffs-migration
apenzk Mar 21, 2025
c63ac3d
align with main
apenzk Mar 21, 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
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"stm32-for-vscode.openOCDPath": false,
"stm32-for-vscode.armToolchainPath": false,
"spellright.userDictionary": "${workspaceFolder}/.vscode/spellright.dict"
}
13 changes: 13 additions & 0 deletions .vscode/spellright.dict
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Aptos
Changelog
Fastconfirmation
Fastconfirmations
Merkle
multisig
onchain
preimage
postconfirm
postconfirmed
timelock
timelocks
trustlessness
112 changes: 111 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,31 @@ mcr-network-client = { path = "network/mcr/cli/client" }
mcr-network-coordinator = { path = "network/mcr/cli/coordinator" }
mcr-network = { path = "network/mcr/cli/network" }

## pcp
### protocol
pcp-types = { path = "protocol/pcp/util/types" }
pcp-config = { path = "protocol/pcp/util/config" }
pcp-protocol-client-core-util = { path = "protocol/pcp/clients/util" }
pcp-protocol-client-core-eth = { path = "protocol/pcp/clients/eth" }
pcp-protocol-client-core-mock = { path = "protocol/pcp/clients/mock" }
pcp-protocol-client = { path = "protocol/pcp/cli/client" }
pcp-protocol = { path = "protocol/pcp/cli"}
### network
pcp-network-client = { path = "network/pcp/cli/client" }
pcp-network-coordinator = { path = "network/pcp/cli/coordinator" }
pcp-network = { path = "network/pcp/cli/network" }

# util
secure-signer-eth = { path = "util/signing/eth" }
ffs-environment = { path = "util/environment" }

# Movement dependencies
dot-movement = { git = "https://github.com/movementlabsxyz/movement.git", branch = "main" }
movement-types = { git = "https://github.com/movementlabsxyz/movement.git", branch = "main" }

hex = "0.4"
sha3 = "0.10"

[workspace.lints.clippy]
debug_assert_with_mut_call = "deny"
inefficient_to_string = "deny"
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ f ------ | 5e771e3e47 |

> FFS, just take a vote.

Movement Labs' Fast Finality Settlement is a proof of stake settlement system.
Movement Labs' Fast Finality Settlement is a proof of stake settlement system.

## Getting started

We're working on getting this into a user-ready state. Check back soon!

## Contributing
Expand All @@ -28,14 +29,15 @@ We're working on getting this into a user-ready state. Check back soon!
Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for contribution guidelines.

## Organization

There are five subdirectories which progressively build on one another for node logic.

1. [`util`](./util): contains utility logic mainly reused in [`protocol`](./protocol).
2. [`protocol`](./protocol): contains implementations of the protocol logic.
2. [`protocol`](./protocol): contains implementations of the protocol logic.
3. [`node`](./node): contains single-process runnable binaries that aggregate the protocol logic.
4. [`network`](./network): contains logic for running multiple nodes in a network.
5. [`sdk`](./sdk): contains logic for interacting nodes and networks.

There are several other subdirectories of note:

- [`spec`](./spec): contains formal verification of FFS protocols.
- [`spec`](./spec): contains formal verification of FFS protocols.
3 changes: 2 additions & 1 deletion node/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# `node`
The FFS Node is an independent service which is prepared to manage a fast-finality settlement connection for a given user.

The FFS Node is an independent service which is prepared to manage a fast-finality settlement connection for a given user.
10 changes: 6 additions & 4 deletions protocol/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# `protocol-units`
`protocol-units` are used to collect runnable and composable units for interacting with the `ffs` protocol. We store contracts within protocol units, for example.

`protocol-units` are used to collect runnable and composable units for interacting with the `ffs` protocol. We store contracts within protocol units, for example.

## Contents
- **[`mcr`](./mcr/)**: the `MCR` implementation of `ffs` provided prior to the specification of the `fast-confirmations` and `post-confirmations` protocols. It is maintained for legacy purposes.
- **[`pcp`](./pcp/)**: the Postconfirmations sub-protocol implementation for `ffs`.
- **[`fcp`](./fast-confirmations/)**: the fastconfirmations sub-protocol implementation for `ffs`.

- **[`mcr`](./mcr/)**: the `MCR` implementation of `ffs` provided prior to the specification of the `fastconfirmations` and `postconfirmations` protocols. It is maintained for legacy purposes.
- **[`pcp`](./pcp/)**: the Postconfirmations sub-protocol implementation for `ffs`.
- **[`fcp`](./fastconfirmations/)**: the fastconfirmations sub-protocol implementation for `ffs`.
- **[`ffs`](./ffs/)**: the full `ffs` protocol implementation.
1 change: 1 addition & 0 deletions protocol/mcr/cli/client/abis/MCR.json

Large diffs are not rendered by default.

Loading