trust-graph-test/bin/src/proxy_structs.rs

43 lines
1.2 KiB
Rust
Raw Normal View History

use fluence::fce;
2021-02-10 15:26:26 +03:00
use trust_graph::{Certificate as TGCertificate, Trust as TGTrust};
#[fce]
pub struct Certificate {
pub chain: Vec<Trust>,
}
impl From<TGCertificate> for Certificate {
fn from(t: TGCertificate) -> Self {
let chain: Vec<Trust> = t.chain.into_iter().map(|t| t.into()).collect();
2021-02-10 15:26:26 +03:00
return Certificate { chain };
}
}
#[fce]
pub struct Trust {
/// For whom this certificate is issued, base58
pub issued_for: String,
/// Expiration date of a trust, in secs
pub expires_at: u64,
/// Signature of a previous trust in a chain.
/// Signature is self-signed if it is a root trust, base58
pub signature: String,
/// Creation time of a trust, in secs
pub issued_at: u64,
}
impl From<TGTrust> for Trust {
fn from(t: TGTrust) -> Self {
let issued_for = bs58::encode(t.issued_for.to_bytes()).into_string();
let signature = bs58::encode(t.signature.to_bytes()).into_string();
let expires_at = t.expires_at.as_secs();
let issued_at = t.issued_at.as_secs();
return Trust {
issued_for,
expires_at,
signature,
2021-02-10 15:26:26 +03:00
issued_at,
};
}
2021-02-10 15:26:26 +03:00
}