1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Fireblocks API
//
// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain. - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
//
// The version of the OpenAPI document: 1.8.0
// Contact: developers@fireblocks.com
// Generated by: https://openapi-generator.tech
use {
crate::models,
serde::{Deserialize, Serialize},
};
/// PreHash : The prehash object for ECDSA RAW signing requests. The prehash
/// object contains the content to sign (the actual message in hex
/// representation) and the hashing algorithm to use before signing.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PreHash {
/// The prehashed content to sign on in hex representation.
#[serde(rename = "content")]
pub content: String,
/// The hashing algorithm to use in order to hash the content before the
/// signature process
#[serde(rename = "hashAlgorithm")]
pub hash_algorithm: HashAlgorithm,
}
impl PreHash {
/// The prehash object for ECDSA RAW signing requests. The prehash object
/// contains the content to sign (the actual message in hex representation)
/// and the hashing algorithm to use before signing.
pub fn new(content: String, hash_algorithm: HashAlgorithm) -> PreHash {
PreHash {
content,
hash_algorithm,
}
}
}
/// The hashing algorithm to use in order to hash the content before the
/// signature process
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum HashAlgorithm {
#[serde(rename = "SHA256")]
Sha256,
#[serde(rename = "KECCAK256")]
Keccak256,
#[serde(rename = "SHA3")]
Sha3,
#[serde(rename = "BLAKE2")]
Blake2,
#[serde(rename = "DOUBLE_SHA256")]
DoubleSha256,
}
impl Default for HashAlgorithm {
fn default() -> HashAlgorithm {
Self::Sha256
}
}