lit_sdk/admin/
get_key_backup.rs1use crate::{AdminRequest, AdminResponse, SdkError, SdkResult, UrlPrefix};
2use lit_node_core::AdminAuthSig;
3use serde::{Deserialize, Serialize};
4use std::{collections::HashMap, marker::PhantomData};
5
6#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct GetKeyBackupParameters {
10 pub auth: AdminAuthSig,
12 pub epoch: u64,
14}
15
16pub type GetKeyBackupResponse = AdminResponse<()>;
18
19pub type GetKeyBackupRequest = AdminRequest<GetKeyBackupBuilder, GetKeyBackupParameters, ()>;
21
22admin_builder!(
23 GetKeyBackupBuilder,
24 GetKeyBackupParameters,
25 (),
26 "/web/admin/get_key_backup/v2"
27);
28
29impl GetKeyBackupBuilder {
30 fn request_checks(&self) -> SdkResult<()> {
31 let Some(request) = &self.request else {
32 return Err(SdkError::Build("No auth sig is specified".to_string()));
33 };
34 if request.epoch < 2 {
35 return Err(SdkError::Build("Invalid epoch".to_string()));
36 }
37 Ok(())
38 }
39}