.github/workflows/coverage.yml | 3 -
.github/workflows/tests.yml | 10 +-
Cargo.lock | 45 +-
Cargo.toml | 25 +-
broadcast/Cargo.toml | 2 +-
broadcast/src/buffered/engine.rs | 47 +-
broadcast/src/buffered/ingress.rs | 45 +-
broadcast/src/buffered/mocks.rs | 6 +-
broadcast/src/buffered/mod.rs | 13 +-
codec/Cargo.toml | 2 +-
codec/src/types/map.rs | 683 +++++++++++++++++----
codec/src/types/mod.rs | 1 +
codec/src/types/set.rs | 589 ++++++++++++++++++
codec/src/varint.rs | 149 +++++
consensus/Cargo.toml | 2 +-
consensus/src/ordered_broadcast/ack_manager.rs | 41 +-
consensus/src/ordered_broadcast/config.rs | 6 +-
consensus/src/ordered_broadcast/engine.rs | 45 +-
consensus/src/ordered_broadcast/mocks/reporter.rs | 38 +-
consensus/src/ordered_broadcast/mod.rs | 71 ++-
consensus/src/ordered_broadcast/tip_manager.rs | 42 +-
consensus/src/ordered_broadcast/types.rs | 172 +++---
consensus/src/simplex/actors/resolver/actor.rs | 28 +-
consensus/src/simplex/actors/resolver/ingress.rs | 9 +-
consensus/src/simplex/actors/resolver/mod.rs | 4 +-
consensus/src/simplex/actors/voter/actor.rs | 55 +-
consensus/src/simplex/actors/voter/ingress.rs | 11 +-
consensus/src/simplex/actors/voter/mod.rs | 77 ++-
consensus/src/simplex/config.rs | 6 +-
consensus/src/simplex/engine.rs | 13 +-
consensus/src/simplex/mocks/conflicter.rs | 10 +-
consensus/src/simplex/mocks/nuller.rs | 8 +-
consensus/src/simplex/mocks/outdated.rs | 8 +-
consensus/src/simplex/mocks/supervisor.rs | 48 +-
consensus/src/simplex/mod.rs | 89 +--
consensus/src/simplex/types.rs | 367 +++++------
.../src/threshold_simplex/actors/batcher/actor.rs | 39 +-
.../src/threshold_simplex/actors/resolver/actor.rs | 28 +-
.../src/threshold_simplex/actors/resolver/mod.rs | 4 +-
.../src/threshold_simplex/actors/voter/actor.rs | 49 +-
.../src/threshold_simplex/actors/voter/mod.rs | 26 +-
consensus/src/threshold_simplex/config.rs | 6 +-
consensus/src/threshold_simplex/engine.rs | 12 +-
consensus/src/threshold_simplex/mod.rs | 31 +-
cryptography/Cargo.toml | 4 +-
.../benches/batch_verify_multiple_messages.rs | 6 +-
.../benches/batch_verify_multiple_public_keys.rs | 6 +-
cryptography/src/bls12381/benches/dkg_recovery.rs | 4 +-
.../src/bls12381/benches/dkg_reshare_recovery.rs | 4 +-
.../src/bls12381/benches/signature_generation.rs | 8 +-
.../src/bls12381/benches/signature_verification.rs | 18 +-
cryptography/src/bls12381/dkg/mod.rs | 71 +--
cryptography/src/bls12381/mod.rs | 2 +-
cryptography/src/bls12381/scheme.rs | 144 ++---
.../benches/batch_verify_multiple_messages.rs | 6 +-
.../benches/batch_verify_multiple_public_keys.rs | 6 +-
.../src/ed25519/benches/signature_generation.rs | 8 +-
.../src/ed25519/benches/signature_verification.rs | 18 +-
cryptography/src/ed25519/mod.rs | 8 +-
cryptography/src/ed25519/scheme.rs | 224 +++----
cryptography/src/lib.rs | 295 ++++-----
.../src/secp256r1/benches/signature_generation.rs | 6 +-
.../secp256r1/benches/signature_verification.rs | 18 +-
cryptography/src/secp256r1/mod.rs | 8 +-
cryptography/src/secp256r1/scheme.rs | 200 +++---
cryptography/src/sha256/mod.rs | 10 +
deployer/Cargo.toml | 2 +-
deployer/src/ec2/aws.rs | 7 +-
deployer/src/ec2/destroy.rs | 290 ++++-----
docs/blogs/buffered-signatures.html | 127 ++++
docs/imgs/bisection.png | Bin 0 -> 343736 bytes
docs/imgs/buffering.png | Bin 0 -> 231546 bytes
docs/imgs/gossip-models.png | Bin 0 -> 301464 bytes
docs/imgs/invalid-signature-gossip.png | Bin 0 -> 353987 bytes
docs/index.html | 6 +
examples/bridge/Cargo.toml | 2 +-
examples/bridge/src/bin/dealer.rs | 4 +-
examples/bridge/src/bin/indexer.rs | 7 +-
examples/bridge/src/bin/validator.rs | 10 +-
examples/chat/Cargo.toml | 2 +-
examples/chat/src/main.rs | 9 +-
examples/flood/Cargo.toml | 2 +-
examples/flood/src/bin/flood.rs | 7 +-
examples/flood/src/bin/setup.rs | 6 +-
examples/log/Cargo.toml | 2 +-
examples/log/src/application/actor.rs | 6 +-
examples/log/src/application/supervisor.rs | 10 +-
examples/log/src/main.rs | 8 +-
examples/vrf/Cargo.toml | 2 +-
examples/vrf/src/handlers/arbiter.rs | 26 +-
examples/vrf/src/handlers/contributor.rs | 8 +-
examples/vrf/src/main.rs | 17 +-
macros/Cargo.toml | 2 +-
p2p/Cargo.toml | 2 +-
p2p/src/authenticated/actors/dialer.rs | 12 +-
p2p/src/authenticated/actors/listener.rs | 14 +-
p2p/src/authenticated/actors/peer/actor.rs | 20 +-
p2p/src/authenticated/actors/peer/ingress.rs | 8 +-
p2p/src/authenticated/actors/spawner/actor.rs | 14 +-
p2p/src/authenticated/actors/tracker/actor.rs | 94 +--
p2p/src/authenticated/actors/tracker/directory.rs | 42 +-
p2p/src/authenticated/actors/tracker/ingress.rs | 57 +-
p2p/src/authenticated/actors/tracker/mod.rs | 4 +-
p2p/src/authenticated/actors/tracker/record.rs | 168 +++--
p2p/src/authenticated/config.rs | 6 +-
p2p/src/authenticated/metrics.rs | 36 +-
p2p/src/authenticated/mod.rs | 18 +-
p2p/src/authenticated/network.rs | 10 +-
p2p/src/authenticated/types.rs | 82 +--
p2p/src/simulated/mod.rs | 46 +-
p2p/src/simulated/network.rs | 8 +-
p2p/src/utils/requester/requester.rs | 15 +-
resolver/Cargo.toml | 2 +-
resolver/src/p2p/mod.rs | 18 +-
runtime/Cargo.toml | 2 +-
runtime/src/deterministic.rs | 2 +-
runtime/src/iouring/mod.rs | 365 ++++++++---
runtime/src/lib.rs | 46 +-
runtime/src/mocks.rs | 168 +++--
runtime/src/network/audited.rs | 23 +-
runtime/src/network/deterministic.rs | 12 +-
runtime/src/network/iouring.rs | 172 +++++-
runtime/src/network/metered.rs | 21 +-
runtime/src/network/mod.rs | 67 +-
runtime/src/network/tokio.rs | 29 +-
runtime/src/storage/audited.rs | 22 +-
runtime/src/storage/iouring.rs | 126 ++--
runtime/src/storage/memory.rs | 16 +-
runtime/src/storage/metered.rs | 13 +-
runtime/src/storage/mod.rs | 38 +-
runtime/src/storage/tokio.rs | 16 +-
runtime/src/tokio/runtime.rs | 82 ++-
runtime/src/utils/buffer/mod.rs | 674 ++++++++++++--------
runtime/src/utils/buffer/read.rs | 9 +-
runtime/src/utils/buffer/write.rs | 176 ++++--
storage/Cargo.toml | 2 +-
storage/src/adb/any.rs | 136 ++--
storage/src/adb/current.rs | 63 +-
storage/src/archive/mod.rs | 15 +-
storage/src/journal/fixed.rs | 283 +++++++--
storage/src/journal/variable.rs | 636 +++++++++++++++----
storage/src/metadata/storage.rs | 13 +-
storage/src/mmr/benches/bench.rs | 2 +
storage/src/mmr/benches/update.rs | 71 +++
storage/src/mmr/bitmap.rs | 453 +++++++-------
storage/src/mmr/journaled.rs | 141 +++--
storage/src/mmr/mem.rs | 267 +++++++-
storage/src/mmr/storage.rs | 4 +-
storage/src/mmr/tests/mod.rs | 45 ++
stream/Cargo.toml | 8 +-
stream/src/lib.rs | 10 +-
stream/src/public_key/benches/receiver_receive.rs | 11 +-
stream/src/public_key/benches/sender_send.rs | 12 +-
stream/src/public_key/cipher.rs | 316 ++++++++++
stream/src/public_key/connection.rs | 392 ++++++++++--
stream/src/public_key/handshake.rs | 152 ++---
stream/src/public_key/mod.rs | 33 +-
stream/src/public_key/nonce.rs | 91 +--
stream/src/utils/codec.rs | 37 +-
utils/Cargo.toml | 2 +-
utils/src/lib.rs | 2 -
utils/src/stable_buf.rs | 121 ++--
utils/src/stable_buf_mut.rs | 41 --
163 files changed, 7230 insertions(+), 3485 deletions(-)