omnimesh 1.0.1

Zero-allocation mesh networking middleware for autonomous robot fleets, edge-AI swarms, and multi-agent systems
Documentation
use ed25519_dalek::SigningKey;
use omnimesh::buffer::PayloadStorage;
use omnimesh::config::OmnimeshMode;
use omnimesh::envelope::{Did, EnvelopeHeader, MessageId, PayloadType, Priority, SignedEnvelope};
use omnimesh::runtime::security::SecurityLayer;
use rand_core::OsRng;

#[test]
fn security_verify_accepts_signed_envelope() {
    let security = SecurityLayer::new(&OmnimeshMode::production(), None);

    let mut csprng = OsRng;
    let keypair = SigningKey::generate(&mut csprng);

    let header = EnvelopeHeader::new(
        1,
        MessageId::new([0x01; 16]),
        Did::new(keypair.verifying_key().to_bytes()),
        Did::new([0x03; 32]),
        1,
        1_700_000_000_000_000,
        Priority::Normal,
        PayloadType::Raw,
    );
    let payload = PayloadStorage::<128>::new();

    let envelope = SignedEnvelope::sign(header, payload, &keypair);

    assert!(security.verify(&envelope).is_ok());
}

#[test]
fn security_verify_rejects_unsigned_envelope_in_production() {
    let security = SecurityLayer::new(&OmnimeshMode::production(), None);
    let header = EnvelopeHeader::new(
        1,
        MessageId::new([0x01; 16]),
        Did::new([0x02; 32]),
        Did::new([0x03; 32]),
        1,
        1_700_000_000_000_000,
        Priority::Normal,
        PayloadType::Raw,
    );
    let payload = PayloadStorage::<128>::new();
    let envelope = SignedEnvelope::new(header, payload, [0u8; 64]);

    assert!(security.verify(&envelope).is_err());
}