fireblocks_sdk/models/
public_key_information.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PublicKeyInformation {
16 #[serde(rename = "algorithm", skip_serializing_if = "Option::is_none")]
18 pub algorithm: Option<Algorithm>,
19 #[serde(rename = "derivationPath", skip_serializing_if = "Option::is_none")]
21 pub derivation_path: Option<Vec<i32>>,
22 #[serde(rename = "publicKey", skip_serializing_if = "Option::is_none")]
24 pub public_key: Option<String>,
25}
26
27impl PublicKeyInformation {
28 pub fn new() -> PublicKeyInformation {
29 PublicKeyInformation {
30 algorithm: None,
31 derivation_path: None,
32 public_key: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum Algorithm {
39 #[serde(rename = "MPC_ECDSA_SECP256K1")]
40 MpcEcdsaSecp256K1,
41 #[serde(rename = "MPC_ECDSA_SECP256R1")]
42 MpcEcdsaSecp256R1,
43 #[serde(rename = "MPC_EDDSA_ED25519")]
44 MpcEddsaEd25519,
45}
46
47impl Default for Algorithm {
48 fn default() -> Algorithm {
49 Self::MpcEcdsaSecp256K1
50 }
51}