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
60
61
62
63
// 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},
};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TravelRuleOwnershipProof {
/// The type of ownership proof. Example values: - `eip-191`: Ethereum
/// signature proof - `eip-712`: Ethereum typed data signature proof -
/// `bip-137`: Bitcoin signature proof - `microtransfer`: Microtransaction
/// (Satoshi test) - `screenshot`: Uploaded screenshot of the wallet -
/// `self-declaration`: Checkbox attestation of ownership
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
/// The cryptographic signature, transaction hash, or other proof depending
/// on the type. Examples: - For `eip-191`: `0x3dd4a17a...ce4a2bcd1b` - For
/// `microtransfer`: The transaction hash `H3V8GXBy39Dz...tr3TSTkY=`
#[serde(rename = "proof", skip_serializing_if = "Option::is_none")]
pub proof: Option<String>,
/// A human-readable statement of wallet ownership. Required for signature
/// proofs and self-declarations. Examples: - `I certify that ETH account
/// 0x896B...0b9b belongs to me.` - `I hereby declare that the blockchain
/// address 0xa437bEed902AF9338B7DEB23848e195d85019510 is under my control.`
#[serde(rename = "attestation", skip_serializing_if = "Option::is_none")]
pub attestation: Option<String>,
/// The wallet address being verified. Examples: - For Ethereum:
/// `0x896B...0b9b` - For Bitcoin: `1442...dxhsQ`
#[serde(rename = "address", skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
/// The wallet provider or method used for verification. Examples: - For
/// Metamask: `Metamask` - For manual signature: `manual`
#[serde(rename = "wallet_provider", skip_serializing_if = "Option::is_none")]
pub wallet_provider: Option<String>,
/// The URL for the uploaded screenshot (for `screenshot` proof types only). Example: `https://example.com/uploaded_image.png`
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
/// Whether the user confirmed ownership of the wallet (for
/// `self-declaration` proofs). Example: `true`
#[serde(rename = "confirmed", skip_serializing_if = "Option::is_none")]
pub confirmed: Option<bool>,
}
impl TravelRuleOwnershipProof {
pub fn new() -> TravelRuleOwnershipProof {
TravelRuleOwnershipProof {
r#type: None,
proof: None,
attestation: None,
address: None,
wallet_provider: None,
url: None,
confirmed: None,
}
}
}