runx_contracts/
packet_index.rs1use serde::{Deserialize, Serialize};
4
5use crate::schema::RunxSchema;
6
7#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, RunxSchema)]
8pub enum PacketIndexSchema {
9 #[serde(rename = "runx.packet.index.v1")]
10 V1,
11}
12
13#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, RunxSchema)]
14#[serde(deny_unknown_fields)]
15pub struct PacketIndexEntry {
16 pub id: String,
17 pub package: String,
18 pub version: String,
19 pub path: String,
20 pub sha256: String,
21}
22
23#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, RunxSchema)]
24#[serde(deny_unknown_fields)]
25#[runx_schema(id = "runx.packet.index.v1")]
26pub struct PacketIndex {
27 pub schema: PacketIndexSchema,
28 pub packets: Vec<PacketIndexEntry>,
29}