Skip to main content

dpp/errors/consensus/basic/
basic_error.rs

1use crate::errors::ProtocolError;
2use bincode::{Decode, Encode};
3use platform_serialization_derive::{PlatformDeserialize, PlatformSerialize};
4use thiserror::Error;
5
6use crate::consensus::basic::data_contract::data_contract_max_depth_exceed_error::DataContractMaxDepthExceedError;
7use crate::consensus::basic::data_contract::{
8    ContestedUniqueIndexOnMutableDocumentTypeError, ContestedUniqueIndexWithUniqueIndexError,
9    DataContractHaveNewUniqueIndexError, DataContractImmutablePropertiesUpdateError,
10    DataContractInvalidIndexDefinitionUpdateError, DataContractTokenConfigurationUpdateError,
11    DataContractUniqueIndicesChangedError, DecimalsOverLimitError, DuplicateIndexError,
12    DuplicateIndexNameError, GroupExceedsMaxMembersError, GroupHasTooFewMembersError,
13    GroupMemberHasPowerOfZeroError, GroupMemberHasPowerOverLimitError,
14    GroupNonUnilateralMemberPowerHasLessThanRequiredPowerError, GroupPositionDoesNotExistError,
15    GroupRequiredPowerIsInvalidError, GroupTotalPowerLessThanRequiredError,
16    IncompatibleDataContractSchemaError, IncompatibleDocumentTypeSchemaError,
17    IncompatibleRe2PatternError, InvalidCompoundIndexError, InvalidDataContractIdError,
18    InvalidDataContractVersionError, InvalidDocumentTypeNameError,
19    InvalidDocumentTypeRequiredSecurityLevelError, InvalidIndexPropertyTypeError,
20    InvalidIndexedPropertyConstraintError, InvalidKeywordCharacterError,
21    InvalidTokenBaseSupplyError, InvalidTokenDistributionFunctionDivideByZeroError,
22    InvalidTokenDistributionFunctionIncoherenceError,
23    InvalidTokenDistributionFunctionInvalidParameterError,
24    InvalidTokenDistributionFunctionInvalidParameterTupleError, InvalidTokenLanguageCodeError,
25    InvalidTokenNameCharacterError, InvalidTokenNameLengthError, MainGroupIsNotDefinedError,
26    NewTokensDestinationIdentityOptionRequiredError, NonContiguousContractGroupPositionsError,
27    NonContiguousContractTokenPositionsError, RedundantDocumentPaidForByTokenWithContractId,
28    SystemPropertyIndexAlreadyPresentError, UndefinedIndexPropertyError,
29    UniqueIndicesLimitReachedError, UnknownDocumentCreationRestrictionModeError,
30    UnknownGasFeesPaidByError, UnknownSecurityLevelError, UnknownStorageKeyRequirementsError,
31    UnknownTradeModeError, UnknownTransferableTypeError,
32};
33use crate::consensus::basic::data_contract::{
34    InvalidJsonSchemaRefError, TokenPaymentByBurningOnlyAllowedOnInternalTokenError,
35    UnknownDocumentActionTokenEffectError,
36};
37use crate::consensus::basic::decode::{
38    ProtocolVersionParsingError, SerializedObjectParsingError, VersionError,
39};
40use crate::consensus::basic::document::{
41    ContestedDocumentsTemporarilyNotAllowedError, DataContractNotPresentError,
42    DocumentCreationNotAllowedError, DocumentFieldMaxSizeExceededError,
43    DocumentTransitionsAreAbsentError, DuplicateDocumentTransitionsWithIdsError,
44    DuplicateDocumentTransitionsWithIndicesError, InconsistentCompoundIndexDataError,
45    InvalidDocumentTransitionActionError, InvalidDocumentTransitionIdError,
46    InvalidDocumentTypeError, MaxDocumentsTransitionsExceededError,
47    MissingDataContractIdBasicError, MissingDocumentTransitionActionError,
48    MissingDocumentTransitionTypeError, MissingDocumentTypeError,
49    MissingPositionsInDocumentTypePropertiesError, NonceOutOfBoundsError,
50};
51use crate::consensus::basic::identity::{
52    DataContractBoundsNotPresentError, DisablingKeyIdAlsoBeingAddedInSameTransitionError,
53    DuplicatedIdentityPublicKeyBasicError, DuplicatedIdentityPublicKeyIdBasicError,
54    IdentityAssetLockProofLockedTransactionMismatchError,
55    IdentityAssetLockStateTransitionReplayError, IdentityAssetLockTransactionIsNotFoundError,
56    IdentityAssetLockTransactionOutPointAlreadyConsumedError,
57    IdentityAssetLockTransactionOutPointNotEnoughBalanceError,
58    IdentityAssetLockTransactionOutputNotFoundError,
59    IdentityAssetLockTransactionTooManyInputsError, IdentityCreditTransferToSelfError,
60    InvalidAssetLockProofCoreChainHeightError, InvalidAssetLockProofTransactionHeightError,
61    InvalidAssetLockTransactionOutputReturnSizeError,
62    InvalidCreditWithdrawalTransitionCoreFeeError,
63    InvalidCreditWithdrawalTransitionOutputScriptError,
64    InvalidIdentityAssetLockProofChainLockValidationError,
65    InvalidIdentityAssetLockTransactionError, InvalidIdentityAssetLockTransactionOutputError,
66    InvalidIdentityCreditTransferAmountError, InvalidIdentityCreditWithdrawalTransitionAmountError,
67    InvalidIdentityKeySignatureError, InvalidIdentityPublicKeyDataError,
68    InvalidIdentityPublicKeySecurityLevelError, InvalidIdentityUpdateTransitionDisableKeysError,
69    InvalidIdentityUpdateTransitionEmptyError, InvalidInstantAssetLockProofError,
70    InvalidInstantAssetLockProofSignatureError, InvalidKeyPurposeForContractBoundsError,
71    MissingMasterPublicKeyError, NotImplementedCreditWithdrawalTransitionPoolingError,
72    TooManyMasterPublicKeyError, WithdrawalOutputScriptNotAllowedWhenSigningWithOwnerKeyError,
73};
74use crate::consensus::basic::invalid_identifier_error::InvalidIdentifierError;
75use crate::consensus::basic::state_transition::{
76    FeeStrategyDuplicateError, FeeStrategyEmptyError, FeeStrategyIndexOutOfBoundsError,
77    FeeStrategyTooManyStepsError, InputBelowMinimumError, InputOutputBalanceMismatchError,
78    InputWitnessCountMismatchError, InputsNotLessThanOutputsError, InsufficientFundingAmountError,
79    InvalidRemainderOutputCountError, InvalidStateTransitionTypeError,
80    MissingStateTransitionTypeError, OutputAddressAlsoInputError, OutputBelowMinimumError,
81    OutputsNotGreaterThanInputsError, ShieldedEmptyProofError,
82    ShieldedEncryptedNoteSizeMismatchError, ShieldedInvalidValueBalanceError,
83    ShieldedNoActionsError, ShieldedTooManyActionsError, ShieldedZeroAnchorError,
84    StateTransitionMaxSizeExceededError, StateTransitionNotActiveError, TransitionNoInputsError,
85    TransitionNoOutputsError, TransitionOverMaxInputsError, TransitionOverMaxOutputsError,
86    WithdrawalBalanceMismatchError, WithdrawalBelowMinAmountError,
87};
88use crate::consensus::basic::{
89    IncompatibleProtocolVersionError, UnsupportedFeatureError, UnsupportedProtocolVersionError,
90};
91use crate::consensus::ConsensusError;
92
93use super::data_contract::{
94    DuplicateKeywordsError, InvalidDescriptionLengthError, InvalidKeywordLengthError,
95    TooManyKeywordsError,
96};
97use crate::consensus::basic::group::GroupActionNotAllowedOnTransitionError;
98use crate::consensus::basic::overflow_error::OverflowError;
99use crate::consensus::basic::token::{
100    ChoosingTokenMintRecipientNotAllowedError, ContractHasNoTokensError,
101    DestinationIdentityForTokenMintingNotSetError, InvalidActionIdError, InvalidTokenAmountError,
102    InvalidTokenConfigUpdateNoChangeError, InvalidTokenDistributionBlockIntervalTooShortError,
103    InvalidTokenDistributionTimeIntervalNotMinuteAlignedError,
104    InvalidTokenDistributionTimeIntervalTooShortError, InvalidTokenIdError,
105    InvalidTokenNoteTooBigError, InvalidTokenPositionError, MissingDefaultLocalizationError,
106    TokenNoteOnlyAllowedWhenProposerError, TokenTransferToOurselfError,
107};
108use crate::consensus::basic::unsupported_version_error::UnsupportedVersionError;
109use crate::consensus::basic::value_error::ValueError;
110use crate::consensus::basic::{
111    json_schema_compilation_error::JsonSchemaCompilationError, json_schema_error::JsonSchemaError,
112};
113use crate::consensus::state::identity::master_public_key_update_error::MasterPublicKeyUpdateError;
114use crate::data_contract::errors::DataContractError;
115
116#[allow(clippy::large_enum_variant)]
117#[derive(
118    Error, Debug, PlatformSerialize, PlatformDeserialize, Encode, Decode, PartialEq, Clone,
119)]
120pub enum BasicError {
121    /*
122
123    DO NOT CHANGE ORDER OF VARIANTS WITHOUT INTRODUCING OF NEW VERSION
124
125    */
126    // Decoding
127    #[error(transparent)]
128    ProtocolVersionParsingError(ProtocolVersionParsingError),
129
130    #[error(transparent)]
131    VersionError(VersionError),
132
133    #[error(transparent)]
134    ContractError(DataContractError),
135
136    #[error(transparent)]
137    UnknownSecurityLevelError(UnknownSecurityLevelError),
138
139    #[error(transparent)]
140    UnknownStorageKeyRequirementsError(UnknownStorageKeyRequirementsError),
141
142    #[error(transparent)]
143    UnknownTransferableTypeError(UnknownTransferableTypeError),
144
145    #[error(transparent)]
146    UnknownTradeModeError(UnknownTradeModeError),
147
148    #[error(transparent)]
149    UnknownDocumentCreationRestrictionModeError(UnknownDocumentCreationRestrictionModeError),
150
151    #[error(transparent)]
152    SerializedObjectParsingError(SerializedObjectParsingError),
153
154    #[error(transparent)]
155    UnsupportedProtocolVersionError(UnsupportedProtocolVersionError),
156
157    #[error(transparent)]
158    UnsupportedVersionError(UnsupportedVersionError),
159
160    #[error(transparent)]
161    IncompatibleProtocolVersionError(IncompatibleProtocolVersionError),
162
163    // Structure error
164    #[error(transparent)]
165    JsonSchemaCompilationError(JsonSchemaCompilationError),
166
167    #[error(transparent)]
168    JsonSchemaError(JsonSchemaError),
169
170    #[error(transparent)]
171    InvalidIdentifierError(InvalidIdentifierError),
172
173    #[error(transparent)]
174    ValueError(ValueError),
175
176    // DataContract
177    #[error(transparent)]
178    DataContractMaxDepthExceedError(DataContractMaxDepthExceedError),
179
180    #[error(transparent)]
181    DuplicateIndexError(DuplicateIndexError),
182
183    #[error(transparent)]
184    IncompatibleRe2PatternError(IncompatibleRe2PatternError),
185
186    #[error(transparent)]
187    InvalidCompoundIndexError(InvalidCompoundIndexError),
188
189    #[error(transparent)]
190    InvalidDataContractIdError(InvalidDataContractIdError),
191
192    #[error(transparent)]
193    InvalidIndexedPropertyConstraintError(InvalidIndexedPropertyConstraintError),
194
195    #[error(transparent)]
196    InvalidIndexPropertyTypeError(InvalidIndexPropertyTypeError),
197
198    #[error(transparent)]
199    InvalidJsonSchemaRefError(InvalidJsonSchemaRefError),
200
201    #[error(transparent)]
202    SystemPropertyIndexAlreadyPresentError(SystemPropertyIndexAlreadyPresentError),
203
204    #[error(transparent)]
205    UndefinedIndexPropertyError(UndefinedIndexPropertyError),
206
207    #[error(transparent)]
208    UniqueIndicesLimitReachedError(UniqueIndicesLimitReachedError),
209
210    #[error(transparent)]
211    DuplicateIndexNameError(DuplicateIndexNameError),
212
213    #[error(transparent)]
214    InvalidDataContractVersionError(InvalidDataContractVersionError),
215
216    #[error(transparent)]
217    IncompatibleDataContractSchemaError(IncompatibleDataContractSchemaError),
218
219    #[error(transparent)]
220    DataContractImmutablePropertiesUpdateError(DataContractImmutablePropertiesUpdateError),
221
222    #[error(transparent)]
223    DataContractUniqueIndicesChangedError(DataContractUniqueIndicesChangedError),
224
225    #[error(transparent)]
226    DataContractInvalidIndexDefinitionUpdateError(DataContractInvalidIndexDefinitionUpdateError),
227
228    #[error(transparent)]
229    DataContractHaveNewUniqueIndexError(DataContractHaveNewUniqueIndexError),
230
231    // Document
232    #[error(transparent)]
233    DataContractNotPresentError(DataContractNotPresentError),
234
235    #[error(transparent)]
236    DocumentCreationNotAllowedError(DocumentCreationNotAllowedError),
237
238    #[error(transparent)]
239    DataContractBoundsNotPresentError(DataContractBoundsNotPresentError),
240
241    #[error(transparent)]
242    DuplicateDocumentTransitionsWithIdsError(DuplicateDocumentTransitionsWithIdsError),
243
244    #[error(transparent)]
245    DuplicateDocumentTransitionsWithIndicesError(DuplicateDocumentTransitionsWithIndicesError),
246
247    #[error(transparent)]
248    NonceOutOfBoundsError(NonceOutOfBoundsError),
249
250    #[error(transparent)]
251    InconsistentCompoundIndexDataError(InconsistentCompoundIndexDataError),
252
253    #[error(transparent)]
254    InvalidDocumentTransitionActionError(InvalidDocumentTransitionActionError),
255
256    #[error(transparent)]
257    InvalidDocumentTransitionIdError(InvalidDocumentTransitionIdError),
258
259    #[error(transparent)]
260    InvalidDocumentTypeError(InvalidDocumentTypeError),
261
262    #[error(transparent)]
263    MissingPositionsInDocumentTypePropertiesError(MissingPositionsInDocumentTypePropertiesError),
264
265    #[error(transparent)]
266    MissingDataContractIdBasicError(MissingDataContractIdBasicError),
267
268    #[error(transparent)]
269    MissingDocumentTransitionActionError(MissingDocumentTransitionActionError),
270
271    #[error(transparent)]
272    MissingDocumentTransitionTypeError(MissingDocumentTransitionTypeError),
273
274    #[error(transparent)]
275    MissingDocumentTypeError(MissingDocumentTypeError),
276
277    #[error(transparent)]
278    MaxDocumentsTransitionsExceededError(MaxDocumentsTransitionsExceededError),
279
280    // Identity
281    #[error(transparent)]
282    DuplicatedIdentityPublicKeyBasicError(DuplicatedIdentityPublicKeyBasicError),
283
284    #[error(transparent)]
285    DuplicatedIdentityPublicKeyIdBasicError(DuplicatedIdentityPublicKeyIdBasicError),
286
287    #[error(transparent)]
288    DisablingKeyIdAlsoBeingAddedInSameTransitionError(
289        DisablingKeyIdAlsoBeingAddedInSameTransitionError,
290    ),
291
292    #[error(transparent)]
293    IdentityAssetLockProofLockedTransactionMismatchError(
294        IdentityAssetLockProofLockedTransactionMismatchError,
295    ),
296
297    #[error(transparent)]
298    IdentityAssetLockTransactionIsNotFoundError(IdentityAssetLockTransactionIsNotFoundError),
299
300    #[error(transparent)]
301    IdentityAssetLockTransactionOutPointAlreadyConsumedError(
302        IdentityAssetLockTransactionOutPointAlreadyConsumedError,
303    ),
304
305    #[error(transparent)]
306    IdentityAssetLockTransactionOutPointNotEnoughBalanceError(
307        IdentityAssetLockTransactionOutPointNotEnoughBalanceError,
308    ),
309
310    #[error(transparent)]
311    IdentityAssetLockStateTransitionReplayError(IdentityAssetLockStateTransitionReplayError),
312
313    #[error(transparent)]
314    IdentityAssetLockTransactionOutputNotFoundError(
315        IdentityAssetLockTransactionOutputNotFoundError,
316    ),
317
318    #[error(transparent)]
319    InvalidAssetLockProofCoreChainHeightError(InvalidAssetLockProofCoreChainHeightError),
320
321    #[error(transparent)]
322    InvalidIdentityAssetLockProofChainLockValidationError(
323        InvalidIdentityAssetLockProofChainLockValidationError,
324    ),
325
326    #[error(transparent)]
327    InvalidAssetLockProofTransactionHeightError(InvalidAssetLockProofTransactionHeightError),
328
329    #[error(transparent)]
330    InvalidAssetLockTransactionOutputReturnSizeError(
331        InvalidAssetLockTransactionOutputReturnSizeError,
332    ),
333
334    #[error(transparent)]
335    InvalidIdentityAssetLockTransactionError(InvalidIdentityAssetLockTransactionError),
336
337    #[error(transparent)]
338    InvalidIdentityAssetLockTransactionOutputError(InvalidIdentityAssetLockTransactionOutputError),
339
340    #[error(transparent)]
341    InvalidIdentityPublicKeyDataError(InvalidIdentityPublicKeyDataError),
342
343    #[error(transparent)]
344    InvalidInstantAssetLockProofError(InvalidInstantAssetLockProofError),
345
346    #[error(transparent)]
347    InvalidInstantAssetLockProofSignatureError(InvalidInstantAssetLockProofSignatureError),
348
349    #[error(transparent)]
350    MissingMasterPublicKeyError(MissingMasterPublicKeyError),
351
352    #[error(transparent)]
353    TooManyMasterPublicKeyError(TooManyMasterPublicKeyError),
354
355    #[error(transparent)]
356    MasterPublicKeyUpdateError(MasterPublicKeyUpdateError),
357
358    #[error(transparent)]
359    InvalidDocumentTypeRequiredSecurityLevelError(InvalidDocumentTypeRequiredSecurityLevelError),
360
361    #[error(transparent)]
362    InvalidIdentityPublicKeySecurityLevelError(InvalidIdentityPublicKeySecurityLevelError),
363
364    #[error(transparent)]
365    InvalidIdentityKeySignatureError(InvalidIdentityKeySignatureError),
366
367    #[error(transparent)]
368    InvalidIdentityCreditTransferAmountError(InvalidIdentityCreditTransferAmountError),
369
370    #[error(transparent)]
371    InvalidCreditWithdrawalTransitionOutputScriptError(
372        InvalidCreditWithdrawalTransitionOutputScriptError,
373    ),
374
375    #[error(transparent)]
376    WithdrawalOutputScriptNotAllowedWhenSigningWithOwnerKeyError(
377        WithdrawalOutputScriptNotAllowedWhenSigningWithOwnerKeyError,
378    ),
379
380    #[error(transparent)]
381    InvalidCreditWithdrawalTransitionCoreFeeError(InvalidCreditWithdrawalTransitionCoreFeeError),
382
383    #[error(transparent)]
384    InvalidIdentityCreditWithdrawalTransitionAmountError(
385        InvalidIdentityCreditWithdrawalTransitionAmountError,
386    ),
387
388    #[error(transparent)]
389    InvalidIdentityUpdateTransitionEmptyError(InvalidIdentityUpdateTransitionEmptyError),
390
391    #[error(transparent)]
392    InvalidIdentityUpdateTransitionDisableKeysError(
393        InvalidIdentityUpdateTransitionDisableKeysError,
394    ),
395
396    #[error(transparent)]
397    NotImplementedCreditWithdrawalTransitionPoolingError(
398        NotImplementedCreditWithdrawalTransitionPoolingError,
399    ),
400
401    // State Transition
402    #[error(transparent)]
403    InvalidStateTransitionTypeError(InvalidStateTransitionTypeError),
404
405    #[error(transparent)]
406    MissingStateTransitionTypeError(MissingStateTransitionTypeError),
407
408    #[error(transparent)]
409    DocumentFieldMaxSizeExceededError(DocumentFieldMaxSizeExceededError),
410
411    #[error(transparent)]
412    StateTransitionMaxSizeExceededError(StateTransitionMaxSizeExceededError),
413
414    #[error(transparent)]
415    DocumentTransitionsAreAbsentError(DocumentTransitionsAreAbsentError),
416
417    #[error(transparent)]
418    IdentityCreditTransferToSelfError(IdentityCreditTransferToSelfError),
419
420    #[error(transparent)]
421    InvalidDocumentTypeNameError(InvalidDocumentTypeNameError),
422
423    #[error(transparent)]
424    IncompatibleDocumentTypeSchemaError(IncompatibleDocumentTypeSchemaError),
425
426    #[error(transparent)]
427    ContestedUniqueIndexOnMutableDocumentTypeError(ContestedUniqueIndexOnMutableDocumentTypeError),
428
429    #[error(transparent)]
430    ContestedUniqueIndexWithUniqueIndexError(ContestedUniqueIndexWithUniqueIndexError),
431
432    #[error(transparent)]
433    OverflowError(OverflowError),
434
435    #[error(transparent)]
436    UnsupportedFeatureError(UnsupportedFeatureError),
437
438    #[error(transparent)]
439    ContestedDocumentsTemporarilyNotAllowedError(ContestedDocumentsTemporarilyNotAllowedError),
440
441    #[error(transparent)]
442    DataContractTokenConfigurationUpdateError(DataContractTokenConfigurationUpdateError),
443
444    #[error(transparent)]
445    NonContiguousContractTokenPositionsError(NonContiguousContractTokenPositionsError),
446
447    #[error(transparent)]
448    NonContiguousContractGroupPositionsError(NonContiguousContractGroupPositionsError),
449
450    #[error(transparent)]
451    InvalidTokenBaseSupplyError(InvalidTokenBaseSupplyError),
452
453    #[error(transparent)]
454    InvalidTokenIdError(InvalidTokenIdError),
455
456    #[error(transparent)]
457    InvalidTokenAmountError(InvalidTokenAmountError),
458
459    #[error(transparent)]
460    InvalidTokenPositionError(InvalidTokenPositionError),
461
462    #[error(transparent)]
463    InvalidTokenConfigUpdateNoChangeError(InvalidTokenConfigUpdateNoChangeError),
464
465    #[error(transparent)]
466    InvalidTokenDistributionFunctionDivideByZeroError(
467        InvalidTokenDistributionFunctionDivideByZeroError,
468    ),
469
470    #[error(transparent)]
471    InvalidTokenDistributionFunctionInvalidParameterError(
472        InvalidTokenDistributionFunctionInvalidParameterError,
473    ),
474
475    #[error(transparent)]
476    InvalidTokenDistributionFunctionInvalidParameterTupleError(
477        InvalidTokenDistributionFunctionInvalidParameterTupleError,
478    ),
479
480    #[error(transparent)]
481    InvalidTokenDistributionFunctionIncoherenceError(
482        InvalidTokenDistributionFunctionIncoherenceError,
483    ),
484
485    #[error(transparent)]
486    TokenTransferToOurselfError(TokenTransferToOurselfError),
487
488    #[error(transparent)]
489    InvalidTokenNoteTooBigError(InvalidTokenNoteTooBigError),
490
491    #[error(transparent)]
492    ContractHasNoTokensError(ContractHasNoTokensError),
493
494    #[error(transparent)]
495    GroupPositionDoesNotExistError(GroupPositionDoesNotExistError),
496
497    #[error(transparent)]
498    InvalidActionIdError(InvalidActionIdError),
499
500    #[error(transparent)]
501    DestinationIdentityForTokenMintingNotSetError(DestinationIdentityForTokenMintingNotSetError),
502
503    #[error(transparent)]
504    ChoosingTokenMintRecipientNotAllowedError(ChoosingTokenMintRecipientNotAllowedError),
505
506    #[error(transparent)]
507    GroupActionNotAllowedOnTransitionError(GroupActionNotAllowedOnTransitionError),
508
509    #[error(transparent)]
510    GroupExceedsMaxMembersError(GroupExceedsMaxMembersError),
511
512    #[error(transparent)]
513    GroupMemberHasPowerOfZeroError(GroupMemberHasPowerOfZeroError),
514
515    #[error(transparent)]
516    GroupMemberHasPowerOverLimitError(GroupMemberHasPowerOverLimitError),
517
518    #[error(transparent)]
519    GroupTotalPowerLessThanRequiredError(GroupTotalPowerLessThanRequiredError),
520
521    #[error(transparent)]
522    GroupNonUnilateralMemberPowerHasLessThanRequiredPowerError(
523        GroupNonUnilateralMemberPowerHasLessThanRequiredPowerError,
524    ),
525
526    #[error(transparent)]
527    MissingDefaultLocalizationError(MissingDefaultLocalizationError),
528
529    #[error(transparent)]
530    UnknownGasFeesPaidByError(UnknownGasFeesPaidByError),
531
532    #[error(transparent)]
533    UnknownDocumentActionTokenEffectError(UnknownDocumentActionTokenEffectError),
534
535    #[error(transparent)]
536    TokenPaymentByBurningOnlyAllowedOnInternalTokenError(
537        TokenPaymentByBurningOnlyAllowedOnInternalTokenError,
538    ),
539
540    #[error(transparent)]
541    TooManyKeywordsError(TooManyKeywordsError),
542
543    #[error(transparent)]
544    DuplicateKeywordsError(DuplicateKeywordsError),
545
546    #[error(transparent)]
547    InvalidKeywordLengthError(InvalidKeywordLengthError),
548
549    #[error(transparent)]
550    InvalidDescriptionLengthError(InvalidDescriptionLengthError),
551
552    #[error(transparent)]
553    NewTokensDestinationIdentityOptionRequiredError(
554        NewTokensDestinationIdentityOptionRequiredError,
555    ),
556
557    #[error(transparent)]
558    InvalidKeywordCharacterError(InvalidKeywordCharacterError),
559
560    #[error(transparent)]
561    InvalidTokenNameCharacterError(InvalidTokenNameCharacterError),
562
563    #[error(transparent)]
564    DecimalsOverLimitError(DecimalsOverLimitError),
565
566    #[error(transparent)]
567    InvalidTokenNameLengthError(InvalidTokenNameLengthError),
568
569    #[error(transparent)]
570    InvalidTokenLanguageCodeError(InvalidTokenLanguageCodeError),
571
572    #[error(transparent)]
573    MainGroupIsNotDefinedError(MainGroupIsNotDefinedError),
574
575    #[error(transparent)]
576    GroupRequiredPowerIsInvalidError(GroupRequiredPowerIsInvalidError),
577
578    #[error(transparent)]
579    TokenNoteOnlyAllowedWhenProposerError(TokenNoteOnlyAllowedWhenProposerError),
580
581    #[error(transparent)]
582    InvalidTokenDistributionBlockIntervalTooShortError(
583        InvalidTokenDistributionBlockIntervalTooShortError,
584    ),
585
586    #[error(transparent)]
587    InvalidTokenDistributionTimeIntervalTooShortError(
588        InvalidTokenDistributionTimeIntervalTooShortError,
589    ),
590
591    #[error(transparent)]
592    InvalidTokenDistributionTimeIntervalNotMinuteAlignedError(
593        InvalidTokenDistributionTimeIntervalNotMinuteAlignedError,
594    ),
595    #[error(transparent)]
596    RedundantDocumentPaidForByTokenWithContractId(RedundantDocumentPaidForByTokenWithContractId),
597
598    #[error(transparent)]
599    GroupHasTooFewMembersError(GroupHasTooFewMembersError),
600
601    #[error(transparent)]
602    InvalidKeyPurposeForContractBoundsError(InvalidKeyPurposeForContractBoundsError),
603
604    #[error(transparent)]
605    StateTransitionNotActiveError(StateTransitionNotActiveError),
606
607    #[error(transparent)]
608    TransitionOverMaxInputsError(TransitionOverMaxInputsError),
609
610    #[error(transparent)]
611    TransitionOverMaxOutputsError(TransitionOverMaxOutputsError),
612
613    #[error(transparent)]
614    InputWitnessCountMismatchError(InputWitnessCountMismatchError),
615
616    #[error(transparent)]
617    TransitionNoInputsError(TransitionNoInputsError),
618
619    #[error(transparent)]
620    TransitionNoOutputsError(TransitionNoOutputsError),
621
622    #[error(transparent)]
623    InvalidRemainderOutputCountError(InvalidRemainderOutputCountError),
624
625    #[error(transparent)]
626    FeeStrategyEmptyError(FeeStrategyEmptyError),
627
628    #[error(transparent)]
629    FeeStrategyDuplicateError(FeeStrategyDuplicateError),
630
631    #[error(transparent)]
632    FeeStrategyIndexOutOfBoundsError(FeeStrategyIndexOutOfBoundsError),
633
634    #[error(transparent)]
635    FeeStrategyTooManyStepsError(FeeStrategyTooManyStepsError),
636
637    #[error(transparent)]
638    InputBelowMinimumError(InputBelowMinimumError),
639
640    #[error(transparent)]
641    OutputBelowMinimumError(OutputBelowMinimumError),
642
643    #[error(transparent)]
644    InputOutputBalanceMismatchError(InputOutputBalanceMismatchError),
645
646    #[error(transparent)]
647    OutputsNotGreaterThanInputsError(OutputsNotGreaterThanInputsError),
648
649    #[error(transparent)]
650    WithdrawalBalanceMismatchError(WithdrawalBalanceMismatchError),
651
652    #[error(transparent)]
653    WithdrawalBelowMinAmountError(WithdrawalBelowMinAmountError),
654
655    #[error(transparent)]
656    InsufficientFundingAmountError(InsufficientFundingAmountError),
657
658    #[error(transparent)]
659    InputsNotLessThanOutputsError(InputsNotLessThanOutputsError),
660
661    #[error(transparent)]
662    OutputAddressAlsoInputError(OutputAddressAlsoInputError),
663
664    #[error(transparent)]
665    ShieldedNoActionsError(ShieldedNoActionsError),
666
667    #[error(transparent)]
668    ShieldedTooManyActionsError(ShieldedTooManyActionsError),
669
670    #[error(transparent)]
671    ShieldedEmptyProofError(ShieldedEmptyProofError),
672
673    #[error(transparent)]
674    ShieldedZeroAnchorError(ShieldedZeroAnchorError),
675
676    #[error(transparent)]
677    ShieldedInvalidValueBalanceError(ShieldedInvalidValueBalanceError),
678
679    #[error(transparent)]
680    ShieldedEncryptedNoteSizeMismatchError(ShieldedEncryptedNoteSizeMismatchError),
681
682    #[error(transparent)]
683    IdentityAssetLockTransactionTooManyInputsError(IdentityAssetLockTransactionTooManyInputsError),
684}
685
686impl From<BasicError> for ConsensusError {
687    fn from(error: BasicError) -> Self {
688        Self::BasicError(error)
689    }
690}