v0.0.64
·
608 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
- [storage/mmr] binary search in to_nearest_size by @syrupipy in #1908
- [Storage] Remove unneeded type bounds by @danlaine in #2072
- [docs] Add blog post for reshare example by @clabby in #1875
- [blogs/reshare] Add Background to Preview by @patrick-ogrady in #2077
- [Storage] Remove dynamic dispatch from
contiguous::variable::Journal::replayby @danlaine in #2073 - [consensus] remove associated types from
Epochable/Viewabletraits by @andresilva in #2076 - [reshare] Add peer set rotation test by @clabby in #2074
- [Storage] Use
contiguous::variable::Journalinadb::storeby @danlaine in #2078 - [consensus]
Applicationinterface by @clabby in #2067 - [consensus] Stream
Updates instead ofBlocks toApplicationby @clabby in #2090 - [ci/benchmarks] Limit Data Points by @patrick-ogrady in #2094
- [docs] Use new Benchmark Data URL by @patrick-ogrady in #2096
- [Storage] Use
contiguous::variable::Journalinadb::keylessby @danlaine in #2063 - Add regression fuzz tests by @dnkolegov-ar in #2071
- [p2p/lookup] Remove Unnecessary
dialableField by @patrick-ogrady in #2101 - [docs/benchmarks] Just use all-time by @patrick-ogrady in #2104
- [coding/benchmarks] Fix Module Format by @patrick-ogrady in #2105
- Implement the ZODA Coding Scheme by @cronokirby in #1802
- [docs/benchmarks] Lazy Charts by @patrick-ogrady in #2106
- [runtime] Add
tokio-consolefeature by @clabby in #2099 - [consensus::simplex] Remove dead code, fix minor missing-nullifications bug by @BrendanChou in #2100
- [examples/reshare] Cleanup Test by @patrick-ogrady in #2114
- [storage/operation/adb] Make adb variants share most of their code after rewriting it more abstractly by @roberto-bayardo in #2047
- [Storage] Add
pruning_boundaryhelpers by @danlaine in #2113 - [docs] add ZODA blog post by @cronokirby in #1894
- [consensus/simplex] use AttributableMap in batcher by @andresilva in #2109
- [Storage] Add
authenticated::Journalby @danlaine in #2112 - [consensus] Pass consensus context to
Application::verifyby @clabby in #2119 - [p2p/simulated] Add
ManagerandSocketManagerby @patrick-ogrady in #2123 - [storage/adb/any/variable] fix performance regression from double-sync in adb::any::variable by @roberto-bayardo in #2126
- [storage/journal/fixed] remove async from fixed journal size/pruning boundary by @roberto-bayardo in #2124
- [storage/adb] code sharing for fixed benchmarks by @roberto-bayardo in #2127
- [utils] optimize log2_ceil by @andresilva in #2117
- [p2p/simulated] Overwrite Channel (For Restart Testing) by @patrick-ogrady in #2140
- [consensus/marshal] Enshrine Finalizer Wait by @patrick-ogrady in #2144
- [storage/journal] do a full sync of the underlying journal with authenticated journal sync by @roberto-bayardo in #2145
- [Storage] Use
authenticated::journalinadb::keylessby @danlaine in #2122 - [storage/adb/bench] code sharing for adb::variable benchmarks by @roberto-bayardo in #2143
- [consensus/simplex] add TLE helper for bls12381_threshold::Scheme by @andresilva in #2147
- [Storage] Add commit to
journal::Contiguousby @danlaine in #2155 - [docs/minimmit] Add arXiv Link by @patrick-ogrady in #2156
- [coding] Avoid storing more data than necessary in fuzz by @cronokirby in #2158
- [blog] Welcome, Tempo by @patrick-ogrady in #2164
- [blogs/tempo] fix card by @patrick-ogrady in #2165
- Fix panic in the journal fuzz test by @dnkolegov-ar in #2162
- fix: typos in documentation comments by @prestoalvarez in #2163
- [Storage] Add separate types for clean/dirty MMRs by @danlaine in #2142
- Ensures the runtime cleans up tasks before panicking due to a timeout. by @evonide in #2168
- Fix a panic in the adb_keyless fuzz test by @dnkolegov-ar in #2166
- [workspace] Migrate to
rstestfor test matrices by @clabby in #2179 - [runtime] Create ergonomic metric wrappers by @fedemagnani in #2180
- [consensus/simplex] handle out of bounds in AttributableMap::insert by @andresilva in #2150
- Wrap the runtime loop in a catch unwind to also clean up correctly af… by @evonide in #2174
- add X follow badge by @davidcardenasus in #2172
- [consensus/marshal] Fills Gaps Before Processing by @clabby in #2160
- [storage/index] add a new index type which partitions keyspace across sub-indices by @roberto-bayardo in #2176
- [Storage] Rename
sync_datatocommitby @danlaine in #2118 - [ci] Partition miri tests by @clabby in #2197
- [ci] Partition Coverage by @patrick-ogrady in #2198
- [coding] Align CodecCfg to just take a usize parameter by @cronokirby in #2196
- [Storage] Use
authenticated::journalinadb::Immutableby @danlaine in #2125 - [storage/adb/any] use authenticated journal throughout adb::any by @roberto-bayardo in #2193
- [Storage] Parameterize MMRs on
Digestinstead ofHasherby @danlaine in #2195 - [Storage] Move authenticated bitmap to
storage::AuthenticatedBitMapby @danlaine in #2209 - [cryptography] derive Clone for DKG objects by @SuperFluffy in #2214
- [coding] Use MMR multi-proofs for ZODA by @cronokirby in #2215
- [storage/index] ordered variant of partitioned index by @roberto-bayardo in #2206
- [coding] Rename Error -> ZodaError by @cronokirby in #2227
- [p2p/router] Remove Unnecessary Clones by @GarmashAlex in #2224
- [utils] Introduce
Acknowledgementby @patrick-ogrady in #2216 - [consensus/simplex]
voterRefactor by @patrick-ogrady in #2199 - [consensus::simplex] Actor cleanup by @BrendanChou in #2236
- Fix issue 2028 by @dnkolegov-ar in #2234
- [ci] Cover
examplesby @clabby in #2237 - [ci] Upload all coverage reports at the same time by @clabby in #2240
- [coding] Avoid u16 overflow by @cronokirby in #2239
- [storage/adb/store] Add create op to Db trait + other cleanup by @roberto-bayardo in #2248
- [examples/estimator] Rename
Kudzuby @patrick-ogrady in #2259 - [estimator] Fix file refs by @clabby in #2261
- [workspace] Bump dependencies by @clabby in #2247
- [consensus::simplex] Refactor Simplex Recovery by @BrendanChou in #2192
- [coding] Reed-Solomon optimizations by @clabby in #2260
- Add a few comments explaining TLE divergences from paper by @cronokirby in #2245
- [p2p/simulated] remove redundant sort/dedup in rebalance by @MozirDmitriy in #2257
- New tests for utils by @dnkolegov-ar in #2233
- [consensus/simplex] handle finalization from resolver by @andresilva in #2263
- docs(coding): fix incorrect shard row range in ZODA comments by @aso20455 in #2188
- [storage/adb/operation] extend keyed trait API with value related functions by @roberto-bayardo in #2250
- [deployer] Only use identities passed to
ssh/rsyncby @clabby in #2267 - [consensus/marshal] don't track outstanding resolver requests by @andresilva in #2265
- [consensus/application/marshaled] Validate block ancestry by @andresilva in #2268
- [consensus] Use newtypes for Epoch, View and ViewDelta by @andresilva in #2121
- [p2p] Align Peer Set Behavior by @patrick-ogrady in #2272
- fix(sync-example): config not getting logged by @samlaf in #2273
- [storage/adb] Introduce the OperationLog abstraction by @roberto-bayardo in #2235
- [Storage] Remove unused constraints from
adb::store::Dbby @danlaine in #2276 - [Storage] Remove/relax more generic type constraints by @danlaine in #2282
- [consensus/marshal] Sync height floor by @clabby in #2271
- [docs] Add sitemap by @patrick-ogrady in #2289
- [consensus/simplex] Add Assertion on Polynomial Degree by @patrick-ogrady in #2292
- [cryptography] Make polynomial codec accept range by @cronokirby in #2111
- [consensus::simplex] Explicitly avoid nullify after finalize by @BrendanChou in #2290
- [consensus/simplex] broadcast first then report to the application by @andresilva in #2301
- fix(consensus): correct assertion message in determinism test by @reallesee in #2274
- [workspace] Use
nextestfilters instead of#[ignore]by @clabby in #2253 - [utils] Add
values_mutto OrderedAssociated by @cronokirby in #2302 - [consensus/marshal] Finalized {Blocks/Certificates} DB abstraction by @clabby in #2293
- [ci] Fix setup by @clabby in #2308
- [ci] Swap to
swatinem/rust-cacheby @clabby in #2310 - [ci] Improve Caching by @patrick-ogrady in #2315
- [Storage] Implement database batching by @danlaine in #2283
- [bitmap] pre-reserve capacity in From<[bool]> to avoid reallocations by @sashass1315 in #2316
- [utils] Add
Unitmarker type by @clabby in #2313 - [utils] Move
OrderedExttoutilsby @clabby in #2312 - [p2p/simulated] Support Split Channels by @patrick-ogrady in #2319
- [macros] Add
select_loopmacro by @clabby in #2304 - [Storage] Allow deferred merkleization in ADBs by @danlaine in #2295
- [consensus/marshal] Optionally verify using epoch-less certificate verifier by @andresilva in #2328
- [storage/adb] unify fixed & variable operation adb variants by @roberto-bayardo in #2303
- [consensus] Document
simplexengine's channels by @clabby in #2325 - [Storage] Remove unneeded generic params; rename index initializers by @danlaine in #2320
- [consensus] Add
TwinsTest by @patrick-ogrady in #2322 - [workspace] read nightly version in justfile from env by @andresilva in #2332
- [consensus/simplex] Gracefully shutdown batcher and resolver by @clabby in #2335
- [cryptography] Remove From and From on Scalar by @cronokirby in #2336
- [p2p] Graceful shutdown in
discovery&lookupby @clabby in #2333 - [cryptography/bls12381] Ignore Unknown Disqualifications by @patrick-ogrady in #2347
- [cryptography]
Hasher::empty->Hasher::EMPTYby @clabby in #2349 - [storage/adb] add metadata to fixed operation commit by @roberto-bayardo in #2341
- [cryptography] Fix minor issues with FFI use by @cronokirby in #2339
- [storage/adb/any] create the ordered::variable AnyDb variant by @roberto-bayardo in #2330
- [Storage] Implement separate
Operationtype foradb::immutableby @danlaine in #2355 - [cryptography] Don't require AsRef bounds in Variant by @cronokirby in #2357
- [cryptography] DKG Refactor by @cronokirby in #2353
- [storage/adb/operation] move fixed operation tests into fixed submodule by @roberto-bayardo in #2356
- [coding] ZODA Optimizations by @clabby in #2362
- [cryptography]! Require namespace in
Signer+Verifier+BatchVerifierby @clabby in #2364 - [cryptography] Add
Recoverabletrait for ECDSA signatures by @clabby in #2116 - [consensus/marshal] Duplicate finalization test by @clabby in #2369
- [workspace] Pedantic lint configuration by @clabby in #2350
- [storage/adb/operation] require Clone for operation values by @roberto-bayardo in #2373
- [Storage] Parameterize
any::unordered::IndexedLogmethods on key/value, not operation by @danlaine in #2368 - [coding] ZODA: optimize topology calculation by @cronokirby in #2211
- [consensus/simplex] Remove Votes from Voter by @patrick-ogrady in #2351
- [Storage] Add key-value store traits in
storage::store; implement for applicable types by @danlaine in #2360 - [Storage] avoid extra copy in create_proof_store by @GarmashAlex in #2384
- Update quint 0.29.1 by @dnkolegov-ar in #2204
- Codec fuzz tests by @dnkolegov-ar in #2345
- [macros] Require shutdown handler in
select_loop!by @clabby in #2383 - Fuzz simplex messages by @dnkolegov-ar in #2288
- [Storage] Replace
adb::store::Dbtrait by @danlaine in #2370 - [consensus/marshal] Cache proposed blocks by @clabby in #2393
- [storage/adb/any/unordered] optimized batch update for adb::any::unordered by @roberto-bayardo in #2385
- fix(utils): swap incorrect comments in capture_appended_chunks by @aso20455 in #2389
- Fuzz targets for the simplex consensus by @dnkolegov-ar in #1344
- [macros] Fuse futures inline by @clabby in #2403
- [Storage] Add dirty/clean type state to
bitmap::authenticated,adb::currentby @danlaine in #2334 - [AGENTS.md] Add comment about storage failures by @danlaine in #2402
- [utils/ordered] Introduce
BiMapby @patrick-ogrady in #2102 - [resolver/p2p] support targeted peer selection by @andresilva in #2391
- [Storage] Rename
adbtoqmdbby @danlaine in #2409 - [consensus/simplex] Fix fuzzer by @dnkolegov-ar in #2427
- [resolver/p2p] Fix state leaks in retain and clear handlers by @andresilva in #2421
- [storage/qmdb/bench] add any::ordered::variable variant to qmdb benchmarks by @roberto-bayardo in #2416
- [p2p] Consistent
subscribe()by @patrick-ogrady in #2415 - [workspace] just fix by @andresilva in #2401
- [ci] Clear Disk Space by @clabby in #2438
- [Storage] Relax type constraints in
journal::authenticatedandadb::any::*by @danlaine in #2413 - [ci] Add
zepterby @clabby in #2436 - [storage/qmdb/any/ordered] fix ordered-any update edge case bug by @roberto-bayardo in #2433
- [cryptography/dkg] Migrate to
dkg2by @patrick-ogrady in #2439 - [docs] QMDB All The Things by @patrick-ogrady in #2448
- [docs/blog/qmdb] nits by @roberto-bayardo in #2451
- [docs] Add Canonical Link Meta by @patrick-ogrady in #2453
- [docs] Ignore cdn-cgi by @patrick-ogrady in #2454
- [docs] Add video objects by @patrick-ogrady in #2455
- [consensus/simplex] make signing scheme signer construction explicit by @andresilva in #2444
- [storage/metadata] support variable-length keys by @andresilva in #2447
- [runtime/utils/buffer/pool] handle page number overflow by @andresilva in #2445
- [utils] NZU* macros validate literals at compile time by @andresilva in #2443
- [broadcast] move constructor and keep one impl block by @stevencartavia in #2440
- [runtime] Validate partition names by @clabby in #2437
- [codec] Codec conformance tests by @clabby in #2430
- [storage/index] make next_translated_key/prev_translated_key in ordered trait perform cycle-around by @roberto-bayardo in #2458
- [storage/adb/ordered] implement optimized batch update for any::ordered by @roberto-bayardo in #2412
- [utils]
channels::ringby @clabby in #2459 - [commonware-storage::qmdb] Consolidate fixed/variable-length value
any::unorderedoperations by @danlaine in #2441 - deployer: remove unused VPC and subnet CIDR maps by @Bashmunta in #2434
- [p2p] Optionally self-limit outbound message rate by @clabby in #2414
- [storage/qmdb] optimized batch processing for current dbs by @roberto-bayardo in #2472
- [conformance] Split
conformancetest util into its own crate by @clabby in #2478 - [p2p/simulated] Add Rate Limiting by @patrick-ogrady in #2483
- [cryptography] Fix unused field warning by @clabby in #2486
- [broadcast/fuzz] Fix Unbounded Sleep by @patrick-ogrady in #2488
- Fix clippy lints for rust 1.92.0 by @cronokirby in #2490
- Create math crate by @cronokirby in #2398
- [conformance] Human-readable test names by @clabby in #2493
- [conformance] Complete codec conformance coverage by @clabby in #2489
- [consensus/simplex] immediately nullify proposals that fail verification by @andresilva in #2450
- fix(stream/crypto): bind handshake transcript to app namespace by @phrwlk in #2407
- Update namespaces by @patrick-ogrady in #2501
- Fix Conformance on Main by @patrick-ogrady in #2503
- [consensus] Remove redundant proposal re-allocation by @clabby in #2511
- [consensus] generalize
Schemeto all consensus engines by @andresilva in #2220 - [storage/qmdb] Improve current-db proving API, enforce "commit always exists" invariant in all qmdbs. by @roberto-bayardo in #2507
- [examples/reshare] Add "Catchup" Test by @patrick-ogrady in #2522
- [ci] require label for conformance.toml changes by @andresilva in #2524
- [ci] Fix Conformance in Merge Queue by @patrick-ogrady in #2528
- [runtime] Support DNS Resolution by @patrick-ogrady in #2525
- [storage/qmdb] make qmdb associated value type require Clone by @roberto-bayardo in #2531
- [Storage] Consolidate
qmdb::anyordered/unordered operation types by @danlaine in #2532 - [Storage] Consolidate
qmdb::anyIndexedLogimplementations by @danlaine in #2535 - [storage] Fixed + Variable journal conformance test by @clabby in #2539
- [ci] Cache conformance test builds by @clabby in #2541
- [p2p] Introduce
LimitedSender&CheckedSenderby @clabby in #2533 - [consensus/aggregation] handle overflow by @andresilva in #2543
- [cryptography] Handshake conformance by @clabby in #2542
- [storage/qmdb] add capability to stream active key/value pairs in key order by @roberto-bayardo in #2526
- [consensus/simplex] make leader election pluggable by @andresilva in #2529
- [resolver] Absorb
p2p::requesterby @clabby in #2508 - [p2p] Add Support for Asymmetric Ingress/Egress + DNS Ingress by @patrick-ogrady in #2534
- [storage/qmdb/current] restructure current db in preparation for variable variants by @roberto-bayardo in #2546
- [p2p/discovery] Implement
Greetingby @patrick-ogrady in #2553 - [utils] add NonEmptyVec wrapper by @andresilva in #2422
- [storage/journal] operation->item terminology cleanup by @roberto-bayardo in #2564
- [codec/varint] expose byte-by-byte stateful decoder by @andresilva in #2568
- [stream] make max message size a u32 by @andresilva in #2569
- [consensus/marshal] Support for "Lossy" Applications by @stevencartavia in #2461
- [workspace]
retain_recenton rate-limiters by @clabby in #2571 - [consensus] Allow variable epoch lengths by @stevencartavia in #2510
- [runtime] Disallow invalid metric names by @clabby in #2572
- [runtime] Remove
AsRefandAsMutimpls forCell<T>by @clabby in #2573 - [consensus] Improve Edge Case Handling on
Epocherby @patrick-ogrady in #2574 - [consensus] Add
Random::select_leaderhelper by @clabby in #2579 - [docs]
conformanceblog by @clabby in #2544 - [consensus/marshal, examples/reshare] trigger fetch finalization by @andresilva in #2582
- [reshare] Single-validator, single-epoch test by @clabby in #2583
- [examples/reshare] provide certificate verifier by @andresilva in #2585
- [consensus/marshal] add test for hint_finalized by @andresilva in #2587
- [storage/journal/variable] use varint and remove read_exact by @andresilva in #2577
- [consensus] Add
certify()withoutContextby @BrendanChou in #2565 - [cryptography/certificate] encode signer index as varint by @andresilva in #2578
- [consensus/simplex] Avoid Useless Certificate Processing by @patrick-ogrady in #2590
- [consensus/simplex] Verify Anything Above Finalized by @patrick-ogrady in #2592
- [runtime/network/tokio] Use
BufReaderfor read buffering by @clabby in #2595 - [stream] encode length as varint by @andresilva in #2555
- [release] v0.0.64 by @patrick-ogrady in #2594
- [docs] Add
mathandconformanceto homepage by @patrick-ogrady in #2599
New Contributors
- @prestoalvarez made their first contribution in #2163
- @davidcardenasus made their first contribution in #2172
- @GarmashAlex made their first contribution in #2224
- @MozirDmitriy made their first contribution in #2257
- @samlaf made their first contribution in #2273
- @sashass1315 made their first contribution in #2316
- @stevencartavia made their first contribution in #2440
- @Bashmunta made their first contribution in #2434
- @phrwlk made their first contribution in #2407
Stats
.config/nextest.toml | 1 +
.config/zepter.yaml | 1 +
.github/actions/disk/action.yml | 53 +
.github/actions/setup/action.yml | 60 +-
.github/scripts/check_conformance_label.sh | 42 +
.github/scripts/lint_cargo_toml.py | 55 +
.github/workflows/benchmark.yml | 5 +
.github/workflows/conformance-label.yml | 25 +
.github/workflows/coverage.yml | 42 +-
.github/workflows/fast.yml | 90 +-
.github/workflows/publish.yml | 20 +-
.github/workflows/quint.yml | 2 +-
.github/workflows/slow.yml | 76 +-
AGENTS.md | 121 +-
Cargo.lock | 2632 ++++++++------
Cargo.toml | 160 +-
README.md | 6 +-
broadcast/Cargo.toml | 27 +-
broadcast/fuzz/Cargo.toml | 17 +-
.../fuzz_targets/broadcast_engine_operations.rs | 47 +-
broadcast/src/buffered/engine.rs | 14 +-
broadcast/src/buffered/ingress.rs | 4 +-
broadcast/src/buffered/metrics.rs | 2 +-
broadcast/src/buffered/mod.rs | 31 +-
codec/Cargo.toml | 24 +-
codec/conformance.toml | 171 +
codec/fuzz/Cargo.toml | 8 +-
codec/fuzz/fuzz_targets/codec_roundtrip.rs | 265 +-
codec/src/config.rs | 99 +-
codec/src/conformance.rs | 69 +
codec/src/lib.rs | 9 +
codec/src/types/btree_map.rs | 12 +-
codec/src/types/btree_set.rs | 12 +-
codec/src/types/bytes.rs | 47 +
codec/src/types/hash_map.rs | 12 +-
codec/src/types/hash_set.rs | 14 +-
codec/src/types/net.rs | 136 +-
codec/src/types/primitives.rs | 33 +-
codec/src/types/tuple.rs | 13 +
codec/src/types/vec.rs | 13 +-
codec/src/util.rs | 14 +-
codec/src/varint.rs | 170 +-
coding/Cargo.toml | 36 +-
coding/conformance.toml | 23 +
coding/fuzz/Cargo.toml | 13 +-
coding/fuzz/fuzz_targets/zoda.rs | 10 +
coding/fuzz/src/lib.rs | 99 +-
coding/proptest-regressions/field.txt | 7 +
coding/proptest-regressions/ntt.txt | 9 +
coding/proptest-regressions/zoda/field.txt | 8 +
coding/src/benches/bench.rs | 168 +-
coding/src/benches/bench_size.rs | 8 +-
coding/src/benches/no_coding.rs | 4 +-
coding/src/benches/reed_solomon.rs | 4 +-
coding/src/benches/zoda.rs | 18 +
coding/src/lib.rs | 322 +-
coding/src/no_coding.rs | 84 +-
coding/src/reed_solomon/mod.rs | 220 +-
coding/src/zoda.rs | 886 +++++
collector/Cargo.toml | 34 +-
collector/fuzz/Cargo.toml | 20 +-
collector/fuzz/fuzz_targets/collector.rs | 28 +-
collector/src/p2p/engine.rs | 230 +-
collector/src/p2p/ingress.rs | 2 +-
collector/src/p2p/mocks/sender.rs | 27 +-
collector/src/p2p/mod.rs | 36 +-
conformance/Cargo.toml | 21 +
conformance/README.md | 10 +
conformance/macros/Cargo.toml | 21 +
conformance/macros/README.md | 10 +
conformance/macros/src/lib.rs | 212 ++
conformance/src/lib.rs | 393 +++
consensus/Cargo.toml | 62 +-
consensus/conformance.toml | 139 +
consensus/fuzz/Cargo.toml | 72 +-
consensus/fuzz/fuzz_targets/attributable_map.rs | 100 +
.../simplex_bls12381_multisig_minpk.rs | 25 +
.../simplex_bls12381_multisig_minsig.rs | 25 +
.../simplex_bls12381_threshold_minpk.rs | 25 +
.../simplex_bls12381_threshold_minsig.rs | 25 +
consensus/fuzz/fuzz_targets/simplex_ed25519.rs | 22 +
consensus/fuzz/fuzz_targets/simplex_elector.rs | 85 +
consensus/fuzz/fuzz_targets/simplex_messages.rs | 103 +
.../fuzz/fuzz_targets/simplex_select_leader.rs | 83 -
consensus/fuzz/src/disrupter.rs | 370 ++
consensus/fuzz/src/invariants.rs | 225 ++
consensus/fuzz/src/lib.rs | 305 ++
consensus/fuzz/src/types.rs | 37 +
consensus/fuzz/src/utils.rs | 120 +
consensus/src/aggregation/config.rs | 31 +-
consensus/src/aggregation/engine.rs | 281 +-
consensus/src/aggregation/metrics.rs | 26 +-
consensus/src/aggregation/mocks/application.rs | 4 +-
consensus/src/aggregation/mocks/mod.rs | 8 +-
consensus/src/aggregation/mocks/provider.rs | 52 +
consensus/src/aggregation/mocks/reporter.rs | 89 +-
consensus/src/aggregation/mocks/supervisor.rs | 14 +-
consensus/src/aggregation/mod.rs | 919 +++--
consensus/src/aggregation/safe_tip.rs | 250 +-
consensus/src/aggregation/scheme.rs | 66 +
consensus/src/aggregation/types.rs | 465 ++-
consensus/src/application/marshaled.rs | 531 +++
consensus/src/application/mod.rs | 7 +
consensus/src/lib.rs | 163 +-
consensus/src/marshal/actor.rs | 680 ++--
consensus/src/marshal/cache.rs | 84 +-
consensus/src/marshal/config.rs | 53 +-
consensus/src/marshal/finalizer.rs | 128 -
consensus/src/marshal/ingress/handler.rs | 74 +-
consensus/src/marshal/ingress/mailbox.rs | 256 +-
consensus/src/marshal/ingress/mod.rs | 1 -
consensus/src/marshal/ingress/orchestrator.rs | 87 -
consensus/src/marshal/mocks/application.rs | 4 +-
consensus/src/marshal/mod.rs | 1387 ++++++--
consensus/src/marshal/resolver/p2p.rs | 29 +-
consensus/src/marshal/store.rs | 313 ++
consensus/src/ordered_broadcast/ack_manager.rs | 744 ++--
consensus/src/ordered_broadcast/config.rs | 43 +-
consensus/src/ordered_broadcast/engine.rs | 388 ++-
consensus/src/ordered_broadcast/metrics.rs | 25 +-
consensus/src/ordered_broadcast/mocks/automaton.rs | 4 +-
consensus/src/ordered_broadcast/mocks/mod.rs | 8 +-
consensus/src/ordered_broadcast/mocks/provider.rs | 47 +
consensus/src/ordered_broadcast/mocks/reporter.rs | 66 +-
.../src/ordered_broadcast/mocks/sequencers.rs | 31 +-
.../src/ordered_broadcast/mocks/validators.rs | 72 -
consensus/src/ordered_broadcast/mod.rs | 1029 +++---
consensus/src/ordered_broadcast/scheme.rs | 75 +
consensus/src/ordered_broadcast/tip_manager.rs | 320 +-
consensus/src/ordered_broadcast/types.rs | 1980 +++++++----
consensus/src/reporter.rs | 35 +
consensus/src/simplex/actors/batcher/actor.rs | 723 ++--
consensus/src/simplex/actors/batcher/ingress.rs | 19 +-
consensus/src/simplex/actors/batcher/mod.rs | 1402 +++++++-
consensus/src/simplex/actors/batcher/round.rs | 420 +++
consensus/src/simplex/actors/batcher/verifier.rs | 1215 +++++++
consensus/src/simplex/actors/resolver/actor.rs | 815 ++---
consensus/src/simplex/actors/resolver/ingress.rs | 135 +-
consensus/src/simplex/actors/resolver/mod.rs | 12 +-
consensus/src/simplex/actors/resolver/state.rs | 619 ++++
consensus/src/simplex/actors/voter/actor.rs | 2290 ++++---------
consensus/src/simplex/actors/voter/ingress.rs | 42 +-
consensus/src/simplex/actors/voter/mod.rs | 2275 +++++++++++--
consensus/src/simplex/actors/voter/round.rs | 788 +++++
consensus/src/simplex/actors/voter/slot.rs | 337 ++
consensus/src/simplex/actors/voter/state.rs | 1178 +++++++
consensus/src/simplex/config.rs | 61 +-
consensus/src/simplex/elector.rs | 449 +++
consensus/src/simplex/engine.rs | 132 +-
consensus/src/simplex/metrics.rs | 28 +-
consensus/src/simplex/mocks/application.rs | 168 +-
consensus/src/simplex/mocks/conflicter.rs | 41 +-
consensus/src/simplex/mocks/equivocator.rs | 182 +
consensus/src/simplex/mocks/fixtures.rs | 133 -
consensus/src/simplex/mocks/impersonator.rs | 45 +-
consensus/src/simplex/mocks/mod.rs | 4 +-
consensus/src/simplex/mocks/nuller.rs | 38 +-
consensus/src/simplex/mocks/nullify_only.rs | 66 +
consensus/src/simplex/mocks/outdated.rs | 47 +-
consensus/src/simplex/mocks/reconfigurer.rs | 55 +-
consensus/src/simplex/mocks/relay.rs | 53 +-
consensus/src/simplex/mocks/reporter.rs | 103 +-
consensus/src/simplex/mocks/twins.rs | 343 ++
consensus/src/simplex/mod.rs | 2643 +++++++++++---
consensus/src/simplex/scheme/bls12381_multisig.rs | 11 +
.../bls12381_threshold.rs | 783 +++--
consensus/src/simplex/scheme/ed25519.rs | 11 +
consensus/src/simplex/scheme/mod.rs | 133 +
.../simplex/{signing_scheme => scheme}/reporter.rs | 93 +-
.../simplex/signing_scheme/bls12381_multisig.rs | 1112 ------
consensus/src/simplex/signing_scheme/ed25519.rs | 1036 ------
consensus/src/simplex/signing_scheme/mod.rs | 258 --
consensus/src/simplex/signing_scheme/utils.rs | 135 -
consensus/src/simplex/types.rs | 3589 +++++++++-----------
consensus/src/types.rs | 1049 +++++-
consensus/src/utils.rs | 108 -
cryptography/Cargo.toml | 86 +-
cryptography/conformance.toml | 147 +
cryptography/fuzz/Cargo.toml | 35 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 2 +-
.../fuzz/fuzz_targets/bls12381_batch_verifier.rs | 18 +-
cryptography/fuzz/fuzz_targets/bls12381_dkg.rs | 34 +
.../fuzz_targets/bls12381_primitive_operations.rs | 249 +-
.../fuzz_targets/bls12381_threshold_operations.rs | 355 +-
cryptography/fuzz/fuzz_targets/common/mod.rs | 93 +-
.../fuzz/fuzz_targets/ed25519_batch_verifier.rs | 18 +-
.../fuzz_targets/secp256r1_recoverable_decode.rs | 179 +
...56r1_decode.rs => secp256r1_standard_decode.rs} | 16 +-
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 2 +-
cryptography/src/blake3/mod.rs | 40 +-
cryptography/src/bloomfilter.rs | 24 +
.../benches/batch_verify_multiple_messages.rs | 9 +-
.../benches/batch_verify_multiple_public_keys.rs | 9 +-
cryptography/src/bls12381/benches/bench.rs | 6 +-
cryptography/src/bls12381/benches/dkg.rs | 159 +
cryptography/src/bls12381/benches/dkg_recovery.rs | 69 -
.../src/bls12381/benches/dkg_reshare_recovery.rs | 119 -
.../src/bls12381/benches/evaluate_point.rs | 16 +-
.../benches/partial_verify_multiple_public_keys.rs | 24 +-
...tial_verify_multiple_public_keys_precomputed.rs | 34 +-
.../src/bls12381/benches/signature_generation.rs | 7 +-
.../src/bls12381/benches/signature_verification.rs | 11 +-
.../benches/threshold_signature_recover.rs | 48 +-
cryptography/src/bls12381/certificate/mod.rs | 9 +
.../src/bls12381/certificate/multisig/mocks.rs | 63 +
.../src/bls12381/certificate/multisig/mod.rs | 1139 +++++++
.../src/bls12381/certificate/threshold/mocks.rs | 64 +
.../src/bls12381/certificate/threshold/mod.rs | 1204 +++++++
cryptography/src/bls12381/dkg.rs | 2588 ++++++++++++++
cryptography/src/bls12381/dkg/arbiter.rs | 274 --
cryptography/src/bls12381/dkg/dealer.rs | 97 -
cryptography/src/bls12381/dkg/mod.rs | 1834 ----------
cryptography/src/bls12381/dkg/ops.rs | 191 --
cryptography/src/bls12381/dkg/player.rs | 237 --
cryptography/src/bls12381/dkg/types.rs | 236 --
cryptography/src/bls12381/mod.rs | 4 +-
cryptography/src/bls12381/primitives/group.rs | 867 +++--
cryptography/src/bls12381/primitives/mod.rs | 21 +-
cryptography/src/bls12381/primitives/ops.rs | 812 ++---
cryptography/src/bls12381/primitives/poly.rs | 576 ----
cryptography/src/bls12381/primitives/sharing.rs | 302 ++
cryptography/src/bls12381/primitives/variant.rs | 101 +-
cryptography/src/bls12381/scheme.rs | 264 +-
cryptography/src/bls12381/tle.rs | 60 +-
cryptography/src/certificate.rs | 519 +++
.../benches/batch_verify_multiple_messages.rs | 9 +-
.../benches/batch_verify_multiple_public_keys.rs | 9 +-
.../src/ed25519/benches/signature_generation.rs | 7 +-
.../src/ed25519/benches/signature_verification.rs | 9 +-
cryptography/src/ed25519/certificate/mocks.rs | 67 +
cryptography/src/ed25519/certificate/mod.rs | 1210 +++++++
cryptography/src/ed25519/mod.rs | 8 +-
cryptography/src/ed25519/scheme.rs | 171 +-
cryptography/src/handshake.rs | 123 +-
cryptography/src/handshake/benches/bench.rs | 24 +-
cryptography/src/handshake/cipher.rs | 4 +-
cryptography/src/handshake/conformance.rs | 91 +
cryptography/src/handshake/key_exchange.rs | 22 +-
cryptography/src/lib.rs | 190 +-
cryptography/src/lthash/mod.rs | 17 +-
.../src/secp256r1/benches/signature_generation.rs | 25 +-
.../secp256r1/benches/signature_verification.rs | 23 +-
cryptography/src/secp256r1/common.rs | 882 +++++
cryptography/src/secp256r1/mod.rs | 22 +-
cryptography/src/secp256r1/recoverable.rs | 701 ++++
cryptography/src/secp256r1/scheme.rs | 1106 ------
cryptography/src/secp256r1/standard.rs | 571 ++++
cryptography/src/sha256/mod.rs | 40 +-
cryptography/src/transcript.rs | 44 +-
deployer/Cargo.toml | 32 +-
deployer/src/ec2/aws.rs | 2 +-
deployer/src/ec2/create.rs | 4 -
deployer/src/ec2/utils.rs | 8 +-
deployer/src/main.rs | 2 +-
docs/benchmarks.html | 281 +-
docs/blogs/adb-any.html | 8 +-
docs/blogs/adb-current.html | 4 +-
docs/blogs/buffered-signatures.html | 4 +-
docs/blogs/commonware-broadcast.html | 2 +
docs/blogs/commonware-cryptography.html | 2 +
docs/blogs/commonware-deployer.html | 2 +
docs/blogs/commonware-runtime.html | 2 +
docs/blogs/commonware-the-anti-framework.html | 4 +-
docs/blogs/conformance.html | 240 ++
docs/blogs/introducing-commonware.html | 2 +
docs/blogs/minimmit.html | 7 +-
docs/blogs/mmr.html | 2 +
docs/blogs/only-time-will-tell.html | 6 +-
docs/blogs/qmdb.html | 104 +
docs/blogs/reshare.html | 193 ++
docs/blogs/threshold-simplex.html | 4 +-
docs/blogs/welcome-tempo.html | 111 +
docs/blogs/zoda.html | 576 ++++
docs/blogs/zoda.md | 380 +++
docs/generate_sitemap.py | 69 +
docs/hiring.html | 2 +
docs/imgs/conformance.jpg | Bin 0 -> 24821 bytes
docs/imgs/dkg_bootstrap.png | Bin 0 -> 473285 bytes
docs/imgs/epoching-cover.png | Bin 0 -> 440407 bytes
docs/imgs/epoching.png | Bin 0 -> 532451 bytes
docs/imgs/qmdb.png | Bin 0 -> 235941 bytes
docs/imgs/reshare_actors.png | Bin 0 -> 153713 bytes
docs/imgs/vilmo.png | Bin 0 -> 93575 bytes
docs/imgs/welcome-tempo.jpg | Bin 0 -> 428758 bytes
docs/imgs/zoda-000.png | Bin 0 -> 45105 bytes
docs/imgs/zoda-001.png | Bin 0 -> 43074 bytes
docs/imgs/zoda-002.png | Bin 0 -> 95569 bytes
docs/imgs/zoda-003.png | Bin 0 -> 73199 bytes
docs/imgs/zoda-card.png | Bin 0 -> 218057 bytes
docs/index.html | 42 +-
docs/makefile | 19 +
docs/podcast.html | 77 +
docs/robots.txt | 3 +-
docs/shared.js | 29 +
docs/sitemap.xml | 69 +
docs/style.css | 10 +-
docs/template.html | 102 +
examples/bridge/Cargo.toml | 35 +-
examples/bridge/src/application/actor.rs | 22 +-
examples/bridge/src/application/ingress.rs | 10 +-
examples/bridge/src/application/mod.rs | 8 +-
examples/bridge/src/bin/dealer.rs | 14 +-
examples/bridge/src/bin/indexer.rs | 15 +-
examples/bridge/src/bin/validator.rs | 50 +-
examples/bridge/src/lib.rs | 6 +-
examples/bridge/src/types/block.rs | 33 +-
examples/bridge/src/types/inbound.rs | 59 +-
examples/bridge/src/types/outbound.rs | 39 +-
examples/chat/Cargo.toml | 30 +-
examples/chat/src/handler.rs | 4 +-
examples/chat/src/logger.rs | 4 +-
examples/chat/src/main.rs | 18 +-
examples/estimator/Cargo.toml | 36 +-
...tor_large_block.lazy => kudzu_large_block.lazy} | 2 +-
...ng_50.lazy => kudzu_large_block_coding_50.lazy} | 2 +-
...tor_small_block.lazy => kudzu_small_block.lazy} | 2 +-
examples/estimator/src/lib.rs | 57 +-
examples/estimator/src/main.rs | 67 +-
examples/flood/Cargo.toml | 31 +-
examples/flood/src/bin/flood.rs | 17 +-
examples/flood/src/bin/setup.rs | 9 +-
examples/flood/src/lib.rs | 2 +-
examples/log/Cargo.toml | 36 +-
examples/log/src/application/actor.rs | 6 +-
examples/log/src/application/ingress.rs | 11 +-
examples/log/src/application/mod.rs | 6 +-
examples/log/src/application/reporter.rs | 8 +-
examples/log/src/gui.rs | 15 +-
examples/log/src/main.rs | 42 +-
examples/reshare/Cargo.toml | 35 +-
examples/reshare/src/application/actor.rs | 250 --
examples/reshare/src/application/core.rs | 113 +
examples/reshare/src/application/ingress.rs | 136 -
examples/reshare/src/application/mod.rs | 9 +-
examples/reshare/src/application/scheme.rs | 110 +-
examples/reshare/src/application/types.rs | 28 +-
examples/reshare/src/dkg/actor.rs | 1034 +++---
examples/reshare/src/dkg/egress.rs | 60 +
examples/reshare/src/dkg/ingress.rs | 58 +-
examples/reshare/src/dkg/manager.rs | 676 ----
examples/reshare/src/dkg/mod.rs | 8 +-
examples/reshare/src/dkg/state.rs | 663 ++++
examples/reshare/src/dkg/types.rs | 237 --
examples/reshare/src/engine.rs | 268 +-
examples/reshare/src/main.rs | 80 +-
examples/reshare/src/namespace.rs | 4 +
examples/reshare/src/orchestrator/actor.rs | 339 +-
examples/reshare/src/orchestrator/ingress.rs | 30 +-
examples/reshare/src/orchestrator/mod.rs | 2 +-
examples/reshare/src/setup.rs | 228 +-
examples/reshare/src/validator.rs | 2522 ++++++--------
examples/sync/Cargo.toml | 35 +-
examples/sync/README.md | 2 +-
examples/sync/src/bin/client.rs | 40 +-
examples/sync/src/bin/server.rs | 197 +-
examples/sync/src/databases/any.rs | 47 +-
examples/sync/src/databases/immutable.rs | 19 +-
examples/sync/src/databases/mod.rs | 26 +-
examples/sync/src/error.rs | 12 +-
examples/sync/src/lib.rs | 4 +-
examples/sync/src/net/io.rs | 80 +-
examples/sync/src/net/mod.rs | 74 +-
examples/sync/src/net/request_id.rs | 2 +-
examples/sync/src/net/resolver.rs | 2 +-
examples/sync/src/net/wire.rs | 48 +-
examples/vrf/Cargo.toml | 35 -
examples/vrf/README.md | 53 -
examples/vrf/src/handlers/arbiter.rs | 258 --
examples/vrf/src/handlers/contributor.rs | 485 ---
examples/vrf/src/handlers/mod.rs | 18 -
examples/vrf/src/handlers/vrf.rs | 194 --
examples/vrf/src/handlers/wire.rs | 399 ---
examples/vrf/src/main.rs | 311 --
justfile | 50 +-
macros/Cargo.toml | 22 +-
macros/src/lib.rs | 247 +-
macros/src/nextest.rs | 139 +
macros/tests/select.rs | 146 +-
math/Cargo.toml | 46 +
math/README.md | 10 +
math/conformance.toml | 19 +
math/proptest-regressions/algebra.txt | 7 +
math/proptest-regressions/poly.txt | 7 +
math/src/algebra.rs | 633 ++++
math/src/fields/goldilocks.rs | 510 +++
math/src/lib.rs | 18 +
math/src/ntt.rs | 1093 ++++++
math/src/poly.rs | 617 ++++
math/src/test.rs | 304 ++
nextest.toml | 15 +
p2p/Cargo.toml | 54 +-
p2p/conformance.toml | 27 +
p2p/fuzz/Cargo.toml | 21 +-
p2p/fuzz/fuzz_targets/simulated.rs | 25 +-
p2p/fuzz/src/lib.rs | 73 +-
p2p/src/authenticated/data.rs | 25 +-
p2p/src/authenticated/discovery/actors/dialer.rs | 104 +-
p2p/src/authenticated/discovery/actors/listener.rs | 265 +-
.../authenticated/discovery/actors/peer/actor.rs | 603 +++-
p2p/src/authenticated/discovery/actors/peer/mod.rs | 9 +-
.../authenticated/discovery/actors/router/actor.rs | 171 +-
.../discovery/actors/router/ingress.rs | 28 +-
.../discovery/actors/spawner/actor.rs | 146 +-
.../authenticated/discovery/actors/spawner/mod.rs | 3 -
.../discovery/actors/tracker/actor.rs | 241 +-
.../discovery/actors/tracker/directory.rs | 114 +-
.../discovery/actors/tracker/ingress.rs | 55 +-
.../discovery/actors/tracker/metadata.rs | 12 +-
.../discovery/actors/tracker/metrics.rs | 2 +-
.../authenticated/discovery/actors/tracker/mod.rs | 9 +-
.../discovery/actors/tracker/record.rs | 336 +-
.../discovery/actors/tracker/reservation.rs | 4 +-
.../authenticated/discovery/actors/tracker/set.rs | 36 +-
p2p/src/authenticated/discovery/channels.rs | 120 +-
p2p/src/authenticated/discovery/config.rs | 53 +-
p2p/src/authenticated/discovery/metrics.rs | 32 +-
p2p/src/authenticated/discovery/mod.rs | 966 +++++-
p2p/src/authenticated/discovery/network.rs | 67 +-
p2p/src/authenticated/discovery/types.rs | 453 ++-
p2p/src/authenticated/lookup/actors/dialer.rs | 118 +-
p2p/src/authenticated/lookup/actors/listener.rs | 300 +-
p2p/src/authenticated/lookup/actors/peer/actor.rs | 128 +-
p2p/src/authenticated/lookup/actors/peer/mod.rs | 2 -
.../authenticated/lookup/actors/router/actor.rs | 180 +-
.../authenticated/lookup/actors/router/ingress.rs | 26 +-
.../authenticated/lookup/actors/spawner/actor.rs | 125 +-
p2p/src/authenticated/lookup/actors/spawner/mod.rs | 3 -
.../authenticated/lookup/actors/tracker/actor.rs | 141 +-
.../lookup/actors/tracker/directory.rs | 509 ++-
.../authenticated/lookup/actors/tracker/ingress.rs | 66 +-
.../lookup/actors/tracker/metadata.rs | 16 +-
.../authenticated/lookup/actors/tracker/metrics.rs | 2 +-
p2p/src/authenticated/lookup/actors/tracker/mod.rs | 9 +-
.../authenticated/lookup/actors/tracker/record.rs | 407 ++-
.../lookup/actors/tracker/reservation.rs | 4 +-
p2p/src/authenticated/lookup/channels.rs | 121 +-
p2p/src/authenticated/lookup/config.rs | 41 +-
p2p/src/authenticated/lookup/metrics.rs | 18 +-
p2p/src/authenticated/lookup/mod.rs | 879 ++++-
p2p/src/authenticated/lookup/network.rs | 57 +-
p2p/src/authenticated/lookup/types.rs | 52 +-
p2p/src/authenticated/relay.rs | 2 +-
p2p/src/lib.rs | 139 +-
p2p/src/simulated/bandwidth.rs | 11 +-
p2p/src/simulated/ingress.rs | 235 +-
p2p/src/simulated/mod.rs | 953 +++++-
p2p/src/simulated/network.rs | 1144 +++++--
p2p/src/simulated/transmitter.rs | 86 +-
p2p/src/types.rs | 473 +++
p2p/src/utils/codec.rs | 48 +-
p2p/src/utils/limited.rs | 598 ++++
p2p/src/utils/mod.rs | 48 +-
p2p/src/utils/mux.rs | 284 +-
p2p/src/utils/requester/config.rs | 20 -
p2p/src/utils/requester/metrics.rs | 70 -
p2p/src/utils/requester/mod.rs | 10 -
p2p/src/utils/requester/requester.rs | 466 ---
pipeline/minimmit/minimmit.md | 2 +-
resolver/Cargo.toml | 44 +-
resolver/conformance.toml | 7 +
resolver/src/lib.rs | 41 +-
resolver/src/p2p/config.rs | 16 +-
resolver/src/p2p/engine.rs | 197 +-
resolver/src/p2p/fetcher.rs | 1596 +++++++--
resolver/src/p2p/ingress.rs | 81 +-
resolver/src/p2p/metrics.rs | 7 +-
resolver/src/p2p/mod.rs | 1126 +++++-
resolver/src/p2p/wire.rs | 70 +-
runtime/Cargo.toml | 62 +-
runtime/fuzz/Cargo.toml | 6 +-
runtime/src/benchmarks/context.rs | 10 +-
runtime/src/benchmarks/tokio.rs | 2 +-
runtime/src/deterministic.rs | 157 +-
runtime/src/iouring/mod.rs | 48 +-
runtime/src/lib.rs | 279 +-
runtime/src/mocks.rs | 2 +-
runtime/src/network/audited.rs | 7 +-
runtime/src/network/deterministic.rs | 5 +-
runtime/src/network/iouring.rs | 19 +-
runtime/src/network/metered.rs | 5 +-
runtime/src/network/tokio.rs | 131 +-
runtime/src/process/metered.rs | 16 +-
runtime/src/storage/audited.rs | 2 +-
runtime/src/storage/iouring.rs | 22 +-
runtime/src/storage/memory.rs | 6 +
runtime/src/storage/mod.rs | 85 +
runtime/src/storage/tokio/mod.rs | 8 +-
runtime/src/telemetry/metrics/histogram.rs | 21 +-
runtime/src/telemetry/metrics/status.rs | 19 +-
runtime/src/telemetry/metrics/task.rs | 4 +-
runtime/src/telemetry/traces/collector.rs | 26 +-
runtime/src/tokio/runtime.rs | 68 +-
runtime/src/tokio/telemetry.rs | 22 +-
runtime/src/tokio/tracing.rs | 9 +-
runtime/src/utils/buffer/pool.rs | 58 +-
runtime/src/utils/buffer/read.rs | 10 +-
runtime/src/utils/buffer/tip.rs | 4 +-
runtime/src/utils/cell.rs | 89 +-
runtime/src/utils/handle.rs | 4 +-
runtime/src/utils/mod.rs | 38 +-
runtime/src/utils/signal.rs | 20 +-
runtime/src/utils/supervision.rs | 2 +-
storage/Cargo.toml | 68 +-
storage/conformance.toml | 115 +
storage/fuzz/Cargo.toml | 56 +-
.../fuzz_targets/current_ordered_operations.rs | 119 +-
.../fuzz_targets/current_unordered_operations.rs | 109 +-
storage/fuzz/fuzz_targets/extract_pinned_nodes.rs | 2 +-
.../fuzz/fuzz_targets/fixed_journal_operations.rs | 4 +-
storage/fuzz/fuzz_targets/metadata_operations.rs | 13 +-
storage/fuzz/fuzz_targets/mmr_bitmap.rs | 126 +-
storage/fuzz/fuzz_targets/mmr_journaled.rs | 401 ++-
storage/fuzz/fuzz_targets/mmr_operations.rs | 28 +-
.../fuzz/fuzz_targets/ordered_index_operations.rs | 9 +-
storage/fuzz/fuzz_targets/proof_store.rs | 96 +
storage/fuzz/fuzz_targets/proofs_malleability.rs | 10 +-
...db_any_fixed_sync.rs => qmdb_any_fixed_sync.rs} | 124 +-
..._variable_sync.rs => qmdb_any_variable_sync.rs} | 93 +-
.../{adb_immutable.rs => qmdb_immutable.rs} | 50 +-
.../{adb_keyless.rs => qmdb_keyless.rs} | 59 +-
storage/fuzz/fuzz_targets/qmdb_ordered_batching.rs | 197 ++
...ed_operations.rs => qmdb_ordered_operations.rs} | 97 +-
..._operations.rs => qmdb_unordered_operations.rs} | 75 +-
storage/fuzz/fuzz_targets/range_proof.rs | 10 +-
storage/fuzz/fuzz_targets/store_operations.rs | 75 +-
.../fuzz_targets/unordered_index_operations.rs | 9 +-
storage/fuzz/fuzz_targets/verify_proof.rs | 2 +-
storage/src/adb/any/fixed/mod.rs | 505 ---
storage/src/adb/any/fixed/ordered.rs | 1839 ----------
storage/src/adb/any/fixed/unordered.rs | 1478 --------
storage/src/adb/any/mod.rs | 5 -
storage/src/adb/any/variable/mod.rs | 1686 ---------
storage/src/adb/benches/bench.rs | 15 -
storage/src/adb/benches/fixed_generate.rs | 364 --
storage/src/adb/benches/fixed_init.rs | 324 --
storage/src/adb/benches/variable_generate.rs | 208 --
storage/src/adb/benches/variable_init.rs | 157 -
storage/src/adb/current/mod.rs | 192 --
storage/src/adb/current/ordered.rs | 1689 ---------
storage/src/adb/current/unordered.rs | 1275 -------
storage/src/adb/keyless.rs | 1563 ---------
storage/src/adb/mod.rs | 109 -
storage/src/adb/operation/fixed/mod.rs | 28 -
storage/src/adb/operation/fixed/ordered.rs | 207 --
storage/src/adb/operation/fixed/unordered.rs | 176 -
storage/src/adb/operation/keyless.rs | 76 -
storage/src/adb/operation/mod.rs | 342 --
storage/src/adb/operation/variable.rs | 576 ----
storage/src/adb/store/benches/bench.rs | 5 -
storage/src/adb/store/benches/restart.rs | 145 -
storage/src/adb/store/mod.rs | 1337 --------
storage/src/archive/benches/get.rs | 4 +-
storage/src/archive/benches/utils.rs | 60 +-
storage/src/archive/immutable/storage.rs | 24 +-
storage/src/archive/mod.rs | 15 +-
storage/src/archive/prunable/mod.rs | 29 +-
storage/src/archive/prunable/storage.rs | 84 +-
.../src/{mmr/bitmap.rs => bitmap/authenticated.rs} | 1106 +++---
storage/src/bitmap/mod.rs | 2 +
storage/src/bmt/benches/build.rs | 3 +-
storage/src/bmt/benches/prove_range.rs | 3 +-
storage/src/bmt/benches/prove_single.rs | 3 +-
storage/src/bmt/mod.rs | 229 +-
storage/src/cache/mod.rs | 6 +-
storage/src/cache/storage.rs | 72 +-
storage/src/freezer/benches/get.rs | 6 +-
storage/src/freezer/mod.rs | 49 +-
storage/src/freezer/storage.rs | 79 +-
storage/src/index/benches/hashmap_insert.rs | 2 +-
storage/src/index/benches/hashmap_insert_fixed.rs | 2 +-
storage/src/index/benches/hashmap_iteration.rs | 6 +-
storage/src/index/benches/insert.rs | 120 +-
storage/src/index/mod.rs | 756 ++++-
storage/src/index/ordered.rs | 218 +-
storage/src/index/partitioned/mod.rs | 133 +
storage/src/index/partitioned/ordered.rs | 435 +++
storage/src/index/partitioned/unordered.rs | 144 +
storage/src/index/storage.rs | 47 +-
storage/src/index/unordered.rs | 76 +-
storage/src/journal/authenticated.rs | 1708 ++++++++++
storage/src/journal/benches/fixed_read_random.rs | 3 +-
.../src/journal/benches/fixed_read_sequential.rs | 5 +-
storage/src/journal/benches/fixed_replay.rs | 3 +-
storage/src/journal/conformance.rs | 124 +
storage/src/journal/contiguous/fixed.rs | 181 +-
storage/src/journal/contiguous/mod.rs | 137 +-
storage/src/journal/contiguous/tests.rs | 297 +-
storage/src/journal/contiguous/variable.rs | 260 +-
storage/src/journal/mod.rs | 18 +-
storage/src/journal/segmented/variable.rs | 216 +-
storage/src/lib.rs | 5 +-
storage/src/metadata/mod.rs | 37 +-
storage/src/metadata/storage.rs | 58 +-
storage/src/mmr/benches/append.rs | 9 +-
storage/src/mmr/benches/append_additional.rs | 11 +-
storage/src/mmr/benches/prove_many_elements.rs | 11 +-
storage/src/mmr/benches/prove_single_element.rs | 11 +-
storage/src/mmr/benches/update.rs | 48 +-
storage/src/mmr/grafting.rs | 72 +-
storage/src/mmr/hasher.rs | 31 +-
storage/src/mmr/iterator.rs | 144 +-
storage/src/mmr/journaled.rs | 970 +++---
storage/src/mmr/location.rs | 8 +
storage/src/mmr/mem.rs | 1334 ++++----
storage/src/mmr/mod.rs | 5 +-
storage/src/mmr/position.rs | 14 +-
storage/src/mmr/proof.rs | 226 +-
storage/src/mmr/stability.rs | 13 +-
storage/src/mmr/storage.rs | 12 +-
storage/src/mmr/verification.rs | 22 +-
storage/src/ordinal/benches/get.rs | 6 +-
storage/src/ordinal/mod.rs | 4 +-
storage/src/ordinal/storage.rs | 61 +-
storage/src/qmdb/any/db.rs | 484 +++
storage/src/qmdb/any/ext.rs | 196 ++
storage/src/qmdb/any/mod.rs | 257 ++
storage/src/qmdb/any/operation/fixed.rs | 124 +
storage/src/qmdb/any/operation/mod.rs | 229 ++
storage/src/qmdb/any/operation/update/mod.rs | 110 +
storage/src/qmdb/any/operation/update/ordered.rs | 107 +
storage/src/qmdb/any/operation/update/unordered.rs | 81 +
storage/src/qmdb/any/operation/variable.rs | 87 +
storage/src/qmdb/any/ordered/fixed.rs | 985 ++++++
storage/src/qmdb/any/ordered/mod.rs | 1572 +++++++++
storage/src/qmdb/any/ordered/variable.rs | 82 +
storage/src/qmdb/any/unordered/fixed.rs | 602 ++++
storage/src/qmdb/any/unordered/mod.rs | 955 ++++++
.../{adb/any/fixed => qmdb/any/unordered}/sync.rs | 697 ++--
storage/src/qmdb/any/unordered/variable.rs | 485 +++
storage/src/qmdb/any/value.rs | 43 +
storage/src/qmdb/benches/bench.rs | 13 +
storage/src/qmdb/benches/fixed/generate.rs | 181 +
storage/src/qmdb/benches/fixed/init.rs | 228 ++
storage/src/qmdb/benches/fixed/mod.rs | 322 ++
.../src/{adb => qmdb}/benches/keyless_generate.rs | 20 +-
storage/src/qmdb/benches/variable/generate.rs | 129 +
storage/src/qmdb/benches/variable/init.rs | 127 +
storage/src/qmdb/benches/variable/mod.rs | 201 ++
storage/src/qmdb/current/mod.rs | 135 +
storage/src/qmdb/current/ordered/fixed.rs | 1815 ++++++++++
storage/src/qmdb/current/ordered/mod.rs | 37 +
storage/src/qmdb/current/proof.rs | 282 ++
storage/src/qmdb/current/unordered/fixed.rs | 1448 ++++++++
storage/src/qmdb/current/unordered/mod.rs | 9 +
storage/src/{adb => qmdb}/immutable/mod.rs | 891 ++---
storage/src/qmdb/immutable/operation.rs | 305 ++
storage/src/{adb => qmdb}/immutable/sync/mod.rs | 220 +-
storage/src/qmdb/keyless/mod.rs | 1149 +++++++
storage/src/qmdb/keyless/operation.rs | 158 +
storage/src/qmdb/mod.rs | 387 +++
storage/src/qmdb/operation.rs | 27 +
storage/src/qmdb/store/batch.rs | 569 ++++
storage/src/qmdb/store/mod.rs | 1128 ++++++
storage/src/{adb => qmdb}/sync/database.rs | 8 +-
storage/src/{adb => qmdb}/sync/engine.rs | 25 +-
storage/src/{adb => qmdb}/sync/error.rs | 6 +-
storage/src/{adb => qmdb}/sync/gaps.rs | 77 +-
storage/src/{adb => qmdb}/sync/journal.rs | 8 +-
storage/src/{adb => qmdb}/sync/mod.rs | 2 +-
storage/src/{adb => qmdb}/sync/requests.rs | 4 +-
storage/src/{adb => qmdb}/sync/resolver.rs | 56 +-
storage/src/{adb => qmdb}/sync/target.rs | 60 +-
storage/src/{adb => qmdb}/verify.rs | 84 +-
storage/src/rmap/mod.rs | 2 +-
storage/src/store.rs | 78 +
stream/Cargo.toml | 29 +-
stream/fuzz/Cargo.toml | 16 +-
stream/fuzz/fuzz_targets/connection.rs | 12 +-
stream/fuzz/fuzz_targets/e2e.rs | 4 +-
stream/fuzz/fuzz_targets/lazy_transport.rs | 6 +-
stream/fuzz/fuzz_targets/transport.rs | 4 +-
stream/src/lib.rs | 35 +-
stream/src/utils/codec.rs | 130 +-
utils/Cargo.toml | 58 +-
utils/conformance.toml | 43 +
utils/fuzz/Cargo.toml | 45 +-
utils/fuzz/fuzz_targets/ack.rs | 80 +
utils/fuzz/fuzz_targets/channels.rs | 107 +
utils/fuzz/fuzz_targets/lib_functions.rs | 25 +-
utils/fuzz/fuzz_targets/net.rs | 171 +
utils/fuzz/fuzz_targets/rational.rs | 116 +
utils/fuzz/fuzz_targets/set.rs | 103 +
utils/src/acknowledgement.rs | 225 ++
utils/src/benches/bench.rs | 3 +
utils/src/benches/log2_ceil.rs | 39 +
utils/src/bitmap/historical/batch.rs | 6 +-
utils/src/bitmap/historical/bitmap.rs | 21 +-
utils/src/bitmap/mod.rs | 54 +-
utils/src/bitmap/prunable.rs | 41 +-
utils/src/channels/mod.rs | 1 +
utils/src/channels/ring.rs | 404 +++
utils/src/futures.rs | 68 +-
utils/src/hostname.rs | 414 +++
utils/src/lib.rs | 188 +-
utils/src/net.rs | 8 +-
utils/src/ordered.rs | 1164 +++++++
utils/src/rational.rs | 303 +-
utils/src/sequence/fixed_bytes.rs | 11 +
utils/src/sequence/mod.rs | 13 +
utils/src/sequence/prefixed_u64.rs | 17 +-
utils/src/sequence/u32.rs | 21 +-
utils/src/sequence/u64.rs | 21 +-
utils/src/sequence/unit.rs | 96 +
utils/src/set.rs | 523 ---
utils/src/stable_buf.rs | 37 +-
utils/src/time.rs | 16 +-
utils/src/vec.rs | 840 +++++
zepter.yaml | 41 +
708 files changed, 93733 insertions(+), 51784 deletions(-)
Full Changelog: v0.0.63...v0.0.64