Releases: commonwarexyz/monorepo
Releases · commonwarexyz/monorepo
v0.0.62
Changes
- [aggregation] Fix Restart Stall by @patrick-ogrady in #1566
- [cryptography] Mandate
Hasher
implementations to beDefault
by @clabby in #1564 - [storage/cache] Add
.first()
Helper by @patrick-ogrady in #1569 - [storage/journal] improve consistency in journal read/get error handling by @roberto-bayardo in #1565
- [utils] Add
Closed
Helper by @patrick-ogrady in #1570 - Remove unnecessary clone() in wire message test by @eeemmmmmm in #1518
- [storage] prune dbs used in init benchmarks by @roberto-bayardo in #1576
- [release] v0.0.62 by @patrick-ogrady in #1575
- [ci] Fix publishing error by @patrick-ogrady in #1579
New Contributors
- @eeemmmmmm made their first contribution in #1518
Full Changelog: v0.0.61...v0.0.62
Stats
.github/workflows/fast.yml | 9 --
Cargo.lock | 56 +++----
Cargo.toml | 34 ++--
broadcast/Cargo.toml | 8 +-
codec/Cargo.toml | 8 +-
codec/fuzz/Cargo.toml | 5 +-
coding/Cargo.toml | 8 +-
coding/fuzz/Cargo.toml | 5 +-
collector/Cargo.toml | 8 +-
consensus/Cargo.toml | 8 +-
consensus/src/aggregation/engine.rs | 49 ++++--
consensus/src/aggregation/mocks/application.rs | 29 ++--
consensus/src/aggregation/mod.rs | 205 +++++++++++++++++++++++++
cryptography/Cargo.toml | 8 +-
cryptography/fuzz/Cargo.toml | 5 +-
cryptography/src/blake3/mod.rs | 6 -
cryptography/src/lib.rs | 8 +-
cryptography/src/sha256/mod.rs | 14 +-
deployer/Cargo.toml | 8 +-
examples/bridge/Cargo.toml | 8 +-
examples/chat/Cargo.toml | 8 +-
examples/estimator/Cargo.toml | 8 +-
examples/flood/Cargo.toml | 8 +-
examples/log/Cargo.toml | 8 +-
examples/sync/Cargo.toml | 8 +-
examples/vrf/Cargo.toml | 8 +-
macros/Cargo.toml | 8 +-
p2p/Cargo.toml | 8 +-
resolver/Cargo.toml | 8 +-
resolver/src/p2p/wire.rs | 2 +-
runtime/Cargo.toml | 8 +-
runtime/fuzz/Cargo.toml | 5 +-
scripts/bump_versions.sh | 58 -------
storage/Cargo.toml | 8 +-
storage/fuzz/Cargo.toml | 5 +-
storage/src/adb/any/variable/mod.rs | 16 +-
storage/src/adb/any/variable/sync.rs | 117 ++++++--------
storage/src/adb/benches/current_init.rs | 1 +
storage/src/adb/benches/fixed_init.rs | 1 +
storage/src/adb/benches/variable_init.rs | 1 +
storage/src/adb/immutable/mod.rs | 10 +-
storage/src/adb/keyless.rs | 30 +---
storage/src/archive/prunable/storage.rs | 6 +-
storage/src/cache/mod.rs | 10 +-
storage/src/cache/storage.rs | 8 +-
storage/src/freezer/storage.rs | 14 +-
storage/src/journal/fixed.rs | 29 ++--
storage/src/journal/mod.rs | 6 +-
storage/src/journal/variable.rs | 38 ++---
storage/src/store/benches/restart.rs | 1 +
storage/src/store/mod.rs | 8 +-
storage/src/store/operation.rs | 10 ++
stream/Cargo.toml | 8 +-
stream/fuzz/Cargo.toml | 5 +-
utils/Cargo.toml | 8 +-
utils/fuzz/Cargo.toml | 5 +-
utils/src/futures.rs | 111 ++++++++++++-
57 files changed, 671 insertions(+), 419 deletions(-)
v0.0.61
Changes
- [codec] Impl
Encode
for&[T: Encode]
by @clabby in #1513 - [storage] fix rewind bugs by @roberto-bayardo in #1521
- fix: correct typo by @viktorking7 in #1525
- [commonware-utils] Add
rand/std_rng
tostd
feature by @danlaine in #1529 - [docs] Point to YouTube for Podcasts by @patrick-ogrady in #1537
- Update Minimmit spec by @dnkolegov-ar in #1456
[commonware-resolver]
enablemocks
feature for unit tests by @danlaine in #1527- [cryptography] document non-uniform JF DKG by @cronokirby in #1541
- Transcript API by @cronokirby in #1501
- [cryptography] Use CryptoRng consistently by @cronokirby in #1542
- [storage/adb/fixed] Lightweight commit & new approach to pruning by @roberto-bayardo in #1539
- [storage/adb/bench] benchmarks for generating various adbs by @roberto-bayardo in #1546
- Fix fuzz targets and related functions by @dnkolegov-ar in #1536
- Update quint version to 0.27 by @dnkolegov-ar in #1503
- [cryptography/bls12381/tle] Add
Hash
toCiphertext
by @patrick-ogrady in #1556 - [storage] lightweight commit for store, adb::immutable, adb::keyless, and adb::any::fixed by @roberto-bayardo in #1523
- [collector] Minimal Panic Fix by @patrick-ogrady in #1560
- [release] v0.0.61 by @patrick-ogrady in #1561
New Contributors
- @viktorking7 made their first contribution in #1525
Full Changelog: v0.0.60...v0.0.61
Stats
.github/workflows/quint.yml | 2 +-
AGENTS.md | 31 +-
Cargo.lock | 69 +-
Cargo.toml | 30 +-
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/types/vec.rs | 45 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
collector/Cargo.toml | 3 +-
collector/src/lib.rs | 12 +-
collector/src/p2p/engine.rs | 12 +-
collector/src/p2p/ingress.rs | 8 +-
collector/src/p2p/mocks/mod.rs | 1 +
collector/src/p2p/mocks/sender.rs | 42 +
collector/src/p2p/mod.rs | 119 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/engine.rs | 2 +-
consensus/src/ordered_broadcast/engine.rs | 2 +-
consensus/src/simplex/actors/voter/actor.rs | 2 +-
.../src/threshold_simplex/actors/voter/actor.rs | 2 +-
cryptography/Cargo.toml | 5 +-
cryptography/fuzz/Cargo.toml | 3 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 26 +-
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 3 +
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 53 +-
cryptography/src/blake3/mod.rs | 4 +-
cryptography/src/bls12381/dkg/dealer.rs | 4 +-
cryptography/src/bls12381/dkg/mod.rs | 22 +-
cryptography/src/bls12381/dkg/ops.rs | 4 +-
cryptography/src/bls12381/primitives/group.rs | 4 +-
cryptography/src/bls12381/primitives/ops.rs | 4 +-
cryptography/src/bls12381/primitives/poly.rs | 4 +-
cryptography/src/bls12381/primitives/variant.rs | 8 +-
cryptography/src/bls12381/scheme.rs | 6 +-
cryptography/src/bls12381/tle.rs | 6 +-
cryptography/src/ed25519/scheme.rs | 7 +-
cryptography/src/lib.rs | 10 +-
cryptography/src/secp256r1/scheme.rs | 4 +-
cryptography/src/sha256/mod.rs | 4 +-
cryptography/src/transcript.rs | 367 +++++
deployer/Cargo.toml | 2 +-
docs/shared.js | 2 +-
examples/bridge/Cargo.toml | 2 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/src/bin/server.rs | 3 +
examples/sync/src/databases/any.rs | 5 +-
examples/sync/src/databases/immutable.rs | 4 +-
examples/sync/src/databases/mod.rs | 4 +-
examples/vrf/Cargo.toml | 3 +-
examples/vrf/src/handlers/contributor.rs | 6 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/lib.rs | 4 +-
pipeline/minimmit/minimmit.md | 40 +-
pipeline/minimmit/quint/defs.qnt | 2 +-
.../quint/{main_n6f0.qnt => main_n6f1b0.qnt} | 5 +-
.../quint/{main_n6f1.qnt => main_n6f1b1.qnt} | 3 +-
.../quint/{main_n6f2.qnt => main_n6f2b2.qnt} | 3 +-
.../quint/{main_n7f1.qnt => main_n7f1b1.qnt} | 3 +-
pipeline/minimmit/quint/makefile | 33 +-
pipeline/minimmit/quint/option.qnt | 2 +-
pipeline/minimmit/quint/replica.qnt | 448 +++---
pipeline/minimmit/quint/scripts/invariant.sh | 2 +-
pipeline/minimmit/quint/scripts/smoke.sh | 50 +
pipeline/minimmit/quint/tests/tests_n6f0.qnt | 851 -----------
pipeline/minimmit/quint/tests/tests_n6f1.qnt | 174 ---
pipeline/minimmit/quint/tests/tests_n6f1b0.qnt | 1600 ++++++++++++++++++++
pipeline/minimmit/quint/tests/tests_n6f1b1.qnt | 175 +++
pipeline/minimmit/quint/tests/tests_n7f1.qnt | 176 ---
pipeline/minimmit/quint/tests/tests_n7f1b1.qnt | 175 +++
pipeline/minimmit/quint/twins_n6f1b1.qnt | 41 +
pipeline/minimmit/quint/types.qnt | 40 +-
resolver/Cargo.toml | 8 +-
runtime/Cargo.toml | 2 +-
runtime/fuzz/Cargo.toml | 2 +-
storage/Cargo.toml | 2 +-
storage/fuzz/Cargo.toml | 2 +-
.../fuzz/fuzz_targets/adb_current_operations.rs | 59 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 23 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 25 +-
storage/fuzz/fuzz_targets/journal_operations.rs | 18 +-
storage/src/adb/any/fixed/mod.rs | 711 ++++-----
storage/src/adb/any/fixed/sync.rs | 225 +--
storage/src/adb/any/variable/mod.rs | 464 +++---
storage/src/adb/any/variable/sync.rs | 23 +-
storage/src/adb/benches/bench.rs | 8 +-
storage/src/adb/benches/current_init.rs | 3 +-
storage/src/adb/benches/fixed_generate.rs | 131 ++
storage/src/adb/benches/fixed_init.rs | 3 +-
storage/src/adb/benches/keyless_generate.rs | 110 ++
storage/src/adb/benches/variable_generate.rs | 138 ++
storage/src/adb/current.rs | 380 ++---
storage/src/adb/immutable/mod.rs | 121 +-
storage/src/adb/immutable/sync/mod.rs | 2 +-
storage/src/adb/keyless.rs | 841 ++++++++--
storage/src/adb/mod.rs | 37 +
storage/src/adb/sync/resolver.rs | 8 +-
storage/src/archive/prunable/storage.rs | 2 +-
storage/src/cache/storage.rs | 2 +-
storage/src/freezer/storage.rs | 1 +
storage/src/journal/fixed.rs | 52 +-
storage/src/journal/variable.rs | 156 +-
storage/src/mmr/journaled.rs | 54 +-
storage/src/mmr/mem.rs | 12 +-
storage/src/store/mod.rs | 174 ++-
stream/Cargo.toml | 2 +-
stream/fuzz/Cargo.toml | 2 +-
utils/Cargo.toml | 4 +-
utils/fuzz/Cargo.toml | 2 +-
utils/fuzz/fuzz_targets/bitvec.rs | 169 ++-
utils/fuzz/fuzz_targets/lib_functions.rs | 6 +-
utils/fuzz/fuzz_targets/priority_set.rs | 38 +-
utils/src/lib.rs | 35 +-
119 files changed, 5707 insertions(+), 3164 deletions(-)
v0.0.60
Changes
- [storage] add get_loc to all stores by @roberto-bayardo in #1459
- [mmr] Add
init_from_pinned_nodes
by @danlaine in #1462 - [Cargo.toml] add
stream
! by @patrick-ogrady in #1464 - [docs] Add logo + favicon to Rust docs by @clabby in #1463
- [storage/adb] Support Multi-Proofs by @patrick-ogrady in #1470
- [runtime/iouring] account for linked timeout op space in the SQ by @andresilva in #1465
- [runtime/util/buffer] use fetch_add instead of write lock for unique id assignment by @roberto-bayardo in #1471
- [runtime/{network,storage}] enable iouring single issuer and defer task run by @andresilva in #1466
- [runtime/iouring] use submit_with_args for bounded waits by @andresilva in #1467
- [codec] support no_std codec builds by @roberto-bayardo in #1477
- [utils] no_std for commonware-utils by @roberto-bayardo in #1479
- [runtime] fix flaky process metrics test by @andresilva in #1476
- [runtime] Add support for hierarchical tasks by @andresilva in #1361
- [consensus] Remove compression option by @BrendanChou in #1488
- [deployer] Use
jemalloc2
+ Remove (Janky)memleak
by @patrick-ogrady in #1489 - [stream] link listener response to dialer hello by @cronokirby in #1485
- Improve coverage for utils fuzz tests - Part 2 by @dnkolegov-ar in #1492
- [cryptography] support no_std build for commonware-cryptography by @roberto-bayardo in #1486
- [cryptography] finish renaming scheme -> signer by @cronokirby in #1494
- [storage/adb] Multi-Proof Helpers by @patrick-ogrady in #1497
- [
utils::BitVec
] Improve clarity ofBitVec::mask_over_first_n_bits
by @BrendanChou in #1454 - [storage/adb] Use create, not generate/construct by @patrick-ogrady in #1502
- [consensus] Test that non-active validators can run consensus engines by @BrendanChou in #1500
- [storage] Introduce
cache
by @patrick-ogrady in #1506 - [p2p/simulated, estimator] simulate bandwidth and message size constraints by @andresilva in #1452
- [consensus] Fix Types by @patrick-ogrady in #1508
- [release] v0.0.60 by @patrick-ogrady in #1512
New Contributors
- @cronokirby made their first contribution in #1485
Full Changelog: v0.0.59...v0.0.60
Stats
.github/workflows/fast.yml | 21 +
AGENTS.md | 16 +-
Cargo.lock | 83 +-
Cargo.toml | 45 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/mocks.rs | 6 +-
broadcast/src/buffered/mod.rs | 4 +-
broadcast/src/lib.rs | 5 +
codec/Cargo.toml | 6 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/config.rs | 4 +-
codec/src/error.rs | 6 +-
codec/src/lib.rs | 30 +-
codec/src/types/btree_map.rs | 263 ++++
codec/src/types/btree_set.rs | 212 +++
codec/src/types/bytes.rs | 2 +
codec/src/types/hash_map.rs | 398 ++++++
codec/src/types/{set.rs => hash_set.rs} | 267 +---
codec/src/types/map.rs | 780 -----------
codec/src/types/mod.rs | 9 +-
codec/src/types/primitives.rs | 6 +-
codec/src/types/vec.rs | 6 +-
codec/src/varint.rs | 16 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
coding/src/lib.rs | 5 +
collector/Cargo.toml | 2 +-
collector/src/lib.rs | 5 +
collector/src/p2p/mocks/types.rs | 10 +-
collector/src/p2p/mod.rs | 8 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/mocks/application.rs | 8 +-
consensus/src/aggregation/mod.rs | 12 +-
consensus/src/aggregation/types.rs | 18 +-
consensus/src/lib.rs | 5 +
consensus/src/marshal/ingress/handler.rs | 27 +-
consensus/src/marshal/mod.rs | 64 +-
consensus/src/ordered_broadcast/ack_manager.rs | 70 +-
consensus/src/ordered_broadcast/mod.rs | 28 +-
consensus/src/ordered_broadcast/tip_manager.rs | 6 +-
consensus/src/simplex/actors/voter/actor.rs | 16 +-
consensus/src/simplex/actors/voter/mod.rs | 39 +-
consensus/src/simplex/config.rs | 3 -
consensus/src/simplex/engine.rs | 1 -
consensus/src/simplex/mod.rs | 204 ++-
.../src/threshold_simplex/actors/voter/actor.rs | 13 +-
.../src/threshold_simplex/actors/voter/mod.rs | 52 +-
consensus/src/threshold_simplex/config.rs | 3 -
consensus/src/threshold_simplex/engine.rs | 1 -
.../src/threshold_simplex/mocks/supervisor.rs | 12 +-
consensus/src/threshold_simplex/mod.rs | 315 ++++-
cryptography/Cargo.toml | 13 +-
cryptography/fuzz/Cargo.toml | 2 +-
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 7 +-
cryptography/src/blake3/mod.rs | 21 +-
cryptography/src/bloomfilter.rs | 9 +-
cryptography/src/bls12381/mod.rs | 4 +
cryptography/src/bls12381/primitives/group.rs | 38 +-
cryptography/src/bls12381/primitives/ops.rs | 119 +-
cryptography/src/bls12381/primitives/poly.rs | 13 +-
cryptography/src/bls12381/primitives/variant.rs | 11 +-
cryptography/src/bls12381/scheme.rs | 41 +-
cryptography/src/bls12381/tle.rs | 2 +
cryptography/src/ed25519/mod.rs | 6 +-
cryptography/src/ed25519/scheme.rs | 49 +-
cryptography/src/lib.rs | 25 +-
cryptography/src/secp256r1/mod.rs | 2 +-
cryptography/src/secp256r1/scheme.rs | 58 +-
cryptography/src/sha256/mod.rs | 26 +-
deployer/Cargo.toml | 2 +-
deployer/src/ec2/aws.rs | 14 +-
deployer/src/ec2/create.rs | 20 -
deployer/src/ec2/destroy.rs | 8 +-
deployer/src/ec2/mod.rs | 14 +-
deployer/src/ec2/services.rs | 335 +----
deployer/src/lib.rs | 5 +
docs/imgs/rustdoc_logo.svg | 22 +
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/validator.rs | 1 -
examples/bridge/src/lib.rs | 5 +
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 3 +-
examples/estimator/README.md | 75 +-
examples/estimator/simplex_with_sizes.lazy | 15 +
examples/estimator/src/lib.rs | 118 +-
examples/estimator/src/main.rs | 124 +-
examples/flood/Cargo.toml | 2 +-
examples/flood/README.md | 2 +-
examples/flood/dashboard.json | 362 +----
examples/flood/src/bin/flood.rs | 2 +-
examples/flood/src/bin/setup.rs | 10 +-
examples/flood/src/lib.rs | 7 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/main.rs | 1 -
examples/sync/Cargo.toml | 2 +-
examples/sync/src/lib.rs | 5 +
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
macros/src/lib.rs | 5 +
p2p/Cargo.toml | 2 +-
.../authenticated/discovery/actors/tracker/set.rs | 22 +-
p2p/src/lib.rs | 5 +
p2p/src/si...
v0.0.59
Changes
- [utils/channels] Track Message Delivery by @patrick-ogrady in #1396
- [sync] Factor out sync engine; implement sync for
adb::Immutable
by @danlaine in #1341 - [sync] readme nit by @danlaine in #1400
- [consensus/aggregation] Use Pre-Computed Participants + Add
Certificate
by @patrick-ogrady in #1404 - [storage/mmr/verification] add version of reconstruct_root that returns all involved digests by @roberto-bayardo in #1403
- [runtime] fix lint failure from updated rust due to unneeded module with iouring by @roberto-bayardo in #1408
- [runtime/utils/buffer] use checked add in offset assertion checks by @roberto-bayardo in #1406
- [storage/mmr] Support proving over sub-ranges, fix digest-extraction bug by @roberto-bayardo in #1415
- [adb::variable::*] Fix Miscellaneous Recovery Issues by @danlaine in #1411
- [codec] allow accessing error source chain by @SuperFluffy in #1402
- [codec] Add
CodecFixed
by @patrick-ogrady in #1423 - New fuzz targets for runtime and utils by @dnkolegov-ar in #1431
- [consensus/{threshold_simplex, aggregation}] Replay Activity by @patrick-ogrady in #1424
- [storage/adb] introduce "keyless" adb by @roberto-bayardo in #1426
- [consensus/aggregation] Improve Recovery Performance by @patrick-ogrady in #1436
- [storage/mmr] change leaf_num_to_pos to use simpler count_ones based implementation by @roberto-bayardo in #1437
- [AGENTS.md] Introduce Agent Markdown by @patrick-ogrady in #1370
- [AGENTS.md] Add More Testing Information by @patrick-ogrady in #1439
- [storage/adb/keyless] fix authentication/proving in the keyless db by @roberto-bayardo in #1438
- [storage] fix clippy nits by @andresilva in #1444
- [storage/store] change variable stores to use varint for uint64 wrapping operations by @roberto-bayardo in #1449
- [storage/mmr] make mmr iterator functionality public by @roberto-bayardo in #1451
- [storage] support associating metadata w/ variable-store commit ops by @roberto-bayardo in #1450
- [p2p] Add
Mux
utility that wraps a channel and muxes based on sub-channels by @BrendanChou in #1427 - Improve coverage for utils fuzz tests by @dnkolegov-ar in #1442
- [runtime] Track RSS by @patrick-ogrady in #1457
- [release] v0.0.59 by @patrick-ogrady in #1458
New Contributors
- @SuperFluffy made their first contribution in #1402
Full Changelog: v0.0.58...v0.0.59
Stats
.github/workflows/coverage.yml | 1 +
.github/workflows/slow.yml | 2 +-
.gitignore | 1 +
AGENTS.md | 558 +++++
CLAUDE.md | 1 +
Cargo.lock | 150 +-
Cargo.toml | 30 +-
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/codec.rs | 8 +
codec/src/error.rs | 7 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 3 +-
coding/fuzz/fuzz_targets/reed_solomon.rs | 16 +-
collector/Cargo.toml | 2 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/config.rs | 3 +
consensus/src/aggregation/engine.rs | 268 ++-
consensus/src/aggregation/mocks/application.rs | 73 +-
consensus/src/aggregation/mocks/mod.rs | 2 +-
consensus/src/aggregation/mocks/reporter.rs | 86 +-
consensus/src/aggregation/mocks/supervisor.rs | 37 +-
consensus/src/aggregation/mod.rs | 770 ++-----
consensus/src/aggregation/types.rs | 105 +-
.../src/threshold_simplex/actors/voter/actor.rs | 44 +-
cryptography/Cargo.toml | 2 +-
cryptography/fuzz/Cargo.toml | 2 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 39 +-
cryptography/fuzz/fuzz_targets/bloomfilter.rs | 35 +
.../fuzz/fuzz_targets/lthash_operations.rs | 2 +-
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 2 +-
deployer/Cargo.toml | 2 +-
deployer/src/ec2/create.rs | 22 +-
examples/bridge/Cargo.toml | 2 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/README.md | 6 +-
examples/sync/src/bin/client.rs | 388 ++--
examples/sync/src/bin/server.rs | 486 ++--
examples/sync/src/databases/any.rs | 152 ++
examples/sync/src/databases/immutable.rs | 130 ++
examples/sync/src/databases/mod.rs | 80 +
examples/sync/src/error.rs | 55 +-
examples/sync/src/lib.rs | 122 +-
examples/sync/src/net/io.rs | 95 +
examples/sync/src/net/mod.rs | 185 ++
examples/sync/src/net/request_id.rs | 52 +
examples/sync/src/net/resolver.rs | 124 ++
examples/sync/src/net/wire.rs | 306 +++
examples/sync/src/protocol.rs | 510 -----
examples/sync/src/resolver.rs | 259 ---
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/utils/mod.rs | 1 +
p2p/src/utils/mux.rs | 556 +++++
resolver/Cargo.toml | 2 +-
runtime/Cargo.toml | 3 +-
runtime/fuzz/Cargo.toml | 20 +
runtime/fuzz/fuzz_targets/buffer.rs | 332 +++
runtime/src/lib.rs | 32 +
runtime/src/network/mod.rs | 4 +-
runtime/src/process/metered.rs | 116 +
runtime/src/process/mod.rs | 3 +
runtime/src/tokio/runtime.rs | 13 +-
runtime/src/utils/buffer/tip.rs | 11 +-
storage/Cargo.toml | 2 +-
storage/fuzz/Cargo.toml | 2 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 7 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 42 +-
storage/src/adb/any/{fixed.rs => fixed/mod.rs} | 647 +-----
storage/src/adb/any/fixed/sync.rs | 2325 ++++++++++++++++++++
storage/src/adb/any/mod.rs | 1 -
storage/src/adb/any/sync/client.rs | 2175 ------------------
storage/src/adb/any/sync/metrics.rs | 68 -
storage/src/adb/any/sync/mod.rs | 138 --
storage/src/adb/any/sync/resolver.rs | 151 --
.../src/adb/any/{variable.rs => variable/mod.rs} | 254 ++-
storage/src/adb/any/variable/sync.rs | 1000 +++++++++
storage/src/adb/benches/variable_init.rs | 4 +-
storage/src/adb/current.rs | 8 +-
storage/src/adb/{immutable.rs => immutable/mod.rs} | 268 ++-
storage/src/adb/immutable/sync/journal.rs | 91 +
storage/src/adb/immutable/sync/mod.rs | 1197 ++++++++++
storage/src/adb/keyless.rs | 897 ++++++++
storage/src/adb/mod.rs | 4 +
storage/src/adb/sync/database.rs | 59 +
storage/src/adb/sync/engine.rs | 572 +++++
storage/src/adb/sync/error.rs | 62 +
storage/src/adb/sync/gaps.rs | 293 +++
storage/src/adb/sync/journal.rs | 19 +
storage/src/adb/sync/mod.rs | 37 +
storage/src/adb/sync/requests.rs | 67 +
storage/src/adb/sync/resolver.rs | 224 ++
storage/src/ad...
v0.0.58
Changes
- [release-fix] Change Publish Order by @patrick-ogrady in #1345
- [runtime/utils/buffer] fix out of range bug due to shortened read buffer by @roberto-bayardo in #1354
- fix typo by @anim001k in #1359
- [runtime] Implement shutdown tracking with signal reference counting by @andresilva in #1357
- [minimmit] Update spec to use a subquorum size of
2f+1
instead ofn-3f
by @BrendanChou in #1332 - [examples/sync] Fix Flaky Test by @patrick-ogrady in #1360
- [storage] Introduce
store
by @clabby in #1327 - Remove usage of
buf.get_u*
by @BrendanChou in #1364 - [runtime/storage] Remove
Blob::close
by @andresilva in #1351 - [runtime] Fix
Signal
Test Flake by @patrick-ogrady in #1368 - Update quint spec by @dnkolegov-ar in #1333
- [storage/index] Implement
Send
forCursor
+miri
CI by @patrick-ogrady in #1369 - [docs] Use Inconsolata by @patrick-ogrady in #1372
- Revert Inconsolata by @patrick-ogrady in #1373
- [storage/adb] introduce adb::any::Variable by @roberto-bayardo in #1347
- [storage/adb/any] Any db cleanup by @roberto-bayardo in #1379
- [cleanup] change all buffer capacities from usize to NonZeroUsize by @roberto-bayardo in #1358
- [fix] correct element reference in MMR example by @MignonLi0 in #1386
- [storage] migrate the 'per-blob' config fields from u64 to NonZeroU64 by @roberto-bayardo in #1382
- [storage/adb/any] create a new benchmark for the variable anydb by @roberto-bayardo in #1388
- Add fuzz target for ordinal store by @dnkolegov-ar in #1208
- [consensus::marshal] Fix: Responses from
broadcast::buffered
are not immediately processed by @BrendanChou in #1381 - [storage/journal/variable] use Append wrapper by @andresilva in #1384
- [runtime/utils/buffer/append] Avoid re-writing flushed data by @andresilva in #1385
- [storage/adb/current] add benchmark for adb::current startup by @fahimahmedx in #1390
- [storage/rmap + ordinal] Missing Item Helper by @patrick-ogrady in #1393
- [release] v0.0.58 by @patrick-ogrady in #1394
New Contributors
- @anim001k made their first contribution in #1359
- @andresilva made their first contribution in #1357
- @MignonLi0 made their first contribution in #1386
- @fahimahmedx made their first contribution in #1390
Full Changelog: v0.0.57...v0.0.58
Stats
.github/workflows/fast.yml | 33 +-
.github/workflows/publish.yml | 10 +-
.github/workflows/slow.yml | 13 +-
.gitignore | 1 +
Cargo.lock | 54 +-
Cargo.toml | 28 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/mod.rs | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/varint.rs | 7 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 2 +-
collector/Cargo.toml | 2 +-
collector/src/p2p/mocks/types.rs | 10 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/config.rs | 4 +
consensus/src/aggregation/engine.rs | 13 +-
consensus/src/aggregation/mod.rs | 17 +-
consensus/src/marshal/actor.rs | 104 +-
consensus/src/marshal/config.rs | 14 +-
consensus/src/marshal/mod.rs | 587 +++--
consensus/src/ordered_broadcast/config.rs | 10 +-
consensus/src/ordered_broadcast/engine.rs | 11 +-
consensus/src/ordered_broadcast/mod.rs | 22 +-
consensus/src/simplex/actors/voter/actor.rs | 16 +-
consensus/src/simplex/actors/voter/mod.rs | 23 +-
consensus/src/simplex/config.rs | 10 +-
consensus/src/simplex/engine.rs | 1 +
consensus/src/simplex/mocks/application.rs | 21 +-
consensus/src/simplex/mod.rs | 73 +-
.../src/threshold_simplex/actors/voter/actor.rs | 9 +-
.../src/threshold_simplex/actors/voter/mod.rs | 23 +-
consensus/src/threshold_simplex/config.rs | 10 +-
consensus/src/threshold_simplex/engine.rs | 1 +
.../src/threshold_simplex/mocks/application.rs | 13 +-
consensus/src/threshold_simplex/mod.rs | 88 +-
cryptography/Cargo.toml | 2 +-
cryptography/fuzz/Cargo.toml | 2 +-
deployer/Cargo.toml | 2 +-
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/validator.rs | 9 +-
examples/chat/Cargo.toml | 2 +-
examples/estimator/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/main.rs | 9 +-
examples/sync/Cargo.toml | 2 +-
examples/sync/src/bin/server.rs | 18 +-
examples/sync/src/lib.rs | 28 +-
examples/sync/src/protocol.rs | 78 +-
examples/sync/src/resolver.rs | 31 +-
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
pipeline/minimmit/minimmit.md | 10 +-
pipeline/minimmit/quint/README.md | 2 +-
pipeline/minimmit/quint/main_n6f0.qnt | 3 +-
pipeline/minimmit/quint/main_n6f1.qnt | 3 +-
pipeline/minimmit/quint/main_n6f2.qnt | 3 +-
pipeline/minimmit/quint/main_n7f1.qnt | 3 +-
pipeline/minimmit/quint/makefile | 6 +-
pipeline/minimmit/quint/replica.qnt | 80 +-
pipeline/minimmit/quint/scripts/invariant.sh | 217 ++
pipeline/minimmit/quint/tests/tests_n6f0.qnt | 12 +-
pipeline/minimmit/quint/tests/tests_n6f1.qnt | 9 +-
pipeline/minimmit/quint/tests/tests_n7f1.qnt | 176 ++
resolver/Cargo.toml | 2 +-
resolver/src/p2p/wire.rs | 4 +-
runtime/Cargo.toml | 2 +-
runtime/src/deterministic.rs | 44 +-
runtime/src/lib.rs | 290 ++-
runtime/src/storage/audited.rs | 17 +-
runtime/src/storage/iouring.rs | 5 -
runtime/src/storage/memory.rs | 5 -
runtime/src/storage/metered.rs | 137 +-
runtime/src/storage/mod.rs | 3 +-
runtime/src/storage/tokio/fallback.rs | 10 -
runtime/src/storage/tokio/unix.rs | 6 -
runtime/src/tokio/runtime.rs | 38 +-
runtime/src/utils/buffer/append.rs | 146 +-
runtime/src/utils/buffer/mod.rs | 181 +-
runtime/src/utils/buffer/pool.rs | 12 +-
runtime/src/utils/buffer/read.rs | 52 +-
runtime/src/utils/buffer/tip.rs | 13 +-
runtime/src/utils/buffer/write.rs | 16 +-
runtime/src/utils/mod.rs | 97 +-
runtime/src/utils/signal.rs | 228 ++
storage/Cargo.toml | 7 +-
storage/fuzz/Cargo.toml | 9 +-
.../fuzz/fuzz_targets/adb_current_operations.rs | 31 +-
storage/fuzz/fuzz_targets/adb_operations.rs | 35 +-
storage/fuzz/fuzz_targets/adb_sync.rs | 14 +-
storage/fuzz/fuzz_targets/archive_operations.rs | 17 +-
storage/fuzz/fuzz_targets/freezer_operations.rs | 14 +-
storage/fuzz/fuzz_targets/journal_operations.rs | 15 +-
storage/fuzz/fuzz_targets/ordinal_operations.rs | 262 +++
storage/fuzz/fuzz_targets/rmap_operations.rs | 4 +-
storage/src/adb/any/fixe...
v0.0.57
Changes
- [adb] [sync] Re-use existing persisted data during state sync by @danlaine in #1275
- [storage/index] Implement Custom
Drop
by @patrick-ogrady in #1278 - [CI] Add
coding
to benchmarks by @patrick-ogrady in #1279 - [adb] [sync] Change sync lower bound to be inactivity floor, not pruning boundary by @danlaine in #1277
- Fixes #1269: a memory leak in the deterministic runtime by @evonide in #1282
- Add more fuzz tests: coding, blake3, threshold by @dnkolegov-ar in #1276
- [examples/estimator] Introduce
commonware-estimator
by @patrick-ogrady in #1283 - [ci] Add Test for Unstable
Cargo.lock
by @patrick-ogrady in #1288 - Fix journal fuzz operation by @dnkolegov-ar in #1290
- [stream] replace unused named variables with underscore in connection.rs by @reallesee in #1286
- [adb] [sync] Make sync target dynamic by @danlaine in #1281
- [adb] lowercase log starts and error messages by @danlaine in #1295
- [adb] [sync] rename hash to digest by @danlaine in #1299
- [storage/adb/any] minor adb::any cleanup by @roberto-bayardo in #1301
- [crytography/bls12381] Timelock Encryption by @patrick-ogrady in #1302
- [adb] [sync] Fix peristence bug causing checksum mismatch on synced database open by @danlaine in #1303
- [cryptography] Introduce
LtHash
by @patrick-ogrady in #1307 - [storage/adb/any] remove double-hashing of elements by @roberto-bayardo in #1308
- [adb] [sync] update sync example to use dynamic target by @danlaine in #1289
- [adb] [sync] Update sync example client to continuously re-sync to newest server state by @danlaine in #1305
- [storage/log/variable] reduce # of blob
read_at
calls from 3 to 2 inread
andread_buffered
by @roberto-bayardo in #1313 - lthash fuzz test by @dnkolegov-ar in #1314
- [storage/bmt] Add Range Proofs by @patrick-ogrady in #1315
- [storage/bmt] Follow-Ups by @patrick-ogrady in #1318
- [storage/adb] Introduce
adb::immutable
by @roberto-bayardo in #1317 - Add quint spec of the minimmit by @dnkolegov-ar in #1319
- [ci] Pipeline Nits by @patrick-ogrady in #1322
- [storage/adb/immutable] pruning support by @roberto-bayardo in #1325
- Initial adb_sync fuzz test by @evonide in #1324
- Init timelock encryption fuzzing by @dnkolegov-ar in #1326
- [adb::any::sync] Make operation fetching concurrent by @danlaine in #1323
- [storage/archive/immutable] Fix Unclean (Initial) Restart by @patrick-ogrady in #1336
- [consensus] Add
consensus::marshal
by @BrendanChou in #1306 - [utils] Introduce
Span
(and renamearray
tosequence
) by @patrick-ogrady in #1337 - Add metamorphic fuzzer for lthash by @dnkolegov-ar in #1334
- [marshal] Use a Single Resolver by @patrick-ogrady in #1340
- [release] v0.0.57 by @patrick-ogrady in #1343
Full Changelog: v0.0.56...v0.0.57
New Contributors
- @evonide made their first contribution in #1282
- @reallesee made their first contribution in #1286
Stats
.github/workflows/benchmark.yml | 4 +
.github/workflows/coverage.yml | 1 +
.github/workflows/fast.yml | 20 +
.github/workflows/publish.yml | 5 +
.github/workflows/quint.yml | 28 +
.github/workflows/slow.yml | 2 +-
.gitignore | 3 +-
Cargo.lock | 303 ++-
Cargo.toml | 30 +-
README.md | 1 +
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
codec/src/codec.rs | 2 +-
coding/Cargo.toml | 2 +-
coding/fuzz/Cargo.toml | 24 +
coding/fuzz/fuzz_targets/reed_solomon.rs | 90 +
coding/src/reed_solomon/mod.rs | 251 ++-
collector/Cargo.toml | 2 +-
consensus/Cargo.toml | 5 +-
consensus/src/lib.rs | 28 +
consensus/src/marshal/actor.rs | 944 ++++++++
consensus/src/marshal/config.rs | 68 +
consensus/src/marshal/finalizer.rs | 113 +
consensus/src/marshal/ingress/handler.rs | 489 +++++
consensus/src/marshal/ingress/mailbox.rs | 162 ++
consensus/src/marshal/ingress/mod.rs | 3 +
consensus/src/marshal/ingress/orchestrator.rs | 87 +
consensus/src/marshal/mocks/application.rs | 37 +
consensus/src/marshal/mocks/block.rs | 101 +
consensus/src/marshal/mocks/mod.rs | 3 +
consensus/src/marshal/mocks/resolver.rs | 27 +
consensus/src/marshal/mod.rs | 405 ++++
consensus/src/reporter.rs | 88 +
consensus/src/simplex/actors/resolver/actor.rs | 4 +-
consensus/src/simplex/actors/voter/actor.rs | 4 +-
consensus/src/simplex/actors/voter/ingress.rs | 7 +-
consensus/src/simplex/actors/voter/mod.rs | 11 +-
consensus/src/simplex/mocks/conflicter.rs | 4 +-
consensus/src/simplex/mocks/nuller.rs | 4 +-
consensus/src/simplex/mocks/outdated.rs | 4 +-
consensus/src/simplex/mocks/supervisor.rs | 4 +-
consensus/src/simplex/types.rs | 32 +-
.../src/threshold_simplex/actors/batcher/actor.rs | 4 +-
.../src/threshold_simplex/actors/resolver/actor.rs | 6 +-
.../src/threshold_simplex/actors/voter/actor.rs | 4 +-
.../src/threshold_simplex/actors/voter/mod.rs | 11 +-
.../src/threshold_simplex/mocks/conflicter.rs | 4 +-
.../src/threshold_simplex/mocks/impersonator.rs | 4 +-
consensus/src/threshold_simplex/mocks/invalid.rs | 4 +-
consensus/src/threshold_simplex/mocks/nuller.rs | 4 +-
consensus/src/threshold_simplex/mocks/outdated.rs | 4 +-
.../src/threshold_simplex/mocks/supervisor.rs | 3 +-
consensus/src/threshold_simplex/mod.rs | 173 +-
consensus/src/threshold_simplex/types.rs | 34 +-
cryptography/Cargo.toml | 7 +-
cryptography/fuzz/Cargo.toml | 45 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 120 ++
.../fuzz_targets/bls12381_aggregate_operations.rs | 213 ++
.../fuzz_targets/bls12381_primitive_operations.rs | 4 +-
.../fuzz_targets/bls12381_threshold_operations.rs | 558 +++++
cryptography/fuzz/fuzz_targets/bls12381_tle.rs | 380 ++++
cryptography/fuzz/fuzz_targets/common/mod.rs | 320 +++
.../fuzz/fuzz_targets/lthash_operations.rs | 151 ++
cryptography/fuzz/fuzz_targets/metamorph_lthash.rs | 166 ++
cryptography/src/blake3/mod.rs | 6 +-
cryptography/src/bls12381/benches/bench.rs | 4 +
cryptography/src/bls12381/benches/tle_decrypt.rs | 34 +
cryptography/src/bls12381/benches/tle_encrypt.rs | 31 +
cryptography/src/bls12381/mod.rs | 1 +
cryptography/src/bls12381/primitives/group.rs | 172 +-
cryptography/src/bls12381/primitives/ops.rs | 12 +-
cryptography/src/bls12381/primitives/poly.rs | 4 +-
cryptography/src/bls12381/primitives/variant.rs | 41 +-
cryptography/src/bls12381/scheme.rs | 8 +-
cryptography/src/bls12381/tle.rs | 598 ++++++
cryptography/src/ed25519/scheme.rs | 8 +-
cryptography/src/lib.rs | 6 +-
cryptography/src/lthash/benches/add.rs | 19 +
cryptography/src/lthash/benches/bench.rs | 15 +
cryptography/src/lthash/benches/checksum.rs | 14 +
cryptography/src/lthash/benches/combine.rs | 22 +
cryptography/src/lthash/benches/subtract....
v0.0.56
Changes
- [cryptography/bls12381] Use Rayon for Concurrent Recovery by @patrick-ogrady in #1265
- [storage/freezer] Improve Resize Mechanism by @patrick-ogrady in #1266
- [consensus] Add
consensus::aggregation
by @BrendanChou in #974 - [storage] Migrate BMT to
codec
by @patrick-ogrady in #1270 - [coding] Introduce
commonware-coding
by @patrick-ogrady in #1272 - [release] v0.0.56 by @patrick-ogrady in #1273
Full Changelog: v0.0.55...v0.0.56
Stats
.github/workflows/publish.yml | 5 +
.github/workflows/slow.yml | 4 +
Cargo.lock | 85 +-
Cargo.toml | 28 +-
README.md | 1 +
broadcast/Cargo.toml | 2 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 2 +-
coding/Cargo.toml | 31 +
coding/README.md | 10 +
coding/src/lib.rs | 8 +
coding/src/reed_solomon/benches/bench.rs | 6 +
coding/src/reed_solomon/benches/decode.rs | 54 +
coding/src/reed_solomon/benches/encode.rs | 42 +
coding/src/reed_solomon/mod.rs | 747 ++++++++++++++
collector/Cargo.toml | 2 +-
consensus/Cargo.toml | 2 +-
consensus/src/aggregation/config.rs | 74 ++
consensus/src/aggregation/engine.rs | 804 +++++++++++++++
consensus/src/aggregation/metrics.rs | 69 ++
consensus/src/aggregation/mocks/application.rs | 110 +++
consensus/src/aggregation/mocks/mod.rs | 10 +
consensus/src/aggregation/mocks/monitor.rs | 56 ++
consensus/src/aggregation/mocks/reporter.rs | 232 +++++
consensus/src/aggregation/mocks/supervisor.rs | 97 ++
consensus/src/aggregation/mod.rs | 1247 ++++++++++++++++++++++++
consensus/src/aggregation/safe_tip.rs | 701 +++++++++++++
consensus/src/aggregation/types.rs | 385 ++++++++
consensus/src/lib.rs | 5 +-
consensus/src/ordered_broadcast/engine.rs | 2 +-
cryptography/Cargo.toml | 2 +-
cryptography/fuzz/Cargo.toml | 2 +-
cryptography/src/bls12381/primitives/ops.rs | 36 +-
deployer/Cargo.toml | 2 +-
docs/index.html | 2 +
examples/bridge/Cargo.toml | 2 +-
examples/chat/Cargo.toml | 2 +-
examples/flood/Cargo.toml | 2 +-
examples/log/Cargo.toml | 2 +-
examples/sync/Cargo.toml | 2 +-
examples/vrf/Cargo.toml | 2 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
resolver/Cargo.toml | 2 +-
runtime/Cargo.toml | 2 +-
storage/Cargo.toml | 2 +-
storage/fuzz/Cargo.toml | 3 +-
storage/fuzz/fuzz_targets/bmt_operations.rs | 5 +-
storage/src/bmt/mod.rs | 76 +-
storage/src/freezer/mod.rs | 153 ++-
storage/src/freezer/storage.rs | 307 +++---
stream/Cargo.toml | 2 +-
stream/fuzz/Cargo.toml | 2 +-
utils/Cargo.toml | 2 +-
utils/fuzz/Cargo.toml | 2 +-
utils/src/lib.rs | 66 ++
56 files changed, 5244 insertions(+), 263 deletions(-)
v0.0.55
Changes
- [README] Update benchmarks count by @patrick-ogrady in #1060
- [cryptography] Avoid Using
Array
ifPublicKey
orSignature
Applies by @patrick-ogrady in #1061 - [p2p] use destructuring syntax by @danlaine in #1062
- [p2p] log actual error instead of ChannelClosed by @danlaine in #1063
- [p2p] add comments to spawner actor code by @danlaine in #1065
- [p2p] rename method
content
tosend
; add comments torouter
code by @danlaine in #1064 - [p2p] factor out public key derivation by @danlaine in #1066
- [cryptography/bls12381] Test Partial Signature Derivation by @patrick-ogrady in #1082
- [examples/vrf] Enforce Sender/Signature Index Match by @patrick-ogrady in #1085
- [storage/mmr] change API for batching of leaf updates by @roberto-bayardo in #1083
- [storage/mmr] mmr::Hasher refactoring for parallel merklezation by @roberto-bayardo in #1080
- [.github/workflows] Add concurrency controls to coverage and tests by @BrendanChou in #1090
- [docs] Conversion Tracking by @patrick-ogrady in #1097
- [docs] Handle Missing Footer by @patrick-ogrady in #1098
- [lint/fmt] Format imports by @BrendanChou in #1096
- [storage/mmr] Parallelize merkleization by @roberto-bayardo in #1069
- [storage/mmr] Use
Strategy
by @patrick-ogrady in #1103 - [storage/journal/fixed] Add ability to start from specific position during replay by @roberto-bayardo in #1105
- [stream] Increment nonce on receive even if decoding fails by @BrendanChou in #1099
- [storage/adb/any] anydb code cleanup by @roberto-bayardo in #1107
- [storage] implement destroy for more storage classes by @roberto-bayardo in #1111
- [p2p] Release sends message to
tracker
rather thandirectory
by @BrendanChou in #1108 - [nit] remove unneeded ticks by @danlaine in #1089
- [codec] Simple codec roundtrip fuzz harness by @0xSqualo in #1092
- [storage/journal + storage/adb/any] Make replay ordered by @roberto-bayardo in #1115
- [p2p] Implement
authenticated::lookup
by @danlaine in #1067 - [storage/adb/any] add benchmark for adb::any startup by @roberto-bayardo in #1121
- [p2p] Move location of
tracker.connect()
call by @danlaine in #1119 - [CI] Add
fuzz build
check by @patrick-ogrady in #1125 - [utils] Fix modulo overflow for 8-byte values of
n
by @BrendanChou in #1123 - [p2p] Remove compression option by @BrendanChou in #1126
- [p2p] Clean
authenticated::*::actors::peer::Actor
loop by @danlaine in #1074 - [cryptography] Add fuzz targets by @dnkolegov-ar in #1124
- [p2p] Factor out authenticated
Mailbox
implementations by @danlaine in #1072 - [p2p/lookup] Fix Config + Remove
max_peer_set_size
(only used to validate bitvec size) + Increase Default IOURING-NETWORK Ring Size by @patrick-ogrady in #1130 - [stream] Add fuzz tests for handshake by @dnkolegov-ar in #1129
- [cryptography/bls12381] Impl Ord + PartialOrd for G1, G2, and Scalar by @shreyas-londhe in #995
- [storage] remove async from signatures of methods that don't need it by @danlaine in #1140
- [docs] Minimmit: Fast Finality with Even Faster Blocks by @patrick-ogrady in #1144
- [docs] Add alpenglow diagram source by @patrick-ogrady in #1145
- [docs] Cleanup Minimmit by @patrick-ogrady in #1146
- [storage/index] Fix Middle Mutate Case by @patrick-ogrady in #1155
- [storage] use
commonware-codec
to serialize/deserialize proofs by @danlaine in #1127 - [p2p] Treat messages for unknown channels as malformed by @BrendanChou in #1133
- [p2p] Use existing
Error::InvalidChannel
+ Assert on Invalid Message Sends by @patrick-ogrady in #1158 - [pipeline/minimmit] Add liveness bounds for faulty leaders, fast-skip extension by @BrendanChou in #1150
- [storage] parameterize
Proof
on Digest rather than Hasher by @danlaine in #1141 - [pipeline/minimmit] Fix typos/misprints by @BrendanChou in #1151
- [storage/mmr/verification.rs] remove Error being returned from proof verification functions by @roberto-bayardo in #1164
- [runtime/storage] Optimize
unix
Performance + Consistentresize
Behavior by @patrick-ogrady in #1167 - [stream] Add explicit key-confirmation to handshake by @BrendanChou in #1132
- [storage] nit: remove unneeded unit type from
adb::Error::KeyNotFound
by @danlaine in #1163 - [stream] Fix fuzz/connection by @patrick-ogrady in #1171
- [p2p] Remove spans by @patrick-ogrady in #1172
- [runtime/utils/buffer] refactor write.rs by @roberto-bayardo in #1159
- feat: Extend Hasher trait with empty() by @varun-doshi in #1166
- [storage/metadata] Only Write Diffs by @patrick-ogrady in #1175
- [p2p] Wait to Reserve Until Handshake Complete by @patrick-ogrady in #1170
- [storage/metadata] Address Feedback by @patrick-ogrady in #1179
- [storage/mmr] handle case of proving an MMR is empty by @roberto-bayardo in #1168
- [storage/metadata] Use
Codec
for Value by @patrick-ogrady in #1181 - [storage/metadata] Add Benchmarks by @patrick-ogrady in #1182
- Change string formatting to fix linter error by @danlaine in #1186
- Fix secp fuzz test by @dnkolegov-ar in #1185
- [storage] Add fuzz targets by @dnkolegov-ar in #1147
- [storage/metadata] Improve Delta Write Efficiency for Common Case by @patrick-ogrady in #1189
- [stream] Use full transcript in dialer key confirmation by @BrendanChou in #1188
- [storage] Introduce
ordinal
+ Ensuredestroy()
Deletes Entire Partition by @patrick-ogrady in #1173 - Improve error message for ChunkMismatch by @reject-i in #1199
- Add start_pos in the fuzz test by @dnkolegov-ar in #1202
- [stream] Fix Fuzz Memory Leak by @dnkolegov-ar in #1196
- [docs/blog/adb-any.rs] fix grammatical issues in opening sentence by @roberto-bayardo in #1212
- [storage/fuzz] Fix journal operations fuzz test by @dnkolegov-ar in #1211
- [runtime/utils/buffer] [storage/journal/fixed] buffer pool managed read caching for blobs by @roberto-bayardo in #1157
- [cryptography/bls12381/poly] Fix overflow + Simplify Index Initialization by @dnkolegov-ar in #1221
- [cryptography/bls12381] Fuzz primitives by @dnkolegov-ar in #1210
- [storage] fix confusing comment about parallelization by @roberto-bayardo in #1231
- [storage/adb/any] Implement sync client by @danlaine in #1165
- [storage] [sync] Add historical proof generation methods by @danlaine in #1217
- Add io_uring comments by @danlaine in https://github.com/commonwarexyz/monorep...
v0.0.54
Changes
- [deployer] Perform Deletion Concurrently + Activate Automatic Retry by @patrick-ogrady in #999
- [runtime] Add iouring config for shutdown timeout by @danlaine in #985
- [crypto] Give
Committable
andDigestible
associated types by @danlaine in #945 - [blogs] Buffered Signatures by @patrick-ogrady in #1005
- [blog/buffered-signatures] nits by @roberto-bayardo in #1007
- [CI] Fix
IoError
Lint Issue onmain
by @patrick-ogrady in #1009 - [Codec] Add
BTreeMap
,BTreeSet
,HashSet
by @BrendanChou in #770 - [storage/mmr/mem] add benchmark for non-MMR leaf updates of the mem::mmr by @roberto-bayardo in #1001
- [storage/mmr/bitmap] clarify handling of final digest in bit authentication by @roberto-bayardo in #1010
- [stream/public_key] Add
was_contributory
Check by @patrick-ogrady in #1017 - [storage/mmr/mem] add batch update feature to mem MMR by @roberto-bayardo in #1020
- [codec] Add More
Varint
Coverage by @patrick-ogrady in #1026 - [storage/mmr/bitmap] Change authenticated bitmap to batch updates by @roberto-bayardo in #1025
- [storage/mmr/journaled + storage/adb] batch update capability for journaled MMR by @roberto-bayardo in #1027
- [storage] Use
decode_all
instead ofdecompress(*, u32::MAX)
by @patrick-ogrady in #1029 - [stroage/mmr] Fix Naming nit by @patrick-ogrady in #1033
- [stream] Harden KDF for ChaCha20Poly1305 cipher by @BrendanChou in #1021
- [runtime] add io_uring metrics; make test less flaky by @danlaine in #1023
- [runtime] change single_issuer config default to false by @danlaine in #1035
- [runtime/iouring-*] fix write-after-free bug by @danlaine in #1003
- [stream] Prevent self-connection by @BrendanChou in #1036
- [runtime] Implement
NetworkConfig
for tokio runtime by @danlaine in #1044 - [runtime] Add disconnect simulation to
mocks::Channel
by @BrendanChou in #1042 - [storage/hasher] remove unnecessary generic hasher parameter from root testers by @roberto-bayardo in #1046
- [storage] Improve Unclean Shutdown Handling by @patrick-ogrady in #1034
- [runtime] enable force poll for iouring network tests by @danlaine in #1053
- [p2p] replace magic numbers with consts by @danlaine in #1056
- [p2p] add MessageType type by @danlaine in #1055
- [cryptography] Refactor
Scheme
by @danlaine in #991
Stats
.github/workflows/coverage.yml | 3 -
.github/workflows/tests.yml | 10 +-
Cargo.lock | 45 +-
Cargo.toml | 25 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/engine.rs | 47 +-
broadcast/src/buffered/ingress.rs | 45 +-
broadcast/src/buffered/mocks.rs | 6 +-
broadcast/src/buffered/mod.rs | 13 +-
codec/Cargo.toml | 2 +-
codec/src/types/map.rs | 683 +++++++++++++++++----
codec/src/types/mod.rs | 1 +
codec/src/types/set.rs | 589 ++++++++++++++++++
codec/src/varint.rs | 149 +++++
consensus/Cargo.toml | 2 +-
consensus/src/ordered_broadcast/ack_manager.rs | 41 +-
consensus/src/ordered_broadcast/config.rs | 6 +-
consensus/src/ordered_broadcast/engine.rs | 45 +-
consensus/src/ordered_broadcast/mocks/reporter.rs | 38 +-
consensus/src/ordered_broadcast/mod.rs | 71 ++-
consensus/src/ordered_broadcast/tip_manager.rs | 42 +-
consensus/src/ordered_broadcast/types.rs | 172 +++---
consensus/src/simplex/actors/resolver/actor.rs | 28 +-
consensus/src/simplex/actors/resolver/ingress.rs | 9 +-
consensus/src/simplex/actors/resolver/mod.rs | 4 +-
consensus/src/simplex/actors/voter/actor.rs | 55 +-
consensus/src/simplex/actors/voter/ingress.rs | 11 +-
consensus/src/simplex/actors/voter/mod.rs | 77 ++-
consensus/src/simplex/config.rs | 6 +-
consensus/src/simplex/engine.rs | 13 +-
consensus/src/simplex/mocks/conflicter.rs | 10 +-
consensus/src/simplex/mocks/nuller.rs | 8 +-
consensus/src/simplex/mocks/outdated.rs | 8 +-
consensus/src/simplex/mocks/supervisor.rs | 48 +-
consensus/src/simplex/mod.rs | 89 +--
consensus/src/simplex/types.rs | 367 +++++------
.../src/threshold_simplex/actors/batcher/actor.rs | 39 +-
.../src/threshold_simplex/actors/resolver/actor.rs | 28 +-
.../src/threshold_simplex/actors/resolver/mod.rs | 4 +-
.../src/threshold_simplex/actors/voter/actor.rs | 49 +-
.../src/threshold_simplex/actors/voter/mod.rs | 26 +-
consensus/src/threshold_simplex/config.rs | 6 +-
consensus/src/threshold_simplex/engine.rs | 12 +-
consensus/src/threshold_simplex/mod.rs | 31 +-
cryptography/Cargo.toml | 4 +-
.../benches/batch_verify_multiple_messages.rs | 6 +-
.../benches/batch_verify_multiple_public_keys.rs | 6 +-
cryptography/src/bls12381/benches/dkg_recovery.rs | 4 +-
.../src/bls12381/benches/dkg_reshare_recovery.rs | 4 +-
.../src/bls12381/benches/signature_generation.rs | 8 +-
.../src/bls12381/benches/signature_verification.rs | 18 +-
cryptography/src/bls12381/dkg/mod.rs | 71 +--
cryptography/src/bls12381/mod.rs | 2 +-
cryptography/src/bls12381/scheme.rs | 144 ++---
.../benches/batch_verify_multiple_messages.rs | 6 +-
.../benches/batch_verify_multiple_public_keys.rs | 6 +-
.../src/ed25519/benches/signature_generation.rs | 8 +-
.../src/ed25519/benches/signature_verification.rs | 18 +-
cryptography/src/ed25519/mod.rs | 8 +-
cryptography/src/ed25519/scheme.rs | 224 +++----
cryptography/src/lib.rs | 295 ++++-----
.../src/secp256r1/benches/signature_generation.rs | 6 +-
.../secp256r1/benches/signature_verification.rs | 18 +-
cryptography/src/secp256r1/mod.rs | 8 +-
cryptography/src/secp256r1/scheme.rs | 200 +++---
cryptography/src/sha256/mod.rs | 10 +
deployer/Cargo.toml | 2 +-
deployer/src/ec2/aws.rs | 7 +-
deployer/src/ec2/destroy.rs | 290 ++++-----
docs/blogs/buffered-signatures.html | 127 ++++
docs/imgs/bisection.png | Bin 0 -> 343736 bytes
docs/imgs/buffering.png | Bin 0 -> 231546 bytes
docs/imgs/gossip-models.png | Bin 0 -> 301464 bytes
docs/imgs/invalid-signature-gossip.png | Bin 0 -> 353987 bytes
docs/index.html | 6 +
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/dealer.rs | 4 +-
examples/bridge/src/bin/indexer.rs | 7 +-
examples/bridge/src/bin/validator.rs | 10 +-
examples/chat/Cargo.toml | 2 +-
examples/chat/src/main.rs | 9 +-
examples/flood/Cargo.toml | 2 +-
examples/flood/src/bin/flood.rs | 7 +-
examples/flood/src/bin/setup.rs | 6 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/application/actor.rs | 6 +-
examples/log/src/application/supervisor.rs | 10 +-
examples/log/src/main.rs | 8 +-
examples/vrf/Cargo.toml | 2 +-
examples/vrf/src/handlers/arbiter.rs | 26 +-
examples/vrf/src/handlers/contributor.rs | 8 +-
examples/vrf/src/main.rs | 17 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/authenticated/actors/dialer.rs | 12 +-
p2p/src/authenticated/actors/listener.rs | 14 +-
p2p/src/authenticated/actors/peer/actor.rs | 20 +-
p2p/src/authenticated/actors/peer/ingress.rs | 8 +-
p2p/src/authenticated/actors/spawner/actor.rs | 14 +-
p2p/src/authenticated/actors/tracker/actor.rs ...