fireblocks-sdk 2026.3.27

Rust implementation of the Fireblocks SDK
Documentation
// 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 TravelRuleValidateTransactionResponse {
    /// \"isValid\" will tell you if you have collected all the information needed for the travel rule data transfer. Once this field = \"true\", you can move on to the next step which is to transfer the front-end information to your back-end and perform Travel Rule Transaction create
    #[serde(rename = "isValid")]
    pub is_valid: bool,
    /// \"type\" will tell you if the virtual asset value converted to FIAT
    /// value of the withdrawal request is above (=TRAVELRULE) or below
    /// (=BELOW_THRESHOLD) the threshold in your jurisdiction. If it is to an
    /// unhosted wallet which does not require travel rule information to be
    /// sent and only collected, it will say NON_CUSTODIAL.
    #[serde(rename = "type")]
    pub r#type: String,
    /// \"beneficiaryAddressType\" will tell you if your blockchain analytics
    /// provider or internal address book has been able to identify the wallet
    /// address.
    #[serde(rename = "beneficiaryAddressType")]
    pub beneficiary_address_type: String,
    /// \"addressSource\" will tell you if the address was found in your
    /// internal address book or identified by the blockchain analytics
    /// provider.
    #[serde(rename = "addressSource")]
    pub address_source: String,
    /// The VASP DID of the beneficiary VASP
    #[serde(rename = "beneficiaryVASPdid")]
    pub beneficiary_vas_pdid: String,
    /// \"beneficiaryVASPname\" will tell you the name of the VASP that has been
    /// identified as the owner of the wallet address. This name is used in a
    /// subsequent call to get its DID.
    #[serde(rename = "beneficiaryVASPname")]
    pub beneficiary_vas_pname: String,
    /// \"errors/warnings\" will tell you what information about the beneficiary
    /// you need to collect from the sender.
    #[serde(rename = "warnings")]
    pub warnings: Vec<String>,
}

impl TravelRuleValidateTransactionResponse {
    pub fn new(
        is_valid: bool,
        r#type: String,
        beneficiary_address_type: String,
        address_source: String,
        beneficiary_vas_pdid: String,
        beneficiary_vas_pname: String,
        warnings: Vec<String>,
    ) -> TravelRuleValidateTransactionResponse {
        TravelRuleValidateTransactionResponse {
            is_valid,
            r#type,
            beneficiary_address_type,
            address_source,
            beneficiary_vas_pdid,
            beneficiary_vas_pname,
            warnings,
        }
    }
}