espresso_types/v0/v0_99/
solver.rs1use crate::{v0::utils::Update, FeeAmount, NamespaceId, SeqTypes};
2use hotshot::types::SignatureKey;
3use hotshot_types::traits::node_implementation::NodeType;
4use serde::{Deserialize, Serialize};
5use tide_disco::Url;
6
7#[derive(PartialEq, Serialize, Deserialize, Debug, Clone)]
8pub struct RollupRegistration {
9 pub body: RollupRegistrationBody,
10 pub signature:
12 <<SeqTypes as NodeType>::SignatureKey as SignatureKey>::PureAssembledSignatureType,
13}
14
15#[derive(PartialEq, Serialize, Deserialize, Debug, Clone)]
16pub struct RollupRegistrationBody {
17 pub namespace_id: NamespaceId,
18 pub reserve_url: Option<Url>,
20 pub reserve_price: FeeAmount,
22 pub active: bool,
24 pub signature_keys: Vec<<SeqTypes as NodeType>::SignatureKey>,
26 pub signature_key: <SeqTypes as NodeType>::SignatureKey,
28 pub text: String,
30}
31
32#[derive(PartialEq, Serialize, Deserialize, Debug, Clone)]
33pub struct RollupUpdate {
34 pub body: RollupUpdatebody,
35 pub signature:
37 <<SeqTypes as NodeType>::SignatureKey as SignatureKey>::PureAssembledSignatureType,
38}
39
40#[derive(PartialEq, Serialize, Deserialize, Debug, Clone)]
41pub struct RollupUpdatebody {
42 pub namespace_id: NamespaceId,
43 #[serde(default)]
45 pub reserve_url: Update<Option<Url>>,
46 #[serde(default)]
47 pub reserve_price: Update<FeeAmount>,
48 #[serde(default)]
50 pub active: Update<bool>,
51 #[serde(default)]
53 pub signature_keys: Update<Vec<<SeqTypes as NodeType>::SignatureKey>>,
54 pub signature_key: <SeqTypes as NodeType>::SignatureKey,
56 pub text: Update<String>,
58}