Smart Byte (1 crate, 2127 LOC, 35 tests)
smart-byte-atproto ATProto (Bluesky federation) adapter.
PLC + did:web resolution; XRPC client; CARv1 encode/decode
with CIDv1 (dag-cbor + raw, SHA-256); sketch MST with
order-independent BLAKE3 root; Repo + UnsignedCommit /
SignedCommit (Ed25519 over CBOR); firehose transport
trait + in-memory impl; AT URI ↔ smart-byte AID bridge
with SAID commitment.
OpenPay (1 crate, 2397 LOC, 44 tests)
op-openbanking UK OBIE R/W v3.1.10/3.1.11, Berlin Group NextGenPSD2
XS2A v1.3.13, STET PSD2 v1.7, Australia CDR Banking v1.31,
FDX v5/v6, SGFinDex shapes. AISP / PISP / PIIS / VRP
traits. FAPI 1.0 Advanced (PS256/ES256, mTLS, RFC 8705
certificate binding, JWK registration). Operators wire
their own JWS signer + HTTP transport — keeps the crate
KMS-agnostic.
EOC (1 crate, 2179 LOC, 32 tests)
eoc-distributed Distributed-inference scheduling. Worker trait with
Capability + Accelerator (CPU/GPU/TPU/NPU/Mixed) +
Load.busyness()/projected_micro_joules()/projected_g_co2e().
RoundRobin / LeastBusy / LatencyWeighted / JouleWeighted
(default) / CarbonWeighted routers. Work-stealing
scheduler. vLLM-style continuous batching with KV-block
budget. Ray-Serve-style auto-scaler with cooldown.
KV-cache-aware sticky-session routing.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
56 lines
2.1 KiB
Rust
56 lines
2.1 KiB
Rust
//! Build a repo, sign a commit, export to CAR, decode back, verify.
|
|
|
|
use ed25519_dalek::SigningKey;
|
|
use rand::rngs::OsRng;
|
|
use smart_byte_atproto::car::{CarFile, Cid};
|
|
use smart_byte_atproto::{Repo, SignedCommit};
|
|
|
|
#[test]
|
|
fn sign_then_verify() {
|
|
let mut csprng = OsRng;
|
|
let key = SigningKey::generate(&mut csprng);
|
|
let mut repo = Repo::new("did:plc:repotest0000000000000000");
|
|
repo.put_record("app.bsky.feed.post/aaa", Cid::dag_cbor(b"first"))
|
|
.unwrap();
|
|
repo.put_record("app.bsky.feed.post/bbb", Cid::dag_cbor(b"second"))
|
|
.unwrap();
|
|
let signed = repo.sign_commit(&key).unwrap();
|
|
signed.verify(&key.verifying_key()).unwrap();
|
|
assert!(repo.head.is_some());
|
|
}
|
|
|
|
#[test]
|
|
fn wrong_key_fails_verify() {
|
|
let mut csprng = OsRng;
|
|
let key = SigningKey::generate(&mut csprng);
|
|
let other = SigningKey::generate(&mut csprng);
|
|
let mut repo = Repo::new("did:plc:repotest0000000000000000");
|
|
repo.put_record("c/1", Cid::dag_cbor(b"hi")).unwrap();
|
|
let signed = repo.sign_commit(&key).unwrap();
|
|
assert!(signed.verify(&other.verifying_key()).is_err());
|
|
}
|
|
|
|
#[test]
|
|
fn repo_exports_to_car_with_commit_root() {
|
|
let mut csprng = OsRng;
|
|
let key = SigningKey::generate(&mut csprng);
|
|
let mut repo = Repo::new("did:plc:repotest0000000000000000");
|
|
let rec_cid = Cid::dag_cbor(b"payload");
|
|
repo.put_record("c/1", rec_cid.clone()).unwrap();
|
|
let signed = repo.sign_commit(&key).unwrap();
|
|
let car = repo
|
|
.to_car(&signed, vec![(rec_cid.clone(), b"payload".to_vec())])
|
|
.unwrap();
|
|
let encoded = car.encode().unwrap();
|
|
let decoded = CarFile::decode(&encoded).unwrap();
|
|
assert_eq!(decoded.roots.len(), 1);
|
|
let commit_cid = signed.cid().unwrap();
|
|
assert_eq!(decoded.roots[0], commit_cid);
|
|
// commit + payload
|
|
assert_eq!(decoded.blocks.len(), 2);
|
|
// Re-deserialise the commit and reverify.
|
|
let commit_block = decoded.get(&commit_cid).unwrap();
|
|
let parsed: SignedCommit =
|
|
serde_cbor::from_slice(&commit_block.data).unwrap();
|
|
parsed.verify(&key.verifying_key()).unwrap();
|
|
}
|