2023-06-05 18:26:59 -04:00
|
|
|
use lox::bridge_table::{BridgeLine, ENC_BUCKET_BYTES};
|
|
|
|
use lox::cred::{Invitation, Lox};
|
2023-06-05 15:24:06 -04:00
|
|
|
use lox::proto;
|
2023-06-05 18:26:59 -04:00
|
|
|
use lox::IssuerPubKey;
|
2023-06-05 15:24:06 -04:00
|
|
|
use serde::{Deserialize, Serialize};
|
2023-06-05 18:26:59 -04:00
|
|
|
use serde_with::serde_as;
|
2023-06-05 15:24:06 -04:00
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct OpenReqState {
|
|
|
|
pub request: proto::open_invite::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::open_invite::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct TrustReqState {
|
|
|
|
pub request: proto::trust_promotion::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::trust_promotion::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct MigReqState {
|
|
|
|
pub request: proto::migration::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::migration::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct LevelupReqState {
|
|
|
|
pub request: proto::level_up::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::level_up::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct IssueInviteReqState {
|
|
|
|
pub request: proto::issue_invite::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::issue_invite::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct RedeemReqState {
|
|
|
|
pub request: proto::redeem_invite::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::redeem_invite::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct CheckBlockageReqState {
|
|
|
|
pub request: proto::check_blockage::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::check_blockage::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Deserialize, Serialize)]
|
|
|
|
pub struct BlockageMigReqState {
|
|
|
|
pub request: proto::blockage_migration::Request,
|
2023-06-05 18:26:59 -04:00
|
|
|
pub state: proto::blockage_migration::State,
|
2023-06-05 15:24:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
|
|
pub struct PubKeys {
|
|
|
|
pub lox_pub: IssuerPubKey,
|
|
|
|
pub migration_pub: IssuerPubKey,
|
|
|
|
pub migrationkey_pub: IssuerPubKey,
|
|
|
|
pub reachability_pub: IssuerPubKey,
|
|
|
|
pub invitation_pub: IssuerPubKey,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[serde_as]
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
|
|
pub struct EncBridgeTable {
|
2023-06-05 18:26:59 -04:00
|
|
|
#[serde_as(as = "Vec<[_; ENC_BUCKET_BYTES]>")]
|
2023-06-05 15:24:06 -04:00
|
|
|
pub etable: Vec<[u8; ENC_BUCKET_BYTES]>,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize, Serialize)]
|
|
|
|
pub struct LoxCredential {
|
|
|
|
pub lox_credential: Lox,
|
|
|
|
pub bridgeline: Option<BridgeLine>,
|
|
|
|
pub invitation: Option<Invitation>,
|
|
|
|
}
|