miden-objects 0.17.0-rc.4

Canonical Protobuf representations for Miden protocol objects
Documentation
use alloc::vec;

use miden_protocol::Word;
use prost::Message;

use crate::decoded::protocol_config::test_utils::dummy_protocol_config;
use crate::{DecodeMessage, Verify, proto};

#[test]
fn protocol_config_roundtrips_through_protobuf_bytes_and_preserves_kernel_order() {
    let config = dummy_protocol_config();

    let encoded = proto::protocol_config::ProtocolConfig::from(&config).encode_to_vec();
    let message = proto::protocol_config::ProtocolConfig::decode(encoded.as_slice()).unwrap();

    assert_eq!(
        message.tx_kernel.as_ref().unwrap().kernel_procs,
        vec![Word::from([2_u32, 0, 0, 0]).into()]
    );
    assert_eq!(message.decode_fields().unwrap().verify().unwrap(), config);
}