diff --git a/coordinator/README.md b/coordinator/README.md index 27552a5a..88d2ef63 100644 --- a/coordinator/README.md +++ b/coordinator/README.md @@ -1,19 +1,29 @@ # Coordinator -- [`tendermint`](/tributary/tendermint) is an implementation of the Tendermint BFT algorithm. +- [`tendermint`](/tributary/tendermint) is an implementation of the Tendermint + BFT algorithm. -- [`tributary`](./tributary) is a micro-blockchain framework. Instead of a producing a blockchain - daemon like the Polkadot SDK or Cosmos SDK intend to, `tributary` is solely intended to be an - embedded asynchronous task within an application. +- [`tributary-sdk`](./tributary-sdk) is a micro-blockchain framework. Instead + of a producing a blockchain daemon like the Polkadot SDK or Cosmos SDK intend + to, `tributary` is solely intended to be an embedded asynchronous task within + an application. - The Serai coordinator spawns a tributary for each validator set it's coordinating. This allows - the participating validators to communicate in a byzantine-fault-tolerant manner (relying on - Tendermint for consensus). + The Serai coordinator spawns a tributary for each validator set it's + coordinating. This allows the participating validators to communicate in a + byzantine-fault-tolerant manner (relying on Tendermint for consensus). -- [`cosign`](./cosign) contains a library to decide which Substrate blocks should be cosigned and - to evaluate cosigns. +- [`cosign`](./cosign) contains a library to decide which Substrate blocks + should be cosigned and to evaluate cosigns. -- [`substrate`](./substrate) contains a library to index the Substrate blockchain and handle its - events. +- [`substrate`](./substrate) contains a library to index the Substrate + blockchain and handle its events. + +- [`tributary`](./tributary) is our instantiation of the Tributary SDK for the + Serai processor. It includes the `Transaction` definition and deferred + execution logic. + +- [`p2p`](./p2p) is our abstract P2P API to service the Coordinator. + +- [`libp2p`](./p2p/libp2p) is our libp2p-backed implementation of the P2P API. - [`src`](./src) contains the source code for the Coordinator binary itself. diff --git a/coordinator/tributary-sdk/Cargo.toml b/coordinator/tributary-sdk/Cargo.toml index be72ff0c..2e92c03d 100644 --- a/coordinator/tributary-sdk/Cargo.toml +++ b/coordinator/tributary-sdk/Cargo.toml @@ -25,20 +25,20 @@ rand = { version = "0.8", default-features = false, features = ["std"] } rand_chacha = { version = "0.3", default-features = false, features = ["std"] } blake2 = { version = "0.10", default-features = false, features = ["std"] } -transcript = { package = "flexible-transcript", path = "../../crypto/transcript", default-features = false, features = ["std", "recommended"] } +transcript = { package = "flexible-transcript", path = "../../crypto/transcript", version = "0.3", default-features = false, features = ["std", "recommended"] } -ciphersuite = { package = "ciphersuite", path = "../../crypto/ciphersuite", default-features = false, features = ["std", "ristretto"] } -schnorr = { package = "schnorr-signatures", path = "../../crypto/schnorr", default-features = false, features = ["std"] } +ciphersuite = { package = "ciphersuite", path = "../../crypto/ciphersuite", version = "0.4", default-features = false, features = ["std", "ristretto"] } +schnorr = { package = "schnorr-signatures", path = "../../crypto/schnorr", version = "0.5", default-features = false, features = ["std"] } hex = { version = "0.4", default-features = false, features = ["std"] } log = { version = "0.4", default-features = false, features = ["std"] } -serai-db = { path = "../../common/db" } +serai-db = { path = "../../common/db", version = "0.1" } scale = { package = "parity-scale-codec", version = "3", default-features = false, features = ["std", "derive"] } futures-util = { version = "0.3", default-features = false, features = ["std", "sink", "channel"] } futures-channel = { version = "0.3", default-features = false, features = ["std", "sink"] } -tendermint = { package = "tendermint-machine", path = "./tendermint" } +tendermint = { package = "tendermint-machine", path = "./tendermint", version = "0.2" } tokio = { version = "1", default-features = false, features = ["sync", "time", "rt"] }