Releases: commonwarexyz/monorepo
Releases · commonwarexyz/monorepo
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+1instead ofn-3fby @BrendanChou in #1332 - [examples/sync] Fix Flaky Test by @patrick-ogrady in #1360
- [storage] Introduce
storeby @clabby in #1327 - Remove usage of
buf.get_u*by @BrendanChou in #1364 - [runtime/storage] Remove
Blob::closeby @andresilva in #1351 - [runtime] Fix
SignalTest Flake by @patrick-ogrady in #1368 - Update quint spec by @dnkolegov-ar in #1333
- [storage/index] Implement
SendforCursor+miriCI 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::bufferedare 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
Dropby @patrick-ogrady in #1278 - [CI] Add
codingto 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-estimatorby @patrick-ogrady in #1283 - [ci] Add Test for Unstable
Cargo.lockby @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
LtHashby @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_atcalls from 3 to 2 inreadandread_bufferedby @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::immutableby @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::marshalby @BrendanChou in #1306 - [utils] Introduce
Span(and renamearraytosequence) 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::aggregationby @BrendanChou in #974 - [storage] Migrate BMT to
codecby @patrick-ogrady in #1270 - [coding] Introduce
commonware-codingby @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
ArrayifPublicKeyorSignatureApplies 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
contenttosend; add comments toroutercode 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
Strategyby @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
trackerrather thandirectoryby @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::lookupby @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 buildcheck by @patrick-ogrady in #1125 - [utils] Fix modulo overflow for 8-byte values of
nby @BrendanChou in #1123 - [p2p] Remove compression option by @BrendanChou in #1126
- [p2p] Clean
authenticated::*::actors::peer::Actorloop by @danlaine in #1074 - [cryptography] Add fuzz targets by @dnkolegov-ar in #1124
- [p2p] Factor out authenticated
Mailboximplementations 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-codecto 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
Proofon 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
unixPerformance + ConsistentresizeBehavior 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::KeyNotFoundby @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
Codecfor 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
CommittableandDigestibleassociated types by @danlaine in #945 - [blogs] Buffered Signatures by @patrick-ogrady in #1005
- [blog/buffered-signatures] nits by @roberto-bayardo in #1007
- [CI] Fix
IoErrorLint Issue onmainby @patrick-ogrady in #1009 - [Codec] Add
BTreeMap,BTreeSet,HashSetby @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_contributoryCheck by @patrick-ogrady in #1017 - [storage/mmr/mem] add batch update feature to mem MMR by @roberto-bayardo in #1020
- [codec] Add More
VarintCoverage 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_allinstead 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
NetworkConfigfor tokio runtime by @danlaine in #1044 - [runtime] Add disconnect simulation to
mocks::Channelby @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
Schemeby @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 ...