1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[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}