Skip to content

Commit 405f07a

Browse files
cong-orMr-Leshiyminikin
authored
feat(rust/immutable-ledger): block encoding decoding and validation (#67)
* feat(decode and encode block header): wip barebones * feat(block decoding): wip * feat(validators): block signatures * feat(validators): block signatures * feat(validators): block signatures * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * ci(pr name): housekeeping * ci(pr name): housekeeping * ci(pr name): housekeeping * ci(pr name): housekeeping * ci(pr name): housekeeping * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * feat(block validation): ledger * ci(lints): fix * ci(lints): fix * ci(lints): fix * ci(lints): fix * ci(lints): fix * ci(lints): fix * refactor(encode block): simpler api * refactor(encode block): simpler api * refactor(encode block): simpler api * refactor(encode block): simpler api * refactor(add block types and cddl tests): verifcation and refactor * refactor(add block types and cddl tests): verifcation and refactor * refactor(add block types and cddl tests): verifcation and refactor * refactor(rm redundant test): test * refactor(deny.toml): rustsec * refactor(deny.toml): rustsec * refactor(deny.toml): rustsec * Update rust/immutable-ledger/src/serialize.rs Co-authored-by: Alex Pozhylenkov <[email protected]> * Update rust/immutable-ledger/src/serialize.rs Co-authored-by: Alex Pozhylenkov <[email protected]> * refactor(agnostic signing algo and proptest): generic * refactor(agnostic signing algo and proptest): generic * refactor(agnostic signing algo and proptest): generic * refactor(agnostic signing algo and proptest): generic * refactor(agnostic signing algo and proptest): generic * ci --------- Co-authored-by: Alex Pozhylenkov <[email protected]> Co-authored-by: Oleksandr Prokhorenko <[email protected]>
1 parent 575a153 commit 405f07a

File tree

10 files changed

+954
-2
lines changed

10 files changed

+954
-2
lines changed

.github/workflows/semantic_pull_request.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
rust/c509-certificate
2020
rust/cardano-chain-follower
2121
rust/catalyst-voting
22+
rust/immutable-ledger
2223
rust/vote-tx-v1
2324
rust/vote-tx-v2
2425
rust/cbork

Earthfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ VERSION 0.8
33
IMPORT github.com/input-output-hk/catalyst-ci/earthly/mdlint:v3.2.23 AS mdlint-ci
44
IMPORT github.com/input-output-hk/catalyst-ci/earthly/cspell:v3.2.23 AS cspell-ci
55

6+
67
FROM debian:stable-slim
78

89
# check-markdown : markdown check using catalyst-ci.

docs/Earthfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ VERSION 0.8
22

33
IMPORT github.com/input-output-hk/catalyst-ci/earthly/docs:v3.2.23 AS docs-ci
44

5+
56
IMPORT .. AS repo
67

78
# Copy all the source we need to build the docs

rust/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ members = [
88
"cbork-abnf-parser",
99
"cbork-cddl-parser",
1010
"catalyst-voting",
11+
"catalyst-voting",
12+
"immutable-ledger",
1113
"vote-tx-v1",
1214
"vote-tx-v2",
1315
]

rust/Earthfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ COPY_SRC:
1313
catalyst-voting vote-tx-v1 vote-tx-v2 \
1414
cbork cbork-abnf-parser cbork-cddl-parser \
1515
hermes-ipfs \
16-
.
16+
immutable-ledger .
1717

1818
# builder : Set up our target toolchains, and copy our files.
1919
builder:
@@ -90,4 +90,4 @@ check-builder-src-cache:
9090
# local-ci-run: This step simulates the full CI run for local purposes only.
9191
local-ci-run:
9292
BUILD +check
93-
BUILD +build
93+
BUILD +build

rust/c509-certificate/Earthfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ VERSION 0.8
22

33
IMPORT github.com/input-output-hk/catalyst-ci/earthly/rust::v3.2.23 AS rust-ci
44

5+
56
IMPORT .. AS rust-local
67
IMPORT ../.. AS repo
78

rust/cbork/Earthfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ VERSION 0.8
22

33
IMPORT github.com/input-output-hk/catalyst-ci/earthly/rust::v3.2.23 AS rust-ci
44

5+
56
IMPORT .. AS rust-local
67

78
# Run build using the most efficient host tooling

rust/immutable-ledger/Cargo.toml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
[package]
2+
name = "immutable-ledger"
3+
version = "0.1.0"
4+
edition.workspace = true
5+
authors.workspace = true
6+
homepage.workspace = true
7+
repository.workspace = true
8+
license.workspace = true
9+
10+
[dependencies]
11+
ed25519-dalek = "2.1.1"
12+
anyhow = "1.0.86"
13+
minicbor = { version = "0.24", features = ["std"] }
14+
uuid = { version = "1.10.0", features = ["v4", "serde"] }
15+
ulid = { version = "1.1.3", features = ["serde", "uuid"] }
16+
hex = "0.4.3"
17+
blake2b_simd = "1.0.2"
18+
blake3 = "=0.1.3"
19+
proptest = { version = "1.5.0" }
20+
21+
[package.metadata.cargo-machete]
22+
ignored = ["proptest"]
23+
24+
25+
26+
[lints]
27+
workspace = true
28+
29+
30+
[dev-dependencies]
31+
test-strategy = "0.4.0"
32+
33+

rust/immutable-ledger/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//! Block Serialization
2+
//!
3+
//! Facilitates block serialization and validation for immutable ledger
4+
//!
5+
//! Spec: `<https://input-output-hk.github.io/catalyst-voices/architecture/08_concepts/immutable_ledger/ledger>`
6+
7+
/// Block encoding decoding and validation
8+
pub mod serialize;

0 commit comments

Comments
 (0)