v0.0.65
·
497 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
- [docs] Mirror Code +
llms.txtby @patrick-ogrady in #2603 - [Storage] Implement state sync for
qmdb::any::unordered::variableby @danlaine in #2602 - [docs] Restructure deploy paths for LLM-friendly versioning by @commonware-llm in #2612
- [docs] Add more instruction to llms.txt by @commonware-llm in #2615
- [docs] Add _headers for explicit sitemap Content-Type charset by @commonware-llm in #2616
- [docs] Add sitemap and LLMs to header by @commonware-llm in #2617
- [storage/index] allow Translator capping at sizes that are not equal to some int type by @roberto-bayardo in #2622
- [p2p/simulated] use BTreeSet for blocks by @andresilva in #2606
- [runtime/network/iouring] buffered reading by @andresilva in #2601
- [docs] Use Pretty URLs as Canonical by @commonware-llm in #2623
- [docs] Improve page load performance with prefetch by @patrick-ogrady in #2625
- [storage/qmdb/current] validate the number of chunks in range_proof input by @roberto-bayardo in #2619
- [docs] Create MCP Server by @patrick-ogrady in #2629
- [mcp] use
commonware-libraryinstead ofcommonwareby @patrick-ogrady in #2630 - [mcp] use commonware-library as MCP name by @patrick-ogrady in #2631
- [mcp] optimize search with D1 index by @commonware-llm in #2632
- [mcp] Remove manual indexing trigger by @patrick-ogrady in #2634
- [mcp] Optimize Ingestion by @patrick-ogrady in #2635
- [mcp] Support Multiple Search Modes by @patrick-ogrady in #2636
- [mcp] No Version Error by @patrick-ogrady in #2637
- [mcp] Generalize Crate Match by @patrick-ogrady in #2638
- [p2p]
CheckedSender::Error: 'staticby @clabby in #2641 - [mcp] Remove
/health+ Add CORS tests by @patrick-ogrady in #2644 - [docs] Add
MCPPage by @patrick-ogrady in #2645 - [docs] MCP Page Nits by @patrick-ogrady in #2646
- [mcp] Add Support for File Snippets by @patrick-ogrady in #2648
- [mcp] Implement snippet-based search scoring by @commonware-llm in #2647
- [mcp] Update Version by @patrick-ogrady in #2649
- [storage] create Persistable trait, rename top level store module to kv by @roberto-bayardo in #2642
- [consensus/simplex] Improve
is_activeDocs by @patrick-ogrady in #2652 - [mcp] Fix Description by @patrick-ogrady in #2654
- [p2p/lookup] Fix
allow_unregistered_handshakes(nowbypass_ip_check) by @patrick-ogrady in #2653 - [Storage] Remove
closemethods by @danlaine in #2608 - [storage/kv] move Batchable to kv module by @roberto-bayardo in #2655
- [cryptography] [storage] Replace
Hasher::EMPTYwithDigest::EMPTYby @danlaine in #2656 - [cryptography/certificate] make Scheme::is_attributable an associated function by @andresilva in #2657
- [storage/kv] implement kv traits for Batchable by @roberto-bayardo in #2658
- [Storage] Remove
closemethods by @danlaine in #2613 - [consensus/marshal] Improve
set_floordocumentation by @clabby in #2663 - [cryptography/certificate] declare if a scheme benefits from batch verification by @andresilva in #2660
- chore: annual license year update by @rejected-l in #2668
- [cryptography/certificate] cleanup unnecessary bounds by @andresilva in #2670
- [cryptography] add secp256r1 certificate scheme by @andresilva in #2669
- [p2p/discovery] Address Rotation Restart Test by @patrick-ogrady in #2672
- [cryptography/bls12381] Refactor Batch Verification by @patrick-ogrady in #2624
- [cryptography] use aws-lc-rs for optimized secp256r1 verification by @andresilva in #2680
- [p2p] Bound Block Duration by @patrick-ogrady in #2666
- [cryptography/certificate] make namespace a part of the scheme by @andresilva in #2559
- [storage/qmdb] decouple merkleization from database durability by @roberto-bayardo in #2580
- fix(storage): correct element indices in MMR documentation example by @strmfos in #2691
- [runtime/buffer] avoid write-locking the Append buffer during blob writes by @roberto-bayardo in #2679
- [consensus/aggregation] remove deprecated supervisor by @andresilva in #2699
- [consensus/simplex] Add Timeout then Certify Regression Test by @patrick-ogrady in #2697
- [consensus] add Height type by @andresilva in #2700
- Store RNG in deterministic runtime Config by @cronokirby in #2704
- [runtime] Release lock before notifying in Blocker by @syrupipy in #2696
- [p2p] Add Blocked Peers to Metrics by @patrick-ogrady in #2687
- [runtime/p2p] Use
Buf/BufMutin networking APIs by @clabby in #2558 - [cryptography] Remove aggregate verify_same_signer by @cronokirby in #2715
- [consensus/simplex] Add Voting Metrics by @patrick-ogrady in #2708
- [parallel] Introduce data parallelism abstraction by @clabby in #2621
- Set MSRV to 1.91.1 by @clabby in #2720
- [docs] Add
parallelto homepage by @clabby in #2719 - [Codec] Dedup
fn read_ordered_setby @danlaine in #2718 - Revert "[cryptography] Remove aggregate verify_same_signer (#2715)" by @cronokirby in #2721
- [consensus/simplex] Remove Certify Retry + Cancel Outstanding Certifications by @patrick-ogrady in #2703
- [runtime/storage] Versioned Blobs by @danlaine in #2694
- [docs] Fix Parallel Link by @patrick-ogrady in #2723
- [cryptography] Add Secret wrapper for protected key material by @andresilva in #2640
- [ci] Don't require
breaking-formatlabel for new conformance tests by @clabby in #2724 - [storage/archive] Add Lite Index + Remove Journal Padding by @patrick-ogrady in #2707
- [p2p] Add Restart Tests + Introduce
FallibleExtto Cleanup Channels by @patrick-ogrady in #2726 - [storage & runtime] Switch to page-level checksums instead of record-level checksums by @roberto-bayardo in #2667
- [consensus/broadcast/collector/resovler] Adopt
FallibleExt+ Shutdown Tests by @patrick-ogrady in #2738 - [runtime, storage] move to crc32c by @andresilva in #2740
- [storage/fuzz] fix mmr_journaled fuzz test by @roberto-bayardo in #2746
- [consensus] use NonZeroU64 for journal_heights_per_section by @andresilva in #2751
- Fix double-counting bug in DKG test harness reveal calculation by @cronokirby in #2752
- [consensus/simplex] Fix
Seedableimpl forbls12381_thresholdscheme by @clabby in #2756 - [storage/bmt] Add multi-proof support by @clabby in #2733
- Remove unneeded
PhantomDatausages by @danlaine in #2747 - [codec/conformance] handle not enough data gracefully by @andresilva in #2743
- [consensus] add Participant type by @andresilva in #2755
- [cryptography/bls12381] Introduce
Participantby @patrick-ogrady in #2760 - [workspace] use test_rng by @andresilva in #2758
- [consensus] Improve
consensus' usage ofStrategyby @clabby in #2762 - [storage] Make sure storage futures are Send by @roberto-bayardo in #2761
- [storage/qmdb] tests ensure no overlapping keys by @andresilva in #2766
- [examples/reshare] Use Metadata by @patrick-ogrady in #2771
- [CI] Extend breaking changes timeout by @patrick-ogrady in #2785
- [storage/qmdb] remove commit capability from Merkleized state by @roberto-bayardo in #2786
- [deployer] Add S3 Cache by @patrick-ogrady in #2784
- [storage/journal] Optimize (and Simplify) Buffer Replay by @patrick-ogrady in #2783
- [ci] Reduce Disk Usage During
fuzzby @patrick-ogrady in #2795 - [utils] Add
Faultstrait for BFT quorum calculations by @clabby in #2780 - remove unnesscary allocs by @malik672 in #2792
- [utils] Use
num-traitsforFaultModelby @clabby in #2794 - [cryptography] Use parallelism and small scalars for batch verification by @cronokirby in #2777
- [deployer] Add x86 support by @patrick-ogrady in #2796
- [p2p] Remove Blocking on Send/Receive by @patrick-ogrady in #2802
- [cryptography] zeroization of secret material by @andresilva in #2791
- [utils/faults] Use
N3f1andN5f1by @patrick-ogrady in #2803 - [cryptography/bls12381] Fix scalar comment by @patrick-ogrady in #2806
- [cryptography/bls12381] Private type for secret scalar by @andresilva in #2805
- [storage] Make Storage Traits
Send(via reference refactor anduse<>) by @patrick-ogrady in #2804 - [*/bench] Enforce Consistency by @patrick-ogrady in #2813
- [cryptography] Remove loophole for secp signatures by @cronokirby in #2816
- [storage/journal] implement contiguous::fixed journal using segmented::fixed by @roberto-bayardo in #2774
- [storage] compile-level tests for Send in kv traits by @roberto-bayardo in #2811
- [consensus/simplex] Test for
nullifyon cancelledcertifyresponse channel by @clabby in #2820 - [release] v0.0.65 by @patrick-ogrady in #2821
New Contributors
- @rejected-l made their first contribution in #2668
Stats
.github/scripts/check_conformance_label.sh | 28 +-
.github/scripts/check_no_std.sh | 1 +
.github/scripts/lint_benchmark_names.py | 173 +
.github/workflows/fast.yml | 52 +-
.github/workflows/mcp.yml | 147 +
.github/workflows/publish.yml | 5 +
.github/workflows/slow.yml | 4 +-
AGENTS.md | 28 +-
Cargo.lock | 538 +-
Cargo.toml | 47 +-
LICENSE-APACHE | 2 +-
LICENSE-MIT | 2 +-
README.md | 24 +
broadcast/Cargo.toml | 2 +-
.../fuzz_targets/broadcast_engine_operations.rs | 2 +-
broadcast/src/buffered/engine.rs | 24 +-
broadcast/src/buffered/ingress.rs | 36 +-
broadcast/src/buffered/mod.rs | 146 +-
codec/src/codec.rs | 43 +-
codec/src/conformance.rs | 44 +-
codec/src/types/btree_set.rs | 43 +-
codec/src/types/hash_map.rs | 2 +-
codec/src/types/hash_set.rs | 46 +-
codec/src/types/mod.rs | 45 +
coding/Cargo.toml | 1 +
coding/conformance.toml | 6 +-
coding/fuzz/Cargo.toml | 1 +
coding/fuzz/src/lib.rs | 7 +-
coding/src/benches/bench.rs | 50 +-
coding/src/benches/bench_size.rs | 14 +-
coding/src/benches/no_coding.rs | 12 +-
coding/src/benches/reed_solomon.rs | 12 +-
coding/src/benches/zoda.rs | 12 +-
coding/src/lib.rs | 20 +-
coding/src/no_coding.rs | 5 +-
.../src/{reed_solomon/mod.rs => reed_solomon.rs} | 158 +-
coding/src/zoda.rs | 120 +-
collector/Cargo.toml | 2 +-
collector/fuzz/fuzz_targets/collector.rs | 2 +-
collector/src/p2p/engine.rs | 6 +-
collector/src/p2p/ingress.rs | 13 +-
collector/src/p2p/mocks/handler.rs | 5 +-
collector/src/p2p/mocks/sender.rs | 4 +-
collector/src/p2p/mod.rs | 138 +-
consensus/Cargo.toml | 6 +
consensus/conformance.toml | 74 +-
consensus/fuzz/Cargo.toml | 11 +-
consensus/fuzz/fuzz_targets/attributable_map.rs | 14 +-
.../simplex_bls12381_multisig_minpk.rs | 8 +-
.../simplex_bls12381_multisig_minsig.rs | 8 +-
.../simplex_bls12381_threshold_minpk.rs | 8 +-
.../simplex_bls12381_threshold_minsig.rs | 8 +-
consensus/fuzz/fuzz_targets/simplex_ed25519.rs | 8 +-
consensus/fuzz/fuzz_targets/simplex_elector.rs | 4 +-
consensus/fuzz/fuzz_targets/simplex_secp256r1.rs | 28 +
consensus/fuzz/src/disrupter.rs | 49 +-
consensus/fuzz/src/invariants.rs | 8 +-
consensus/fuzz/src/lib.rs | 28 +-
consensus/fuzz/src/utils.rs | 2 +-
consensus/src/aggregation/config.rs | 19 +-
consensus/src/aggregation/engine.rs | 319 +-
consensus/src/aggregation/metrics.rs | 4 +-
consensus/src/aggregation/mocks/application.rs | 21 +-
consensus/src/aggregation/mocks/monitor.rs | 3 +-
consensus/src/aggregation/mocks/reporter.rs | 82 +-
consensus/src/aggregation/mocks/supervisor.rs | 86 -
consensus/src/aggregation/mod.rs | 242 +-
consensus/src/aggregation/safe_tip.rs | 236 +-
consensus/src/aggregation/scheme.rs | 27 +-
consensus/src/aggregation/types.rs | 189 +-
consensus/src/application/marshaled.rs | 28 +-
consensus/src/lib.rs | 17 +-
consensus/src/marshal/actor.rs | 160 +-
consensus/src/marshal/cache.rs | 17 +-
consensus/src/marshal/config.rs | 17 +-
consensus/src/marshal/ingress/handler.rs | 91 +-
consensus/src/marshal/ingress/mailbox.rs | 183 +-
consensus/src/marshal/mocks/application.rs | 10 +-
consensus/src/marshal/mocks/block.rs | 21 +-
consensus/src/marshal/mod.rs | 347 +-
consensus/src/marshal/store.rs | 82 +-
consensus/src/ordered_broadcast/ack_manager.rs | 180 +-
consensus/src/ordered_broadcast/config.rs | 32 +-
consensus/src/ordered_broadcast/engine.rs | 95 +-
consensus/src/ordered_broadcast/mocks/automaton.rs | 10 +-
consensus/src/ordered_broadcast/mocks/monitor.rs | 3 +-
consensus/src/ordered_broadcast/mocks/reporter.rs | 51 +-
consensus/src/ordered_broadcast/mod.rs | 176 +-
consensus/src/ordered_broadcast/scheme.rs | 28 +-
consensus/src/ordered_broadcast/tip_manager.rs | 103 +-
consensus/src/ordered_broadcast/types.rs | 813 +--
consensus/src/simplex/actors/batcher/actor.rs | 74 +-
consensus/src/simplex/actors/batcher/ingress.rs | 50 +-
consensus/src/simplex/actors/batcher/mod.rs | 432 +-
consensus/src/simplex/actors/batcher/round.rs | 86 +-
consensus/src/simplex/actors/batcher/verifier.rs | 664 ++-
consensus/src/simplex/actors/resolver/actor.rs | 31 +-
consensus/src/simplex/actors/resolver/ingress.rs | 62 +-
consensus/src/simplex/actors/resolver/mod.rs | 7 +-
consensus/src/simplex/actors/resolver/state.rs | 20 +-
consensus/src/simplex/actors/voter/actor.rs | 84 +-
consensus/src/simplex/actors/voter/ingress.rs | 24 +-
consensus/src/simplex/actors/voter/mod.rs | 1489 ++++--
consensus/src/simplex/actors/voter/round.rs | 404 +-
consensus/src/simplex/actors/voter/state.rs | 342 +-
consensus/src/simplex/config.rs | 11 +-
consensus/src/simplex/elector.rs | 220 +-
consensus/src/simplex/engine.rs | 22 +-
consensus/src/simplex/metrics.rs | 13 +
consensus/src/simplex/mocks/application.rs | 58 +-
consensus/src/simplex/mocks/conflicter.rs | 31 +-
consensus/src/simplex/mocks/equivocator.rs | 32 +-
consensus/src/simplex/mocks/impersonator.rs | 42 +-
consensus/src/simplex/mocks/nuller.rs | 12 +-
consensus/src/simplex/mocks/nullify_only.rs | 9 +-
consensus/src/simplex/mocks/outdated.rs | 27 +-
consensus/src/simplex/mocks/reconfigurer.rs | 15 +-
consensus/src/simplex/mocks/reporter.rs | 59 +-
consensus/src/simplex/mod.rs | 532 +-
consensus/src/simplex/scheme/bls12381_multisig.rs | 4 +-
consensus/src/simplex/scheme/bls12381_threshold.rs | 1204 +++--
consensus/src/simplex/scheme/ed25519.rs | 4 +-
consensus/src/simplex/scheme/mod.rs | 105 +-
consensus/src/simplex/scheme/reporter.rs | 152 +-
consensus/src/simplex/scheme/secp256r1.rs | 15 +
consensus/src/simplex/types.rs | 555 +-
consensus/src/types.rs | 542 +-
cryptography/Cargo.toml | 15 +-
cryptography/conformance.toml | 62 +-
cryptography/fuzz/Cargo.toml | 6 +-
cryptography/fuzz/fuzz_targets/blake3_hasher.rs | 3 -
.../fuzz_targets/bls12381_aggregate_operations.rs | 154 +-
.../fuzz/fuzz_targets/bls12381_batch_operations.rs | 127 +
.../fuzz/fuzz_targets/bls12381_batch_verifier.rs | 126 -
.../fuzz_targets/bls12381_primitive_operations.rs | 337 +-
.../fuzz_targets/bls12381_threshold_operations.rs | 394 +-
cryptography/fuzz/fuzz_targets/bls12381_tle.rs | 188 +-
cryptography/fuzz/fuzz_targets/common/mod.rs | 32 +-
.../fuzz_targets/secp256r1_recoverable_decode.rs | 2 +-
.../fuzz/fuzz_targets/secp256r1_standard_decode.rs | 2 +-
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 12 +-
cryptography/src/blake3/benches/hash_message.rs | 4 +-
cryptography/src/blake3/mod.rs | 27 +-
.../benches/aggregate_verify_multiple_messages.rs | 54 -
...ic_keys.rs => aggregate_verify_same_message.rs} | 17 +-
.../benches/aggregate_verify_same_signer.rs | 64 +
.../src/bls12381/benches/batch_to_affine.rs | 41 +
.../bls12381/benches/batch_verify_same_signer.rs | 64 +
cryptography/src/bls12381/benches/bench.rs | 44 +-
...egate_public_keys.rs => combine_public_keys.rs} | 8 +-
...gregate_signatures.rs => combine_signatures.rs} | 8 +-
cryptography/src/bls12381/benches/dkg.rs | 45 +-
.../src/bls12381/benches/evaluate_point.rs | 43 +-
cryptography/src/bls12381/benches/hash_to_curve.rs | 53 +
cryptography/src/bls12381/benches/msm.rs | 46 +
.../benches/partial_verify_multiple_public_keys.rs | 86 -
...tial_verify_multiple_public_keys_precomputed.rs | 88 -
...keys.rs => scheme_batch_verify_same_message.rs} | 4 +-
...sages.rs => scheme_batch_verify_same_signer.rs} | 4 +-
.../src/bls12381/benches/signature_generation.rs | 4 +-
.../src/bls12381/benches/signature_verification.rs | 4 +-
.../benches/threshold_batch_verify_same_message.rs | 117 +
...eshold_batch_verify_same_message_precomputed.rs | 119 +
...d_signature_recover.rs => threshold_recover.rs} | 23 +-
cryptography/src/bls12381/benches/tle_decrypt.rs | 15 +-
cryptography/src/bls12381/benches/tle_encrypt.rs | 6 +-
.../src/bls12381/certificate/multisig/mocks.rs | 11 +-
.../src/bls12381/certificate/multisig/mod.rs | 891 ++--
.../src/bls12381/certificate/threshold/mocks.rs | 23 +-
.../src/bls12381/certificate/threshold/mod.rs | 773 ++-
cryptography/src/bls12381/dkg.rs | 431 +-
cryptography/src/bls12381/primitives/group.rs | 695 ++-
cryptography/src/bls12381/primitives/mod.rs | 16 +-
cryptography/src/bls12381/primitives/ops.rs | 2273 --------
.../src/bls12381/primitives/ops/aggregate.rs | 520 ++
cryptography/src/bls12381/primitives/ops/batch.rs | 425 ++
cryptography/src/bls12381/primitives/ops/mod.rs | 1105 ++++
.../primitives/ops/test_vectors/min_pk.txt | 263 +
.../primitives/ops/test_vectors/min_sig.txt | 128 +
.../src/bls12381/primitives/ops/threshold.rs | 1259 +++++
cryptography/src/bls12381/primitives/sharing.rs | 46 +-
cryptography/src/bls12381/primitives/variant.rs | 306 +-
cryptography/src/bls12381/scheme.rs | 795 +--
cryptography/src/bls12381/tle.rs | 147 +-
cryptography/src/certificate.rs | 185 +-
cryptography/src/crc32/mod.rs | 443 ++
...public_keys.rs => batch_verify_same_message.rs} | 4 +-
...ple_messages.rs => batch_verify_same_signer.rs} | 4 +-
cryptography/src/ed25519/benches/bench.rs | 8 +-
.../src/ed25519/benches/signature_generation.rs | 4 +-
.../src/ed25519/benches/signature_verification.rs | 4 +-
cryptography/src/ed25519/certificate/mocks.rs | 19 +-
cryptography/src/ed25519/certificate/mod.rs | 835 +--
cryptography/src/ed25519/mod.rs | 2 +-
cryptography/src/ed25519/scheme.rs | 142 +-
cryptography/src/handshake.rs | 19 +-
cryptography/src/handshake/cipher.rs | 31 +-
cryptography/src/handshake/key_exchange.rs | 32 +-
cryptography/src/lib.rs | 32 +-
cryptography/src/lthash/benches/add.rs | 4 +-
cryptography/src/lthash/benches/checksum.rs | 4 +-
cryptography/src/lthash/benches/combine.rs | 4 +-
cryptography/src/lthash/benches/subtract.rs | 4 +-
cryptography/src/lthash/benches/update.rs | 8 +-
.../src/secp256r1/benches/signature_generation.rs | 14 +-
.../secp256r1/benches/signature_verification.rs | 12 +-
cryptography/src/secp256r1/certificate/mocks.rs | 63 +
cryptography/src/secp256r1/certificate/mod.rs | 1301 +++++
cryptography/src/secp256r1/common.rs | 152 +-
cryptography/src/secp256r1/mod.rs | 3 +-
cryptography/src/secp256r1/recoverable.rs | 2 +-
cryptography/src/secp256r1/standard.rs | 68 +-
cryptography/src/secret.rs | 204 +
cryptography/src/sha256/benches/hash_message.rs | 4 +-
cryptography/src/sha256/mod.rs | 27 +-
cryptography/src/transcript.rs | 6 +-
deployer/Cargo.toml | 4 +
deployer/src/ec2/authorize.rs | 6 +-
deployer/src/ec2/aws.rs | 143 +-
deployer/src/ec2/clean.rs | 35 +
deployer/src/ec2/create.rs | 1223 +++--
deployer/src/ec2/destroy.rs | 64 +-
deployer/src/ec2/mod.rs | 187 +-
deployer/src/ec2/s3.rs | 361 ++
deployer/src/ec2/services.rs | 771 ++-
deployer/src/ec2/update.rs | 157 +-
deployer/src/ec2/utils.rs | 99 +-
deployer/src/main.rs | 11 +
docs/.gitignore | 4 +
docs/_headers | 29 +
docs/benchmarks.html | 8 +-
docs/blogs/adb-any.html | 8 +-
docs/blogs/adb-current.html | 8 +-
docs/blogs/buffered-signatures.html | 8 +-
docs/blogs/commonware-broadcast.html | 8 +-
docs/blogs/commonware-cryptography.html | 8 +-
docs/blogs/commonware-deployer.html | 8 +-
docs/blogs/commonware-runtime.html | 8 +-
docs/blogs/commonware-the-anti-framework.html | 8 +-
docs/blogs/conformance.html | 8 +-
docs/blogs/introducing-commonware.html | 8 +-
docs/blogs/minimmit.html | 8 +-
docs/blogs/mmr.html | 8 +-
docs/blogs/only-time-will-tell.html | 8 +-
docs/blogs/qmdb.html | 8 +-
docs/blogs/reshare.html | 8 +-
docs/blogs/threshold-simplex.html | 8 +-
docs/blogs/welcome-tempo.html | 8 +-
docs/blogs/zoda.html | 8 +-
docs/blogs/zoda.md | 4 +-
docs/generate_sitemap.py | 85 +
docs/hiring.html | 8 +-
docs/index.html | 6 +
docs/makefile | 39 +-
docs/mcp.html | 384 ++
docs/podcast.html | 8 +-
docs/shared.js | 1 +
docs/sitemap.xml | 69 -
docs/style.css | 82 +
docs/template.html | 2 +
examples/bridge/Cargo.toml | 2 +
examples/bridge/src/application/actor.rs | 46 +-
examples/bridge/src/application/mod.rs | 23 +-
examples/bridge/src/bin/dealer.rs | 6 +-
examples/bridge/src/bin/indexer.rs | 56 +-
examples/bridge/src/bin/validator.rs | 24 +-
examples/bridge/src/lib.rs | 1 -
examples/bridge/src/types/block.rs | 4 +-
examples/bridge/src/types/inbound.rs | 6 +-
examples/bridge/src/types/outbound.rs | 4 +-
examples/chat/src/handler.rs | 2 +-
examples/flood/src/bin/flood.rs | 2 +-
examples/log/Cargo.toml | 1 +
examples/log/src/application/actor.rs | 3 +-
examples/log/src/application/mod.rs | 13 +-
examples/log/src/main.rs | 12 +-
examples/reshare/Cargo.toml | 1 +
examples/reshare/src/application/core.rs | 4 +-
examples/reshare/src/application/scheme.rs | 18 +-
examples/reshare/src/application/types.rs | 35 +-
examples/reshare/src/dkg/actor.rs | 46 +-
examples/reshare/src/dkg/state.rs | 131 +-
examples/reshare/src/engine.rs | 93 +-
examples/reshare/src/orchestrator/actor.rs | 32 +-
examples/reshare/src/setup.rs | 6 +-
examples/reshare/src/validator.rs | 21 +-
examples/sync/src/bin/client.rs | 12 +-
examples/sync/src/bin/server.rs | 49 +-
examples/sync/src/databases/any.rs | 46 +-
examples/sync/src/databases/immutable.rs | 41 +-
examples/sync/src/databases/mod.rs | 13 +-
examples/sync/src/net/io.rs | 4 +-
examples/sync/src/net/resolver.rs | 8 +-
justfile | 1 +
math/Cargo.toml | 4 +-
math/src/algebra.rs | 17 +-
math/src/poly.rs | 105 +-
mcp/.gitignore | 5 +
mcp/.prettierrc | 7 +
mcp/README.md | 136 +
mcp/biome.json | 23 +
mcp/eslint.config.js | 48 +
mcp/integration-test.mjs | 317 ++
mcp/migrations/0001_create_search_index.sql | 56 +
mcp/package-lock.json | 5503 ++++++++++++++++++++
mcp/package.json | 34 +
mcp/src/env.d.ts | 11 +
mcp/src/index.ts | 757 +++
mcp/src/utils.test.ts | 683 +++
mcp/src/utils.ts | 307 ++
mcp/tsconfig.json | 18 +
mcp/vitest.config.ts | 8 +
mcp/wrangler.jsonc | 44 +
p2p/Cargo.toml | 3 +
p2p/fuzz/fuzz_targets/simulated.rs | 2 +-
p2p/src/authenticated/discovery/actors/dialer.rs | 5 +-
p2p/src/authenticated/discovery/actors/listener.rs | 18 +-
.../authenticated/discovery/actors/peer/actor.rs | 183 +-
.../authenticated/discovery/actors/peer/ingress.rs | 7 +-
p2p/src/authenticated/discovery/actors/peer/mod.rs | 1 +
.../authenticated/discovery/actors/router/actor.rs | 21 +-
.../discovery/actors/router/ingress.rs | 52 +-
.../discovery/actors/spawner/actor.rs | 24 +-
.../discovery/actors/spawner/ingress.rs | 18 +-
.../discovery/actors/tracker/actor.rs | 17 +-
.../discovery/actors/tracker/directory.rs | 1054 +++-
.../discovery/actors/tracker/ingress.rs | 112 +-
.../discovery/actors/tracker/metrics.rs | 6 +-
.../authenticated/discovery/actors/tracker/mod.rs | 1 +
.../discovery/actors/tracker/record.rs | 176 +-
p2p/src/authenticated/discovery/channels.rs | 8 +-
p2p/src/authenticated/discovery/config.rs | 6 +
p2p/src/authenticated/discovery/mod.rs | 778 ++-
p2p/src/authenticated/discovery/network.rs | 10 +-
p2p/src/authenticated/discovery/types.rs | 27 +-
p2p/src/authenticated/lookup/actors/dialer.rs | 5 +-
p2p/src/authenticated/lookup/actors/listener.rs | 45 +-
p2p/src/authenticated/lookup/actors/peer/actor.rs | 29 +-
.../authenticated/lookup/actors/peer/ingress.rs | 3 +-
p2p/src/authenticated/lookup/actors/peer/mod.rs | 1 +
.../authenticated/lookup/actors/router/actor.rs | 21 +-
.../authenticated/lookup/actors/router/ingress.rs | 52 +-
.../authenticated/lookup/actors/spawner/actor.rs | 25 +-
.../authenticated/lookup/actors/spawner/ingress.rs | 18 +-
.../authenticated/lookup/actors/tracker/actor.rs | 118 +-
.../lookup/actors/tracker/directory.rs | 980 +++-
.../authenticated/lookup/actors/tracker/ingress.rs | 96 +-
.../authenticated/lookup/actors/tracker/metrics.rs | 6 +-
p2p/src/authenticated/lookup/actors/tracker/mod.rs | 4 +-
.../authenticated/lookup/actors/tracker/record.rs | 189 +-
p2p/src/authenticated/lookup/channels.rs | 8 +-
p2p/src/authenticated/lookup/config.rs | 18 +-
p2p/src/authenticated/lookup/mod.rs | 559 +-
p2p/src/authenticated/lookup/network.rs | 12 +-
p2p/src/authenticated/lookup/types.rs | 4 +-
p2p/src/authenticated/mailbox.rs | 25 +-
p2p/src/authenticated/mod.rs | 2 +-
p2p/src/authenticated/relay.rs | 56 +-
p2p/src/lib.rs | 42 +-
p2p/src/simulated/ingress.rs | 133 +-
p2p/src/simulated/mod.rs | 247 +-
p2p/src/simulated/network.rs | 108 +-
p2p/src/utils/codec.rs | 13 +-
p2p/src/utils/limited.rs | 7 +-
p2p/src/utils/mod.rs | 4 +-
p2p/src/utils/mux.rs | 141 +-
parallel/Cargo.toml | 24 +
parallel/README.md | 10 +
parallel/src/lib.rs | 603 +++
resolver/Cargo.toml | 3 +-
resolver/src/p2p/engine.rs | 2 -
resolver/src/p2p/fetcher.rs | 8 +-
resolver/src/p2p/ingress.rs | 57 +-
resolver/src/p2p/mocks/consumer.rs | 7 +-
resolver/src/p2p/mocks/producer.rs | 3 +-
resolver/src/p2p/mod.rs | 178 +-
runtime/Cargo.toml | 12 +
runtime/conformance.toml | 7 +
runtime/fuzz/Cargo.toml | 7 +
runtime/fuzz/fuzz_targets/blob_integrity.rs | 283 +
runtime/fuzz/fuzz_targets/buffer.rs | 52 +-
runtime/src/deterministic.rs | 83 +-
runtime/src/lib.rs | 134 +-
runtime/src/mocks.rs | 95 +-
runtime/src/network/audited.rs | 38 +-
runtime/src/network/deterministic.rs | 7 +-
runtime/src/network/iouring.rs | 351 +-
runtime/src/network/metered.rs | 31 +-
runtime/src/network/mod.rs | 68 +-
runtime/src/network/tokio.rs | 86 +-
runtime/src/storage/audited.rs | 40 +-
runtime/src/storage/iouring.rs | 199 +-
runtime/src/storage/memory.rs | 144 +-
runtime/src/storage/metered.rs | 21 +-
runtime/src/storage/mod.rs | 275 +
runtime/src/storage/tokio/fallback.rs | 10 +
runtime/src/storage/tokio/mod.rs | 179 +-
runtime/src/storage/tokio/unix.rs | 10 +
runtime/src/telemetry/metrics/status.rs | 10 +
runtime/src/tokio/runtime.rs | 33 +-
runtime/src/utils/buffer/append.rs | 452 --
runtime/src/utils/buffer/mod.rs | 4 +-
runtime/src/utils/buffer/pool/append.rs | 2094 ++++++++
runtime/src/utils/buffer/pool/mod.rs | 504 ++
.../utils/buffer/{pool.rs => pool/page_cache.rs} | 324 +-
runtime/src/utils/buffer/pool/read.rs | 597 +++
runtime/src/utils/buffer/tip.rs | 44 +-
runtime/src/utils/buffer/write.rs | 6 +-
runtime/src/utils/cell.rs | 20 +-
runtime/src/utils/mod.rs | 179 +-
storage/Cargo.toml | 8 +-
storage/conformance.toml | 76 +-
storage/fuzz/Cargo.toml | 23 +-
storage/fuzz/fuzz_targets/archive_operations.rs | 20 +-
storage/fuzz/fuzz_targets/bmt_operations.rs | 116 +-
storage/fuzz/fuzz_targets/cache_operations.rs | 27 +-
.../fuzz_targets/current_ordered_operations.rs | 122 +-
.../fuzz_targets/current_unordered_operations.rs | 154 +-
.../fuzz/fuzz_targets/fixed_journal_operations.rs | 20 +-
storage/fuzz/fuzz_targets/freezer_operations.rs | 21 +-
storage/fuzz/fuzz_targets/metadata_operations.rs | 5 -
storage/fuzz/fuzz_targets/mmr_journaled.rs | 63 +-
storage/fuzz/fuzz_targets/ordinal_operations.rs | 27 +-
storage/fuzz/fuzz_targets/oversized_recovery.rs | 329 ++
storage/fuzz/fuzz_targets/proofs_malleability.rs | 8 +-
storage/fuzz/fuzz_targets/qmdb_any_fixed_sync.rs | 73 +-
.../fuzz/fuzz_targets/qmdb_any_variable_sync.rs | 115 +-
storage/fuzz/fuzz_targets/qmdb_immutable.rs | 58 +-
storage/fuzz/fuzz_targets/qmdb_keyless.rs | 114 +-
storage/fuzz/fuzz_targets/qmdb_ordered_batching.rs | 26 +-
.../fuzz/fuzz_targets/qmdb_ordered_operations.rs | 59 +-
.../fuzz/fuzz_targets/qmdb_unordered_operations.rs | 91 +-
storage/fuzz/fuzz_targets/store_operations.rs | 59 +-
storage/src/archive/benches/get.rs | 12 +-
storage/src/archive/benches/put.rs | 7 +-
storage/src/archive/benches/restart.rs | 12 +-
storage/src/archive/benches/utils.rs | 61 +-
storage/src/archive/conformance.rs | 111 +
storage/src/archive/immutable/mod.rs | 78 +-
storage/src/archive/immutable/storage.rs | 39 +-
storage/src/archive/mod.rs | 144 +-
storage/src/archive/prunable/mod.rs | 253 +-
storage/src/archive/prunable/storage.rs | 234 +-
storage/src/bitmap/authenticated.rs | 10 +-
storage/src/bmt/benches/bench.rs | 8 +-
storage/src/bmt/benches/prove_multi.rs | 56 +
storage/src/bmt/benches/prove_single.rs | 4 +-
storage/src/bmt/mod.rs | 1515 +++++-
storage/src/cache/mod.rs | 98 +-
storage/src/cache/storage.rs | 49 +-
storage/src/freezer/benches/get.rs | 10 +-
storage/src/freezer/benches/put.rs | 7 +-
storage/src/freezer/benches/restart.rs | 10 +-
storage/src/freezer/benches/utils.rs | 31 +-
storage/src/freezer/mod.rs | 339 +-
storage/src/freezer/storage.rs | 392 +-
storage/src/index/benches/hashmap_insert.rs | 4 +-
storage/src/index/benches/hashmap_insert_fixed.rs | 4 +-
storage/src/index/benches/hashmap_iteration.rs | 4 +-
storage/src/index/benches/insert.rs | 11 +-
storage/src/index/mod.rs | 14 +-
storage/src/index/ordered.rs | 20 +-
storage/src/index/partitioned/ordered.rs | 8 +-
storage/src/index/partitioned/unordered.rs | 6 +-
storage/src/index/storage.rs | 35 +-
storage/src/index/unordered.rs | 16 +-
storage/src/journal/authenticated.rs | 90 +-
storage/src/journal/benches/bench.rs | 66 +-
storage/src/journal/benches/fixed_append.rs | 7 +-
storage/src/journal/benches/fixed_read_random.rs | 12 +-
.../src/journal/benches/fixed_read_sequential.rs | 7 +-
storage/src/journal/benches/fixed_replay.rs | 32 +-
storage/src/journal/benches/variable_replay.rs | 92 +
storage/src/journal/conformance.rs | 295 +-
storage/src/journal/contiguous/fixed.rs | 1331 ++---
storage/src/journal/contiguous/mod.rs | 50 +-
storage/src/journal/contiguous/tests.rs | 99 +-
storage/src/journal/contiguous/variable.rs | 379 +-
storage/src/journal/mod.rs | 23 +-
storage/src/journal/segmented/fixed.rs | 1293 +++++
storage/src/journal/segmented/glob.rs | 502 ++
storage/src/journal/segmented/manager.rs | 375 ++
storage/src/journal/segmented/mod.rs | 4 +
storage/src/journal/segmented/oversized.rs | 2950 +++++++++++
storage/src/journal/segmented/variable.rs | 2163 ++++----
storage/src/kv/batch.rs | 191 +
storage/src/kv/mod.rs | 110 +
storage/src/lib.rs | 28 +-
storage/src/metadata/benches/restart.rs | 5 +-
storage/src/metadata/mod.rs | 100 +-
storage/src/metadata/storage.rs | 39 +-
storage/src/mmr/benches/update.rs | 9 +-
storage/src/mmr/journaled.rs | 359 +-
storage/src/mmr/mem.rs | 35 +-
storage/src/mmr/mod.rs | 12 +-
storage/src/mmr/proof.rs | 155 +-
storage/src/ordinal/benches/get.rs | 2 +-
storage/src/ordinal/benches/restart.rs | 5 +-
storage/src/ordinal/mod.rs | 46 +-
storage/src/ordinal/storage.rs | 61 +-
storage/src/qmdb/any/db.rs | 408 +-
storage/src/qmdb/any/ext.rs | 196 -
storage/src/qmdb/any/mod.rs | 167 +-
storage/src/qmdb/any/operation/mod.rs | 4 +-
storage/src/qmdb/any/operation/update/mod.rs | 6 +-
storage/src/qmdb/any/ordered/fixed.rs | 335 +-
storage/src/qmdb/any/ordered/mod.rs | 549 +-
storage/src/qmdb/any/ordered/variable.rs | 12 +-
storage/src/qmdb/any/states.rs | 128 +
.../qmdb/any/unordered/{fixed.rs => fixed/mod.rs} | 179 +-
storage/src/qmdb/any/unordered/fixed/sync.rs | 675 +++
storage/src/qmdb/any/unordered/mod.rs | 421 +-
storage/src/qmdb/any/unordered/sync.rs | 2004 -------
storage/src/qmdb/any/unordered/sync_tests.rs | 1237 +++++
.../any/unordered/{variable.rs => variable/mod.rs} | 308 +-
storage/src/qmdb/any/unordered/variable/sync.rs | 402 ++
storage/src/qmdb/any/value.rs | 16 +-
storage/src/qmdb/benches/fixed/generate.rs | 64 +-
storage/src/qmdb/benches/fixed/init.rs | 101 +-
storage/src/qmdb/benches/fixed/mod.rs | 180 +-
storage/src/qmdb/benches/keyless_generate.rs | 45 +-
storage/src/qmdb/benches/variable/generate.rs | 60 +-
storage/src/qmdb/benches/variable/init.rs | 69 +-
storage/src/qmdb/benches/variable/mod.rs | 120 +-
storage/src/qmdb/current/mod.rs | 3 +-
storage/src/qmdb/current/ordered/fixed.rs | 881 ++--
storage/src/qmdb/current/proof.rs | 21 +-
storage/src/qmdb/current/unordered/fixed.rs | 883 ++--
storage/src/qmdb/immutable/mod.rs | 539 +-
storage/src/qmdb/immutable/sync/mod.rs | 201 +-
storage/src/qmdb/keyless/mod.rs | 547 +-
storage/src/qmdb/mod.rs | 58 +-
storage/src/qmdb/store/batch.rs | 595 +--
storage/src/qmdb/store/db.rs | 1212 +++++
storage/src/qmdb/store/mod.rs | 1094 +---
storage/src/qmdb/sync/database.rs | 13 +-
storage/src/qmdb/sync/engine.rs | 2 +
storage/src/qmdb/sync/journal.rs | 41 +-
storage/src/qmdb/sync/resolver.rs | 173 +-
storage/src/store.rs | 78 -
storage/src/translator.rs | 113 +-
stream/fuzz/fuzz_targets/connection.rs | 4 +-
stream/fuzz/fuzz_targets/e2e.rs | 18 +-
stream/src/lib.rs | 21 +-
stream/src/utils/codec.rs | 52 +-
utils/Cargo.toml | 8 +-
utils/conformance.toml | 4 +
utils/fuzz/fuzz_targets/lib_functions.rs | 16 +-
utils/src/benches/log2_ceil.rs | 4 +-
utils/src/channels/fallible.rs | 397 ++
utils/src/channels/mod.rs | 1 +
utils/src/faults.rs | 397 ++
utils/src/lib.rs | 235 +-
utils/src/ordered.rs | 31 +-
utils/src/sequence/fixed_bytes.rs | 7 +
utils/src/time.rs | 3 +-
556 files changed, 62110 insertions(+), 24608 deletions(-)
Full Changelog: v0.0.64...v0.0.65