fireblocks_sdk/models/
transaction_sub_status.rs

1// Fireblocks API
2//
3// 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)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14/// TransactionSubStatus : See [Transaction substatuses](https://developers.fireblocks.com/reference/transaction-substatuses) for the list of transaction sub statuses
15/// See [Transaction substatuses](https://developers.fireblocks.com/reference/transaction-substatuses) for the list of transaction sub statuses
16#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
17pub enum TransactionSubStatus {
18    #[serde(rename = "3RD_PARTY_PROCESSING")]
19    Variant3RdPartyProcessing,
20    #[serde(rename = "3RD_PARTY_PENDING_SERVICE_MANUAL_APPROVAL")]
21    Variant3RdPartyPendingServiceManualApproval,
22    #[serde(rename = "PENDING_3RD_PARTY_MANUAL_APPROVAL")]
23    Pending3RdPartyManualApproval,
24    #[serde(rename = "3RD_PARTY_CONFIRMING")]
25    Variant3RdPartyConfirming,
26    #[serde(rename = "PENDING_BLOCKCHAIN_CONFIRMATIONS")]
27    PendingBlockchainConfirmations,
28    #[serde(rename = "3RD_PARTY_COMPLETED")]
29    Variant3RdPartyCompleted,
30    #[serde(rename = "COMPLETED_BUT_3RD_PARTY_FAILED")]
31    CompletedBut3RdPartyFailed,
32    #[serde(rename = "COMPLETED_BUT_3RD_PARTY_REJECTED")]
33    CompletedBut3RdPartyRejected,
34    #[serde(rename = "CONFIRMED")]
35    Confirmed,
36    #[serde(rename = "BLOCKED_BY_POLICY")]
37    BlockedByPolicy,
38    #[serde(rename = "3RD_PARTY_CANCELLED")]
39    Variant3RdPartyCancelled,
40    #[serde(rename = "3RD_PARTY_REJECTED")]
41    Variant3RdPartyRejected,
42    #[serde(rename = "CANCELLED_BY_USER")]
43    CancelledByUser,
44    #[serde(rename = "CANCELLED_BY_USER_REQUEST")]
45    CancelledByUserRequest,
46    #[serde(rename = "REJECTED_BY_USER")]
47    RejectedByUser,
48    #[serde(rename = "AUTO_FREEZE")]
49    AutoFreeze,
50    #[serde(rename = "FROZEN_MANUALLY")]
51    FrozenManually,
52    #[serde(rename = "REJECTED_AML_SCREENING")]
53    RejectedAmlScreening,
54    #[serde(rename = "ACTUAL_FEE_TOO_HIGH")]
55    ActualFeeTooHigh,
56    #[serde(rename = "ADDRESS_WHITELISTING_SUSPENDED")]
57    AddressWhitelistingSuspended,
58    #[serde(rename = "AMOUNT_TOO_SMALL")]
59    AmountTooSmall,
60    #[serde(rename = "AUTHORIZATION_FAILED")]
61    AuthorizationFailed,
62    #[serde(rename = "AUTHORIZER_NOT_FOUND")]
63    AuthorizerNotFound,
64    #[serde(rename = "ENV_UNSUPPORTED_ASSET")]
65    EnvUnsupportedAsset,
66    #[serde(rename = "ERROR_UNSUPPORTED_TRANSACTION_TYPE")]
67    ErrorUnsupportedTransactionType,
68    #[serde(rename = "FAIL_ON_LOW_FEE")]
69    FailOnLowFee,
70    #[serde(rename = "GAS_LIMIT_TOO_LOW")]
71    GasLimitTooLow,
72    #[serde(rename = "GAS_PRICE_TOO_LOW_FOR_RBF")]
73    GasPriceTooLowForRbf,
74    #[serde(rename = "INCOMPLETE_USER_SETUP")]
75    IncompleteUserSetup,
76    #[serde(rename = "INSUFFICIENT_FUNDS")]
77    InsufficientFunds,
78    #[serde(rename = "INSUFFICIENT_FUNDS_FOR_FEE")]
79    InsufficientFundsForFee,
80    #[serde(rename = "INTEGRATION_SUSPENDED")]
81    IntegrationSuspended,
82    #[serde(rename = "INVALID_ADDRESS")]
83    InvalidAddress,
84    #[serde(rename = "INVALID_CONTRACT_CALL_DATA")]
85    InvalidContractCallData,
86    #[serde(rename = "INVALID_FEE_PARAMS")]
87    InvalidFeeParams,
88    #[serde(rename = "INVALID_NONCE_FOR_RBF")]
89    InvalidNonceForRbf,
90    #[serde(rename = "INVALID_TAG_OR_MEMO")]
91    InvalidTagOrMemo,
92    #[serde(rename = "INVALID_UNMANAGED_WALLET")]
93    InvalidUnmanagedWallet,
94    #[serde(rename = "MAX_FEE_EXCEEDED")]
95    MaxFeeExceeded,
96    #[serde(rename = "MISSING_TAG_OR_MEMO")]
97    MissingTagOrMemo,
98    #[serde(rename = "NEED_MORE_TO_CREATE_DESTINATION")]
99    NeedMoreToCreateDestination,
100    #[serde(rename = "NO_MORE_PREPROCESSED_INDEXES")]
101    NoMorePreprocessedIndexes,
102    #[serde(rename = "NON_EXISTING_ACCOUNT_NAME")]
103    NonExistingAccountName,
104    #[serde(rename = "RAW_MSG_EMPTY_OR_INVALID")]
105    RawMsgEmptyOrInvalid,
106    #[serde(rename = "RAW_MSG_LEN_INVALID")]
107    RawMsgLenInvalid,
108    #[serde(rename = "TOO_MANY_INPUTS")]
109    TooManyInputs,
110    #[serde(rename = "TX_SIZE_EXCEEDED_MAX")]
111    TxSizeExceededMax,
112    #[serde(rename = "UNAUTHORISED_DEVICE")]
113    UnauthorisedDevice,
114    #[serde(rename = "UNAUTHORISED_USER")]
115    UnauthorisedUser,
116    #[serde(rename = "UNALLOWED_RAW_PARAM_COMBINATION")]
117    UnallowedRawParamCombination,
118    #[serde(rename = "UNSUPPORTED_OPERATION")]
119    UnsupportedOperation,
120    #[serde(rename = "UNSUPPORTED_TRANSACTION_TYPE")]
121    UnsupportedTransactionType,
122    #[serde(rename = "ZERO_BALANCE_IN_PERMANENT_ADDRESS")]
123    ZeroBalanceInPermanentAddress,
124    #[serde(rename = "OUT_OF_DATE_SIGNING_KEYS")]
125    OutOfDateSigningKeys,
126    #[serde(rename = "CONNECTIVITY_ERROR")]
127    ConnectivityError,
128    #[serde(rename = "ERROR_ASYNC_TX_IN_FLIGHT")]
129    ErrorAsyncTxInFlight,
130    #[serde(rename = "INTERNAL_ERROR")]
131    InternalError,
132    #[serde(rename = "INVALID_NONCE_TOO_HIGH")]
133    InvalidNonceTooHigh,
134    #[serde(rename = "INVALID_NONCE_TOO_LOW")]
135    InvalidNonceTooLow,
136    #[serde(rename = "INVALID_ROUTING_DESTINATION")]
137    InvalidRoutingDestination,
138    #[serde(rename = "LOCKING_NONCE_ACCOUNT_TIMEOUT")]
139    LockingNonceAccountTimeout,
140    #[serde(rename = "NETWORK_ROUTING_MISMATCH")]
141    NetworkRoutingMismatch,
142    #[serde(rename = "NONCE_ALLOCATION_FAILED")]
143    NonceAllocationFailed,
144    #[serde(rename = "RESOURCE_ALREADY_EXISTS")]
145    ResourceAlreadyExists,
146    #[serde(rename = "SIGNER_NOT_FOUND")]
147    SignerNotFound,
148    #[serde(rename = "SIGNING_ERROR")]
149    SigningError,
150    #[serde(rename = "TIMEOUT")]
151    Timeout,
152    #[serde(rename = "TX_OUTDATED")]
153    TxOutdated,
154    #[serde(rename = "UNKNOWN_ERROR")]
155    UnknownError,
156    #[serde(rename = "VAULT_WALLET_NOT_READY")]
157    VaultWalletNotReady,
158    #[serde(rename = "UNSUPPORTED_MEDIA_TYPE")]
159    UnsupportedMediaType,
160    #[serde(rename = "ADDRESS_NOT_WHITELISTED")]
161    AddressNotWhitelisted,
162    #[serde(rename = "API_KEY_MISMATCH")]
163    ApiKeyMismatch,
164    #[serde(rename = "ASSET_NOT_ENABLED_ON_DESTINATION")]
165    AssetNotEnabledOnDestination,
166    #[serde(rename = "DEST_TYPE_NOT_SUPPORTED")]
167    DestTypeNotSupported,
168    #[serde(rename = "EXCEEDED_DECIMAL_PRECISION")]
169    ExceededDecimalPrecision,
170    #[serde(rename = "EXCHANGE_CONFIGURATION_MISMATCH")]
171    ExchangeConfigurationMismatch,
172    #[serde(rename = "EXCHANGE_VERSION_INCOMPATIBLE")]
173    ExchangeVersionIncompatible,
174    #[serde(rename = "INVALID_EXCHANGE_ACCOUNT")]
175    InvalidExchangeAccount,
176    #[serde(rename = "METHOD_NOT_ALLOWED")]
177    MethodNotAllowed,
178    #[serde(rename = "NON_EXISTENT_AUTO_ACCOUNT")]
179    NonExistentAutoAccount,
180    #[serde(rename = "ON_PREMISE_CONNECTIVITY_ERROR")]
181    OnPremiseConnectivityError,
182    #[serde(rename = "PEER_ACCOUNT_DOES_NOT_EXIST")]
183    PeerAccountDoesNotExist,
184    #[serde(rename = "THIRD_PARTY_MISSING_ACCOUNT")]
185    ThirdPartyMissingAccount,
186    #[serde(rename = "UNAUTHORISED_IP_WHITELISTING")]
187    UnauthorisedIpWhitelisting,
188    #[serde(rename = "UNAUTHORISED_MISSING_CREDENTIALS")]
189    UnauthorisedMissingCredentials,
190    #[serde(rename = "UNAUTHORISED_MISSING_PERMISSION")]
191    UnauthorisedMissingPermission,
192    #[serde(rename = "UNAUTHORISED_OTP_FAILED")]
193    UnauthorisedOtpFailed,
194    #[serde(rename = "WITHDRAW_LIMIT")]
195    WithdrawLimit,
196    #[serde(rename = "3RD_PARTY_FAILED")]
197    Variant3RdPartyFailed,
198    #[serde(rename = "API_CALL_LIMIT")]
199    ApiCallLimit,
200    #[serde(rename = "API_INVALID_SIGNATURE")]
201    ApiInvalidSignature,
202    #[serde(rename = "CANCELLED_EXTERNALLY")]
203    CancelledExternally,
204    #[serde(rename = "FAILED_AML_SCREENING")]
205    FailedAmlScreening,
206    #[serde(rename = "INVALID_FEE")]
207    InvalidFee,
208    #[serde(rename = "INVALID_THIRD_PARTY_RESPONSE")]
209    InvalidThirdPartyResponse,
210    #[serde(rename = "MANUAL_DEPOSIT_ADDRESS_REQUIRED")]
211    ManualDepositAddressRequired,
212    #[serde(rename = "MISSING_DEPOSIT_ADDRESS")]
213    MissingDepositAddress,
214    #[serde(rename = "NO_DEPOSIT_ADDRESS")]
215    NoDepositAddress,
216    #[serde(rename = "SUB_ACCOUNTS_NOT_SUPPORTED")]
217    SubAccountsNotSupported,
218    #[serde(rename = "SPEND_COINBASE_TOO_EARLY")]
219    SpendCoinbaseTooEarly,
220    #[serde(rename = "THIRD_PARTY_INTERNAL_ERROR")]
221    ThirdPartyInternalError,
222    #[serde(rename = "TX_ID_NOT_ACCEPTED_BY_THIRD_PARTY")]
223    TxIdNotAcceptedByThirdParty,
224    #[serde(rename = "UNSUPPORTED_ASSET")]
225    UnsupportedAsset,
226    #[serde(rename = "DOUBLE_SPENDING")]
227    DoubleSpending,
228    #[serde(rename = "DROPPED_BY_BLOCKCHAIN")]
229    DroppedByBlockchain,
230    #[serde(rename = "INSUFFICIENT_RESERVED_FUNDING")]
231    InsufficientReservedFunding,
232    #[serde(rename = "INVALID_SIGNATURE")]
233    InvalidSignature,
234    #[serde(rename = "PARTIALLY_FAILED")]
235    PartiallyFailed,
236    #[serde(rename = "POWERUP_SUGGESTION_FAILURE")]
237    PowerupSuggestionFailure,
238    #[serde(rename = "REACHED_MEMPOOL_LIMIT_FOR_ACCOUNT")]
239    ReachedMempoolLimitForAccount,
240    #[serde(rename = "REJECTED_BY_BLOCKCHAIN")]
241    RejectedByBlockchain,
242    #[serde(rename = "SMART_CONTRACT_EXECUTION_FAILED")]
243    SmartContractExecutionFailed,
244    #[serde(rename = "TOO_LONG_MEMPOOL_CHAIN")]
245    TooLongMempoolChain,
246    #[serde(rename = "")]
247    Empty,
248}
249
250impl std::fmt::Display for TransactionSubStatus {
251    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
252        match self {
253            Self::Variant3RdPartyProcessing => write!(f, "3RD_PARTY_PROCESSING"),
254            Self::Variant3RdPartyPendingServiceManualApproval => {
255                write!(f, "3RD_PARTY_PENDING_SERVICE_MANUAL_APPROVAL")
256            }
257            Self::Pending3RdPartyManualApproval => write!(f, "PENDING_3RD_PARTY_MANUAL_APPROVAL"),
258            Self::Variant3RdPartyConfirming => write!(f, "3RD_PARTY_CONFIRMING"),
259            Self::PendingBlockchainConfirmations => write!(f, "PENDING_BLOCKCHAIN_CONFIRMATIONS"),
260            Self::Variant3RdPartyCompleted => write!(f, "3RD_PARTY_COMPLETED"),
261            Self::CompletedBut3RdPartyFailed => write!(f, "COMPLETED_BUT_3RD_PARTY_FAILED"),
262            Self::CompletedBut3RdPartyRejected => write!(f, "COMPLETED_BUT_3RD_PARTY_REJECTED"),
263            Self::Confirmed => write!(f, "CONFIRMED"),
264            Self::BlockedByPolicy => write!(f, "BLOCKED_BY_POLICY"),
265            Self::Variant3RdPartyCancelled => write!(f, "3RD_PARTY_CANCELLED"),
266            Self::Variant3RdPartyRejected => write!(f, "3RD_PARTY_REJECTED"),
267            Self::CancelledByUser => write!(f, "CANCELLED_BY_USER"),
268            Self::CancelledByUserRequest => write!(f, "CANCELLED_BY_USER_REQUEST"),
269            Self::RejectedByUser => write!(f, "REJECTED_BY_USER"),
270            Self::AutoFreeze => write!(f, "AUTO_FREEZE"),
271            Self::FrozenManually => write!(f, "FROZEN_MANUALLY"),
272            Self::RejectedAmlScreening => write!(f, "REJECTED_AML_SCREENING"),
273            Self::ActualFeeTooHigh => write!(f, "ACTUAL_FEE_TOO_HIGH"),
274            Self::AddressWhitelistingSuspended => write!(f, "ADDRESS_WHITELISTING_SUSPENDED"),
275            Self::AmountTooSmall => write!(f, "AMOUNT_TOO_SMALL"),
276            Self::AuthorizationFailed => write!(f, "AUTHORIZATION_FAILED"),
277            Self::AuthorizerNotFound => write!(f, "AUTHORIZER_NOT_FOUND"),
278            Self::EnvUnsupportedAsset => write!(f, "ENV_UNSUPPORTED_ASSET"),
279            Self::ErrorUnsupportedTransactionType => {
280                write!(f, "ERROR_UNSUPPORTED_TRANSACTION_TYPE")
281            }
282            Self::FailOnLowFee => write!(f, "FAIL_ON_LOW_FEE"),
283            Self::GasLimitTooLow => write!(f, "GAS_LIMIT_TOO_LOW"),
284            Self::GasPriceTooLowForRbf => write!(f, "GAS_PRICE_TOO_LOW_FOR_RBF"),
285            Self::IncompleteUserSetup => write!(f, "INCOMPLETE_USER_SETUP"),
286            Self::InsufficientFunds => write!(f, "INSUFFICIENT_FUNDS"),
287            Self::InsufficientFundsForFee => write!(f, "INSUFFICIENT_FUNDS_FOR_FEE"),
288            Self::IntegrationSuspended => write!(f, "INTEGRATION_SUSPENDED"),
289            Self::InvalidAddress => write!(f, "INVALID_ADDRESS"),
290            Self::InvalidContractCallData => write!(f, "INVALID_CONTRACT_CALL_DATA"),
291            Self::InvalidFeeParams => write!(f, "INVALID_FEE_PARAMS"),
292            Self::InvalidNonceForRbf => write!(f, "INVALID_NONCE_FOR_RBF"),
293            Self::InvalidTagOrMemo => write!(f, "INVALID_TAG_OR_MEMO"),
294            Self::InvalidUnmanagedWallet => write!(f, "INVALID_UNMANAGED_WALLET"),
295            Self::MaxFeeExceeded => write!(f, "MAX_FEE_EXCEEDED"),
296            Self::MissingTagOrMemo => write!(f, "MISSING_TAG_OR_MEMO"),
297            Self::NeedMoreToCreateDestination => write!(f, "NEED_MORE_TO_CREATE_DESTINATION"),
298            Self::NoMorePreprocessedIndexes => write!(f, "NO_MORE_PREPROCESSED_INDEXES"),
299            Self::NonExistingAccountName => write!(f, "NON_EXISTING_ACCOUNT_NAME"),
300            Self::RawMsgEmptyOrInvalid => write!(f, "RAW_MSG_EMPTY_OR_INVALID"),
301            Self::RawMsgLenInvalid => write!(f, "RAW_MSG_LEN_INVALID"),
302            Self::TooManyInputs => write!(f, "TOO_MANY_INPUTS"),
303            Self::TxSizeExceededMax => write!(f, "TX_SIZE_EXCEEDED_MAX"),
304            Self::UnauthorisedDevice => write!(f, "UNAUTHORISED_DEVICE"),
305            Self::UnauthorisedUser => write!(f, "UNAUTHORISED_USER"),
306            Self::UnallowedRawParamCombination => write!(f, "UNALLOWED_RAW_PARAM_COMBINATION"),
307            Self::UnsupportedOperation => write!(f, "UNSUPPORTED_OPERATION"),
308            Self::UnsupportedTransactionType => write!(f, "UNSUPPORTED_TRANSACTION_TYPE"),
309            Self::ZeroBalanceInPermanentAddress => write!(f, "ZERO_BALANCE_IN_PERMANENT_ADDRESS"),
310            Self::OutOfDateSigningKeys => write!(f, "OUT_OF_DATE_SIGNING_KEYS"),
311            Self::ConnectivityError => write!(f, "CONNECTIVITY_ERROR"),
312            Self::ErrorAsyncTxInFlight => write!(f, "ERROR_ASYNC_TX_IN_FLIGHT"),
313            Self::InternalError => write!(f, "INTERNAL_ERROR"),
314            Self::InvalidNonceTooHigh => write!(f, "INVALID_NONCE_TOO_HIGH"),
315            Self::InvalidNonceTooLow => write!(f, "INVALID_NONCE_TOO_LOW"),
316            Self::InvalidRoutingDestination => write!(f, "INVALID_ROUTING_DESTINATION"),
317            Self::LockingNonceAccountTimeout => write!(f, "LOCKING_NONCE_ACCOUNT_TIMEOUT"),
318            Self::NetworkRoutingMismatch => write!(f, "NETWORK_ROUTING_MISMATCH"),
319            Self::NonceAllocationFailed => write!(f, "NONCE_ALLOCATION_FAILED"),
320            Self::ResourceAlreadyExists => write!(f, "RESOURCE_ALREADY_EXISTS"),
321            Self::SignerNotFound => write!(f, "SIGNER_NOT_FOUND"),
322            Self::SigningError => write!(f, "SIGNING_ERROR"),
323            Self::Timeout => write!(f, "TIMEOUT"),
324            Self::TxOutdated => write!(f, "TX_OUTDATED"),
325            Self::UnknownError => write!(f, "UNKNOWN_ERROR"),
326            Self::VaultWalletNotReady => write!(f, "VAULT_WALLET_NOT_READY"),
327            Self::UnsupportedMediaType => write!(f, "UNSUPPORTED_MEDIA_TYPE"),
328            Self::AddressNotWhitelisted => write!(f, "ADDRESS_NOT_WHITELISTED"),
329            Self::ApiKeyMismatch => write!(f, "API_KEY_MISMATCH"),
330            Self::AssetNotEnabledOnDestination => write!(f, "ASSET_NOT_ENABLED_ON_DESTINATION"),
331            Self::DestTypeNotSupported => write!(f, "DEST_TYPE_NOT_SUPPORTED"),
332            Self::ExceededDecimalPrecision => write!(f, "EXCEEDED_DECIMAL_PRECISION"),
333            Self::ExchangeConfigurationMismatch => write!(f, "EXCHANGE_CONFIGURATION_MISMATCH"),
334            Self::ExchangeVersionIncompatible => write!(f, "EXCHANGE_VERSION_INCOMPATIBLE"),
335            Self::InvalidExchangeAccount => write!(f, "INVALID_EXCHANGE_ACCOUNT"),
336            Self::MethodNotAllowed => write!(f, "METHOD_NOT_ALLOWED"),
337            Self::NonExistentAutoAccount => write!(f, "NON_EXISTENT_AUTO_ACCOUNT"),
338            Self::OnPremiseConnectivityError => write!(f, "ON_PREMISE_CONNECTIVITY_ERROR"),
339            Self::PeerAccountDoesNotExist => write!(f, "PEER_ACCOUNT_DOES_NOT_EXIST"),
340            Self::ThirdPartyMissingAccount => write!(f, "THIRD_PARTY_MISSING_ACCOUNT"),
341            Self::UnauthorisedIpWhitelisting => write!(f, "UNAUTHORISED_IP_WHITELISTING"),
342            Self::UnauthorisedMissingCredentials => write!(f, "UNAUTHORISED_MISSING_CREDENTIALS"),
343            Self::UnauthorisedMissingPermission => write!(f, "UNAUTHORISED_MISSING_PERMISSION"),
344            Self::UnauthorisedOtpFailed => write!(f, "UNAUTHORISED_OTP_FAILED"),
345            Self::WithdrawLimit => write!(f, "WITHDRAW_LIMIT"),
346            Self::Variant3RdPartyFailed => write!(f, "3RD_PARTY_FAILED"),
347            Self::ApiCallLimit => write!(f, "API_CALL_LIMIT"),
348            Self::ApiInvalidSignature => write!(f, "API_INVALID_SIGNATURE"),
349            Self::CancelledExternally => write!(f, "CANCELLED_EXTERNALLY"),
350            Self::FailedAmlScreening => write!(f, "FAILED_AML_SCREENING"),
351            Self::InvalidFee => write!(f, "INVALID_FEE"),
352            Self::InvalidThirdPartyResponse => write!(f, "INVALID_THIRD_PARTY_RESPONSE"),
353            Self::ManualDepositAddressRequired => write!(f, "MANUAL_DEPOSIT_ADDRESS_REQUIRED"),
354            Self::MissingDepositAddress => write!(f, "MISSING_DEPOSIT_ADDRESS"),
355            Self::NoDepositAddress => write!(f, "NO_DEPOSIT_ADDRESS"),
356            Self::SubAccountsNotSupported => write!(f, "SUB_ACCOUNTS_NOT_SUPPORTED"),
357            Self::SpendCoinbaseTooEarly => write!(f, "SPEND_COINBASE_TOO_EARLY"),
358            Self::ThirdPartyInternalError => write!(f, "THIRD_PARTY_INTERNAL_ERROR"),
359            Self::TxIdNotAcceptedByThirdParty => write!(f, "TX_ID_NOT_ACCEPTED_BY_THIRD_PARTY"),
360            Self::UnsupportedAsset => write!(f, "UNSUPPORTED_ASSET"),
361            Self::DoubleSpending => write!(f, "DOUBLE_SPENDING"),
362            Self::DroppedByBlockchain => write!(f, "DROPPED_BY_BLOCKCHAIN"),
363            Self::InsufficientReservedFunding => write!(f, "INSUFFICIENT_RESERVED_FUNDING"),
364            Self::InvalidSignature => write!(f, "INVALID_SIGNATURE"),
365            Self::PartiallyFailed => write!(f, "PARTIALLY_FAILED"),
366            Self::PowerupSuggestionFailure => write!(f, "POWERUP_SUGGESTION_FAILURE"),
367            Self::ReachedMempoolLimitForAccount => write!(f, "REACHED_MEMPOOL_LIMIT_FOR_ACCOUNT"),
368            Self::RejectedByBlockchain => write!(f, "REJECTED_BY_BLOCKCHAIN"),
369            Self::SmartContractExecutionFailed => write!(f, "SMART_CONTRACT_EXECUTION_FAILED"),
370            Self::TooLongMempoolChain => write!(f, "TOO_LONG_MEMPOOL_CHAIN"),
371            Self::Empty => write!(f, ""),
372        }
373    }
374}
375
376impl Default for TransactionSubStatus {
377    fn default() -> TransactionSubStatus {
378        Self::Variant3RdPartyProcessing
379    }
380}