#validation #generated #byte #protobuf #define #penumbra #traits

penumbra-sdk-proto

Bindings and extension traits for Penumbra protobufs

13 releases

new 0.82.0-alpha.15 Jan 15, 2025
0.82.0-alpha.13 Jan 14, 2025
0.82.0-alpha.0 Dec 26, 2024

#1434 in Encoding

Download history 64/week @ 2024-12-20 107/week @ 2024-12-27 828/week @ 2025-01-03 741/week @ 2025-01-10

1,740 downloads per month
Used in 32 crates (27 directly)

MIT/Apache

4.5MB
97K SLoC

Protobuf definitions for Penumbra.

This crate only contains the .proto files and the Rust types generated from them. These types only handle parsing the wire format; validation should be performed by converting them into an appropriate domain type, as in the following diagram:

┌───────┐          ┌──────────────┐               ┌──────────────┐
│encoded│ protobuf │penumbra_sdk_proto│ TryFrom/Into  │ domain types │
│ bytes │<──wire ─>│    types     │<─validation ─>(other crates)│
└───────┘  format  └──────────────┘   boundary    └──────────────┘

The DomainType marker trait can be implemented on a domain type to ensure these conversions exist.

Dependencies

~29–50MB
~1M SLoC