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