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 #1234
- [docs]
adb::currentby @patrick-ogrady in #1235 - [docs] grafting nits by @patrick-ogrady in #1236
- [cryptography] Introduce
BloomFilterby @patrick-ogrady in #1238 - [storage] Move
Translatorby @patrick-ogrady in #1239 - [stream] Improve
public_keydocumentation around assumptions by @BrendanChou in #1197 - [storage/journal] Add
rewindandrewind_sectiontojournal::variableby @patrick-ogrady in #1240 - [storage/metadata] Add iterator by @patrick-ogrady in #1241
- [storage/ordinal] Add Support for
init_with_bitsby @patrick-ogrady in #1242 - [storage/freezer] Introduce
freezerby @patrick-ogrady in #1244 - [cryptography] Add
blake3Hasherimpl by @clabby in #1248 - [utils]: Handle misaligned UTF-8 sequence boundaries in
from_hexby @clabby in #1250 - [storage/archive] Add
archive::{immutable, prunable}by @patrick-ogrady in #1246 - title: Optimize test_add_jittered by moving avg calculation outside t… by @aso20455 in #1252
- [storage/freezer] Avoid
resizeresource spike by @patrick-ogrady in #1251 - [storage] rename
pooltothread_poolto disambiguate frombuffer_poolby @danlaine in #1253 - [utils] Add
fuzzby @dnkolegov-ar in #1230 - [adb::sync] Use associated types for
Resolverby @danlaine in #1256 - [collector] Introduce
collector::p2pby @BrendanChou in #1205 - [consensus/ordered-broadcast] Reduce Verbosity by @patrick-ogrady in #1258
- Fix and update fuzz targets by @dnkolegov-ar in #1237
- [nits] Final Release Tweaks by @patrick-ogrady in #1261
- [examples] Add
syncexample by @danlaine in #1245 - [release] v0.0.55 by @patrick-ogrady in #1262
Full Changelog: v0.0.54...v0.0.55
New Contributors
- @0xSqualo made their first contribution in #1092
- @shreyas-londhe made their first contribution in #995
- @varun-doshi made their first contribution in #1166
- @reject-i made their first contribution in #1199
- @clabby made their first contribution in #1248
- @aso20455 made their first contribution in #1252
Stats
.github/actions/setup/action.yml | 17 +-
.github/workflows/benchmark.yml | 3 +
.github/workflows/coverage.yml | 18 +-
.github/workflows/{tests.yml => fast.yml} | 75 +-
.github/workflows/publish.yml | 13 +
.github/workflows/slow.yml | 107 +
.gitignore | 9 +-
CONTRIBUTING.md | 4 +-
Cargo.lock | 269 ++-
Cargo.toml | 43 +-
FUZZING.md | 60 +
README.md | 5 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/config.rs | 6 +-
broadcast/src/buffered/engine.rs | 9 +-
broadcast/src/buffered/ingress.rs | 17 +-
broadcast/src/buffered/metrics.rs | 6 +-
broadcast/src/buffered/mod.rs | 12 +-
codec/Cargo.toml | 2 +-
codec/fuzz/Cargo.toml | 25 +
codec/fuzz/fuzz_targets/codec_roundtrip.rs | 185 ++
codec/src/codec.rs | 24 +-
codec/src/config.rs | 2 +-
codec/src/error.rs | 16 +-
codec/src/extensions.rs | 16 +-
codec/src/lib.rs | 46 +-
codec/src/types/bytes.rs | 2 +-
codec/src/types/map.rs | 2 +-
codec/src/types/primitives.rs | 4 +-
codec/src/types/set.rs | 8 +-
codec/src/types/vec.rs | 2 +-
codec/src/varint.rs | 31 +-
collector/Cargo.toml | 33 +
collector/README.md | 10 +
collector/src/lib.rs | 83 +
collector/src/p2p/engine.rs | 251 +++
collector/src/p2p/ingress.rs | 55 +
collector/src/p2p/mocks/handler.rs | 95 +
collector/src/p2p/mocks/mod.rs | 5 +
collector/src/p2p/mocks/monitor.rs | 52 +
collector/src/p2p/mocks/types.rs | 99 +
collector/src/p2p/mod.rs | 740 +++++++
consensus/Cargo.toml | 2 +-
consensus/src/lib.rs | 9 +-
consensus/src/ordered_broadcast/ack_manager.rs | 7 +-
consensus/src/ordered_broadcast/config.rs | 5 +-
consensus/src/ordered_broadcast/engine.rs | 20 +-
consensus/src/ordered_broadcast/metrics.rs | 6 +-
consensus/src/ordered_broadcast/mocks/automaton.rs | 13 +-
.../src/ordered_broadcast/mocks/sequencers.rs | 8 +-
.../src/ordered_broadcast/mocks/validators.rs | 20 +-
consensus/src/ordered_broadcast/mod.rs | 20 +-
consensus/src/ordered_broadcast/types.rs | 44 +-
consensus/src/simplex/actors/voter/actor.rs | 8 +-
consensus/src/simplex/actors/voter/mod.rs | 13 +-
consensus/src/simplex/config.rs | 7 -
consensus/src/simplex/engine.rs | 1 -
consensus/src/simplex/mocks/application.rs | 9 +-
consensus/src/simplex/mocks/conflicter.rs | 3 +-
consensus/src/simplex/mocks/relay.rs | 10 +-
consensus/src/simplex/mod.rs | 53 +-
consensus/src/simplex/types.rs | 2 +-
.../threshold_simplex/actors/batcher/ingress.rs | 9 +-
.../src/threshold_simplex/actors/batcher/mod.rs | 5 +-
.../src/threshold_simplex/actors/voter/actor.rs | 6 +-
.../src/threshold_simplex/actors/voter/mod.rs | 17 +-
consensus/src/threshold_simplex/config.rs | 7 -
consensus/src/threshold_simplex/engine.rs | 1 -
.../src/threshold_simplex/mocks/application.rs | 9 +-
.../src/threshold_simplex/mocks/conflicter.rs | 3 +-
consensus/src/threshold_simplex/mocks/relay.rs | 10 +-
.../src/threshold_simplex/mocks/supervisor.rs | 18 +-
consensus/src/threshold_simplex/mod.rs | 55 +-
consensus/src/threshold_simplex/types.rs | 10 +-
cryptography/Cargo.toml | 13 +-
cryptography/fuzz/Cargo.toml | 75 +
cryptography/fuzz/fuzz_targets/bloomfilter.rs | 51 +
.../fuzz/fuzz_targets/bls12381_batch_verifier.rs | 110 ++
cryptography/fuzz/fuzz_targets/bls12381_decode.rs | 79 +
.../fuzz_targets/bls12381_primitive_operations.rs | 868 +++++++++
.../fuzz/fuzz_targets/ed25519_batch_verifier.rs | 111 ++
cryptography/fuzz/fuzz_targets/ed25519_decode.rs | 45 +
cryptography/fuzz/fuzz_targets/secp256r1_decode.rs | 167 ++
cryptography/fuzz/fuzz_targets/sha256_hasher.rs | 115 ++
cryptography/src/blake3/benches/bench.rs | 5 +
cryptography/src/blake3/benches/hash_message.rs | 22 +
cryptography/src/blake3/mod.rs | 257 +++
cryptography/src/bloomfilter.rs | 227 +++
cryptography/src/bls12381/benches/dkg_recovery.rs | 16 +-
.../src/bls12381/benches/dkg_reshare_recovery.rs | 3 +-
.../benches/partial_verify_multiple_public_keys.rs | 3 +-
cryptography/src/bls12381/dkg/arbiter.rs | 6 +-
cryptography/src/bls12381/dkg/dealer.rs | 6 +-
cryptography/src/bls12381/dkg/mod.rs | 21 +-
cryptography/src/bls12381/dkg/player.rs | 6 +-
cryptography/src/bls12381/mod.rs | 2 +-
cryptography/src/bls12381/primitives/group.rs | 135 +-
cryptography/src/bls12381/primitives/ops.rs | 128 +-
cryptography/src/bls12381/primitives/poly.rs | 51 +-
cryptography/src/bls12381/primitives/variant.rs | 11 +-
cryptography/src/bls12381/scheme.rs | 3 +-
cryptography/src/ed25519/scheme.rs | 10 +-
cryptography/src/lib.rs | 11 +-
cryptography/src/secp256r1/scheme.rs | 12 +-
cryptography/src/sha256/benches/hash_message.rs | 3 +-
cryptography/src/sha256/mod.rs | 28 +
deployer/Cargo.toml | 2 +-
deployer/src/ec2/authorize.rs | 13 +-
deployer/src/ec2/aws.rs | 30 +-
deployer/src/ec2/create.rs | 20 +-
deployer/src/ec2/destroy.rs | 10 +-
deployer/src/ec2/mod.rs | 2 +-
deployer/src/ec2/services.rs | 110 +-
deployer/src/ec2/update.rs | 6 +-
deployer/src/ec2/utils.rs | 23 +-
docs/blogs/adb-any.html | 2 +-
docs/blogs/adb-current.html | 121 ++
docs/blogs/minimmit.html | 386 ++++
docs/hiring.html | 17 +
docs/imgs/adb-activity.png | Bin 0 -> 101658 bytes
docs/imgs/adb-chunked.png | Bin 0 -> 148697 bytes
docs/imgs/adb-current.png | Bin 0 -> 125073 bytes
docs/imgs/adb-naive.png | Bin 0 -> 181618 bytes
docs/imgs/alpenglow-fallback.png | Bin 0 -> 38007 bytes
docs/imgs/faster-blocks.png | Bin 0 -> 140801 bytes
docs/imgs/phase-comparison.png | Bin 0 -> 200135 bytes
docs/index.html | 16 +
docs/shared.js | 9 +-
docs/style.css | 61 +
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/application/actor.rs | 5 +-
examples/bridge/src/application/mod.rs | 5 +-
examples/bridge/src/application/supervisor.rs | 25 +-
examples/bridge/src/bin/dealer.rs | 2 +-
examples/bridge/src/bin/validator.rs | 15 +-
examples/chat/Cargo.toml | 2 +-
examples/chat/src/handler.rs | 6 +-
examples/chat/src/logger.rs | 2 +-
examples/chat/src/main.rs | 24 +-
examples/flood/Cargo.toml | 2 +-
examples/flood/src/bin/flood.rs | 7 +-
examples/flood/src/bin/setup.rs | 12 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/application/actor.rs | 8 +-
examples/log/src/application/mod.rs | 5 +-
examples/log/src/application/supervisor.rs | 11 +-
examples/log/src/gui.rs | 6 +-
examples/log/src/main.rs | 17 +-
examples/sync/Cargo.toml | 37 +
examples/sync/README.md | 134 ++
examples/sync/src/bin/client.rs | 254 +++
examples/sync/src/bin/server.rs | 448 +++++
examples/sync/src/lib.rs | 123 ++
examples/sync/src/protocol.rs | 400 ++++
examples/sync/src/resolver.rs | 202 ++
examples/vrf/Cargo.toml | 2 +-
examples/vrf/src/handlers/arbiter.rs | 12 +-
examples/vrf/src/handlers/contributor.rs | 24 +-
examples/vrf/src/handlers/utils.rs | 8 +-
examples/vrf/src/handlers/vrf.rs | 38 +-
examples/vrf/src/handlers/wire.rs | 49 +-
examples/vrf/src/main.rs | 18 +-
macros/Cargo.toml | 2 +-
macros/src/lib.rs | 2 +-
p2p/Cargo.toml | 3 +-
p2p/src/authenticated/actors/peer/ingress.rs | 133 --
p2p/src/authenticated/actors/spawner/ingress.rs | 46 -
.../authenticated/actors/tracker/reservation.rs | 64 -
p2p/src/authenticated/data.rs | 68 +
.../authenticated/{ => discovery}/actors/dialer.rs | 65 +-
.../{ => discovery}/actors/listener.rs | 88 +-
.../authenticated/{ => discovery}/actors/mod.rs | 0
.../{ => discovery}/actors/peer/actor.rs | 151 +-
.../authenticated/discovery/actors/peer/ingress.rs | 29 +
.../{ => discovery}/actors/peer/mod.rs | 8 +-
.../{ => discovery}/actors/router/actor.rs | 49 +-
.../discovery/actors/router/ingress.rs | 86 +
.../{ => discovery}/actors/router/mod.rs | 3 +-
.../{ => discovery}/actors/spawner/actor.rs | 43 +-
.../discovery/actors/spawner/ingress.rs | 32 +
.../{ => discovery}/actors/spawner/mod.rs | 3 +-
.../{ => discovery}/actors/tracker/actor.rs | 151 +-
.../{ => discovery}/actors/tracker/directory.rs | 99 +-
.../{ => discovery}/actors/tracker/ingress.rs | 167 +-
.../{ => discovery}/actors/tracker/metadata.rs | 6 +-
.../{ => discovery}/actors/tracker/metrics.rs | 4 +-
.../{ => discovery}/actors/tracker/mod.rs | 11 +-
.../{ => discovery}/actors/tracker/record.rs | 22 +-
.../discovery/actors/tracker/reservation.rs | 60 +
.../{ => discovery}/actors/tracker/set.rs | 90 +-
p2p/src/authenticated/{ => discovery}/channels.rs | 85 +-
p2p/src/authenticated/{ => discovery}/config.rs | 2 +-
p2p/src/authenticated/{ => discovery}/metrics.rs | 2 +-
p2p/src/authenticated/discovery/mod.rs | 742 +++++++
p2p/src/authenticated/{ => discovery}/network.rs | 10 +-
p2p/src/authenticated/{ => discovery}/types.rs | 63 +-
p2p/src/authenticated/ip.rs | 6 +-
p2p/src/authenticated/lookup/actors/dialer.rs | 186 ++
p2p/src/authenticated/lookup/actors/listener.rs | 174 ++
p2p/src/authenticated/lookup/actors/mod.rs | 6 +
p2p/src/authenticated/lookup/actors/peer/actor.rs | 253 +++
.../authenticated/lookup/actors/peer/ingress.rs | 14 +
p2p/src/authenticated/lookup/actors/peer/mod.rs | 40 +
.../authenticated/lookup/actors/router/actor.rs | 178 ++
.../{ => lookup}/actors/router/ingress.rs | 56 +-
p2p/src/authenticated/lookup/actors/router/mod.rs | 10 +
.../authenticated/lookup/actors/spawner/actor.rs | 153 ++
.../authenticated/lookup/actors/spawner/ingress.rs | 32 +
p2p/src/authenticated/lookup/actors/spawner/mod.rs | 15 +
.../authenticated/lookup/actors/tracker/actor.rs | 514 +++++
.../lookup/actors/tracker/directory.rs | 321 +++
.../authenticated/lookup/actors/tracker/ingress.rs | 213 ++
.../lookup/actors/tracker/metadata.rs | 29 +
.../authenticated/lookup/actors/tracker/metrics.rs | 56 +
p2p/src/authenticated/lookup/actors/tracker/mod.rs | 28 +
.../authenticated/lookup/actors/tracker/record.rs | 429 ++++
.../lookup/actors/tracker/reservation.rs | 60 +
p2p/src/authenticated/lookup/channels.rs | 135 ++
p2p/src/authenticated/lookup/config.rs | 173 ++
p2p/src/authenticated/lookup/metrics.rs | 61 +
p2p/src/authenticated/lookup/mod.rs | 672 +++++++
p2p/src/authenticated/lookup/network.rs | 196 ++
p2p/src/authenticated/lookup/types.rs | 92 +
p2p/src/authenticated/mailbox.rs | 38 +
p2p/src/authenticated/mod.rs | 649 +------
p2p/src/authenticated/relay.rs | 61 +
p2p/src/lib.rs | 14 +-
p2p/src/simulated/ingress.rs | 12 +-
p2p/src/simulated/metrics.rs | 4 +-
p2p/src/simulated/mod.rs | 2 +-
p2p/src/simulated/network.rs | 26 +-
p2p/src/utils/requester/config.rs | 4 +-
p2p/src/utils/requester/metrics.rs | 4 +-
p2p/src/utils/requester/requester.rs | 15 +-
pipeline/minimmit.md | 253 +++
resolver/Cargo.toml | 2 +-
resolver/src/p2p/config.rs | 3 +-
resolver/src/p2p/engine.rs | 10 +-
resolver/src/p2p/fetcher.rs | 5 +-
resolver/src/p2p/mocks/consumer.rs | 3 +-
resolver/src/p2p/mocks/coordinator.rs | 13 +-
resolver/src/p2p/mod.rs | 5 +-
runtime/Cargo.toml | 2 +-
runtime/src/deterministic.rs | 2 +-
runtime/src/iouring/mod.rs | 63 +-
runtime/src/lib.rs | 138 +-
runtime/src/mocks.rs | 2 +-
runtime/src/network/audited.rs | 19 +-
runtime/src/network/deterministic.rs | 3 +-
runtime/src/network/iouring.rs | 24 +
runtime/src/network/metered.rs | 11 +-
runtime/src/network/tokio.rs | 3 +-
runtime/src/storage/audited.rs | 14 +-
runtime/src/storage/iouring.rs | 40 +-
runtime/src/storage/memory.rs | 10 +-
runtime/src/storage/metered.rs | 17 +-
runtime/src/storage/mod.rs | 18 +-
runtime/src/storage/tokio/fallback.rs | 82 +
runtime/src/storage/{tokio.rs => tokio/mod.rs} | 128 +-
runtime/src/storage/tokio/unix.rs | 75 +
runtime/src/telemetry/traces/status.rs | 2 +-
runtime/src/tokio/runtime.rs | 30 +-
runtime/src/tokio/telemetry.rs | 5 +-
runtime/src/utils/buffer/append.rs | 382 ++++
runtime/src/utils/buffer/mod.rs | 116 +-
runtime/src/utils/buffer/pool.rs | 463 +++++
runtime/src/utils/buffer/read.rs | 11 +-
runtime/src/utils/buffer/tip.rs | 222 +++
runtime/src/utils/buffer/write.rs | 300 +--
runtime/src/utils/mod.rs | 16 +-
rustfmt.toml | 3 +
storage/Cargo.toml | 24 +-
storage/fuzz/Cargo.toml | 87 +
.../fuzz/fuzz_targets/adb_current_operations.rs | 281 +++
storage/fuzz/fuzz_targets/adb_operations.rs | 261 +++
storage/fuzz/fuzz_targets/archive_operations.rs | 246 +++
storage/fuzz/fuzz_targets/bmt_operations.rs | 128 ++
storage/fuzz/fuzz_targets/freezer_operations.rs | 85 +
storage/fuzz/fuzz_targets/index_operations.rs | 175 ++
storage/fuzz/fuzz_targets/journal_operations.rs | 193 ++
storage/fuzz/fuzz_targets/metadata_operations.rs | 130 ++
storage/fuzz/fuzz_targets/mmr_operations.rs | 428 ++++
storage/fuzz/fuzz_targets/rmap_operations.rs | 151 ++
storage/src/adb/any.rs | 1299 -------------
storage/src/adb/any/mod.rs | 2052 ++++++++++++++++++++
storage/src/adb/any/sync/client.rs | 673 +++++++
storage/src/adb/any/sync/mod.rs | 74 +
storage/src/adb/any/sync/resolver.rs | 74 +
storage/src/adb/benches/any_init.rs | 150 ++
storage/src/adb/benches/bench.rs | 5 +
storage/src/adb/current.rs | 472 ++---
storage/src/adb/mod.rs | 5 +-
storage/src/adb/operation.rs | 16 +-
storage/src/archive/benches/get.rs | 156 +-
storage/src/archive/benches/put.rs | 53 +-
storage/src/archive/benches/restart.rs | 84 +-
storage/src/archive/benches/utils.rs | 170 +-
storage/src/archive/immutable/mod.rs | 108 ++
storage/src/archive/immutable/storage.rs | 342 ++++
storage/src/archive/mod.rs | 1371 +++++--------
storage/src/archive/prunable/mod.rs | 669 +++++++
storage/src/archive/{ => prunable}/storage.rs | 202 +-
storage/src/bmt/mod.rs | 20 +-
storage/src/freezer/benches/bench.rs | 8 +
storage/src/freezer/benches/get.rs | 117 ++
storage/src/freezer/benches/put.rs | 33 +
storage/src/freezer/benches/restart.rs | 51 +
storage/src/freezer/benches/utils.rs | 72 +
storage/src/freezer/mod.rs | 1083 +++++++++++
storage/src/freezer/storage.rs | 963 +++++++++
storage/src/index/benches/insert.rs | 2 +-
storage/src/index/mod.rs | 110 +-
storage/src/index/storage.rs | 48 +-
storage/src/journal/benches/bench.rs | 15 +-
storage/src/journal/benches/fixed_replay.rs | 13 +-
storage/src/journal/fixed.rs | 1368 +++++++++----
storage/src/journal/mod.rs | 2 +
storage/src/journal/variable.rs | 332 +++-
storage/src/lib.rs | 3 +
storage/src/metadata/benches/bench.rs | 7 +
storage/src/metadata/benches/restart.rs | 57 +
storage/src/metadata/benches/sync.rs | 59 +
storage/src/metadata/benches/utils.rs | 50 +
storage/src/metadata/mod.rs | 813 +++++++-
storage/src/metadata/storage.rs | 453 +++--
storage/src/mmr/benches/append.rs | 7 +-
storage/src/mmr/benches/append_additional.rs | 12 +-
storage/src/mmr/benches/prove_many_elements.rs | 26 +-
storage/src/mmr/benches/prove_single_element.rs | 25 +-
storage/src/mmr/benches/update.rs | 89 +-
storage/src/mmr/bitmap.rs | 279 +--
storage/src/mmr/hasher.rs | 471 +++--
storage/src/mmr/iterator.rs | 7 +-
storage/src/mmr/journaled.rs | 748 +++++--
storage/src/mmr/mem.rs | 512 +++--
storage/src/mmr/mod.rs | 15 +-
storage/src/mmr/storage.rs | 5 +-
storage/src/mmr/tests/mod.rs | 13 +-
storage/src/mmr/verification.rs | 1039 ++++++----
storage/src/ordinal/benches/bench.rs | 8 +
storage/src/ordinal/benches/get.rs | 91 +
storage/src/ordinal/benches/put.rs | 33 +
storage/src/ordinal/benches/restart.rs | 51 +
storage/src/ordinal/benches/utils.rs | 45 +
storage/src/ordinal/mod.rs | 1905 ++++++++++++++++++
storage/src/ordinal/storage.rs | 389 ++++
storage/src/{index => }/translator.rs | 32 +-
stream/Cargo.toml | 4 +-
stream/fuzz/Cargo.toml | 61 +
stream/fuzz/fuzz_targets/confirmation.rs | 39 +
stream/fuzz/fuzz_targets/connection.rs | 169 ++
stream/fuzz/fuzz_targets/e2e.rs | 596 ++++++
stream/fuzz/fuzz_targets/handshake.rs | 120 ++
stream/fuzz/fuzz_targets/lazy_transport.rs | 108 ++
stream/fuzz/fuzz_targets/transport.rs | 82 +
stream/src/lib.rs | 51 +-
stream/src/public_key/benches/sender_send.rs | 6 +-
stream/src/public_key/cipher.rs | 589 ++++--
stream/src/public_key/connection.rs | 379 ++--
stream/src/public_key/handshake.rs | 311 ++-
stream/src/public_key/mod.rs | 154 +-
stream/src/public_key/nonce.rs | 161 +-
stream/src/public_key/x25519.rs | 10 +-
utils/Cargo.toml | 2 +-
utils/fuzz/Cargo.toml | 50 +
utils/fuzz/fuzz_targets/array.rs | 105 +
utils/fuzz/fuzz_targets/bitvec.rs | 209 ++
utils/fuzz/fuzz_targets/lib_functions.rs | 153 ++
utils/fuzz/fuzz_targets/priority_set.rs | 163 ++
utils/fuzz/fuzz_targets/stable_buf.rs | 117 ++
utils/src/array/fixed_bytes.rs | 2 +-
utils/src/array/u64.rs | 6 +
utils/src/bitvec.rs | 12 +-
utils/src/futures.rs | 36 +-
utils/src/lib.rs | 69 +-
utils/src/stable_buf.rs | 12 +-
utils/src/time.rs | 10 +-
377 files changed, 35575 insertions(+), 7879 deletions(-)