|
19 | 19 | *** along with Catapult. If not, see <http://www.gnu.org/licenses/>. |
20 | 20 | **/ |
21 | 21 |
|
22 | | -import { EntityTypeDto } from './EntityTypeDto'; |
23 | | -import { EmbeddedTransactionBuilder } from './EmbeddedTransactionBuilder'; |
24 | | -import { GeneratorUtils } from './GeneratorUtils'; |
25 | | -import { EmbeddedTransferTransactionBuilder } from './EmbeddedTransferTransactionBuilder'; |
| 22 | +import { EmbeddedAccountAddressRestrictionTransactionBuilder } from './EmbeddedAccountAddressRestrictionTransactionBuilder'; |
26 | 23 | import { EmbeddedAccountLinkTransactionBuilder } from './EmbeddedAccountLinkTransactionBuilder'; |
27 | | -import { EmbeddedHashLockTransactionBuilder } from './EmbeddedHashLockTransactionBuilder'; |
28 | | -import { EmbeddedSecretLockTransactionBuilder } from './EmbeddedSecretLockTransactionBuilder'; |
29 | | -import { EmbeddedSecretProofTransactionBuilder } from './EmbeddedSecretProofTransactionBuilder'; |
30 | 24 | import { EmbeddedAccountMetadataTransactionBuilder } from './EmbeddedAccountMetadataTransactionBuilder'; |
31 | | -import { EmbeddedMosaicMetadataTransactionBuilder } from './EmbeddedMosaicMetadataTransactionBuilder'; |
32 | | -import { EmbeddedNamespaceMetadataTransactionBuilder } from './EmbeddedNamespaceMetadataTransactionBuilder'; |
33 | | -import { EmbeddedMosaicDefinitionTransactionBuilder } from './EmbeddedMosaicDefinitionTransactionBuilder'; |
34 | | -import { EmbeddedMosaicSupplyChangeTransactionBuilder } from './EmbeddedMosaicSupplyChangeTransactionBuilder'; |
35 | | -import { EmbeddedMultisigAccountModificationTransactionBuilder } from './EmbeddedMultisigAccountModificationTransactionBuilder'; |
36 | | -import { EmbeddedAddressAliasTransactionBuilder } from './EmbeddedAddressAliasTransactionBuilder'; |
37 | | -import { EmbeddedMosaicAliasTransactionBuilder } from './EmbeddedMosaicAliasTransactionBuilder'; |
38 | | -import { EmbeddedNamespaceRegistrationTransactionBuilder } from './EmbeddedNamespaceRegistrationTransactionBuilder'; |
39 | | -import { EmbeddedAccountAddressRestrictionTransactionBuilder } from './EmbeddedAccountAddressRestrictionTransactionBuilder'; |
40 | 25 | import { EmbeddedAccountMosaicRestrictionTransactionBuilder } from './EmbeddedAccountMosaicRestrictionTransactionBuilder'; |
41 | 26 | import { EmbeddedAccountOperationRestrictionTransactionBuilder } from './EmbeddedAccountOperationRestrictionTransactionBuilder'; |
| 27 | +import { EmbeddedAddressAliasTransactionBuilder } from './EmbeddedAddressAliasTransactionBuilder'; |
| 28 | +import { EmbeddedHashLockTransactionBuilder } from './EmbeddedHashLockTransactionBuilder'; |
42 | 29 | import { EmbeddedMosaicAddressRestrictionTransactionBuilder } from './EmbeddedMosaicAddressRestrictionTransactionBuilder'; |
| 30 | +import { EmbeddedMosaicAliasTransactionBuilder } from './EmbeddedMosaicAliasTransactionBuilder'; |
| 31 | +import { EmbeddedMosaicDefinitionTransactionBuilder } from './EmbeddedMosaicDefinitionTransactionBuilder'; |
43 | 32 | import { EmbeddedMosaicGlobalRestrictionTransactionBuilder } from './EmbeddedMosaicGlobalRestrictionTransactionBuilder'; |
| 33 | +import { EmbeddedMosaicMetadataTransactionBuilder } from './EmbeddedMosaicMetadataTransactionBuilder'; |
| 34 | +import { EmbeddedMosaicSupplyChangeTransactionBuilder } from './EmbeddedMosaicSupplyChangeTransactionBuilder'; |
| 35 | +import { EmbeddedMultisigAccountModificationTransactionBuilder } from './EmbeddedMultisigAccountModificationTransactionBuilder'; |
| 36 | +import { EmbeddedNamespaceMetadataTransactionBuilder } from './EmbeddedNamespaceMetadataTransactionBuilder'; |
| 37 | +import { EmbeddedNamespaceRegistrationTransactionBuilder } from './EmbeddedNamespaceRegistrationTransactionBuilder'; |
| 38 | +import { EmbeddedSecretLockTransactionBuilder } from './EmbeddedSecretLockTransactionBuilder'; |
| 39 | +import { EmbeddedSecretProofTransactionBuilder } from './EmbeddedSecretProofTransactionBuilder'; |
| 40 | +import { EmbeddedTransactionBuilder } from './EmbeddedTransactionBuilder'; |
| 41 | +import { EmbeddedTransferTransactionBuilder } from './EmbeddedTransferTransactionBuilder'; |
| 42 | +import { EntityTypeDto } from './EntityTypeDto'; |
| 43 | +import { GeneratorUtils } from './GeneratorUtils'; |
44 | 44 |
|
45 | 45 | export class EmbeddedTransactionHelper { |
46 | 46 |
|
47 | 47 | public static serialize(transaction: EmbeddedTransactionBuilder): Uint8Array { |
48 | | - let byte: Uint8Array; |
49 | | - let padding: Uint8Array; |
50 | | - switch (transaction.type) { |
51 | | - case EntityTypeDto.TRANSFER_TRANSACTION_BUILDER: |
52 | | - byte = (transaction as EmbeddedTransferTransactionBuilder).serialize(); |
53 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
54 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
55 | | - case EntityTypeDto.ACCOUNT_LINK_TRANSACTION_BUILDER: |
56 | | - byte = (transaction as EmbeddedAccountLinkTransactionBuilder).serialize(); |
57 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
58 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
59 | | - case EntityTypeDto.HASH_LOCK_TRANSACTION_BUILDER: |
60 | | - byte = (transaction as EmbeddedHashLockTransactionBuilder).serialize(); |
61 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
62 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
63 | | - case EntityTypeDto.SECRET_LOCK_TRANSACTION_BUILDER: |
64 | | - byte = (transaction as EmbeddedSecretLockTransactionBuilder).serialize(); |
65 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
66 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
67 | | - case EntityTypeDto.SECRET_PROOF_TRANSACTION_BUILDER: |
68 | | - byte = (transaction as EmbeddedSecretProofTransactionBuilder).serialize(); |
69 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
70 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
71 | | - case EntityTypeDto.ACCOUNT_METADATA_TRANSACTION_BUILDER: |
72 | | - byte = (transaction as EmbeddedAccountMetadataTransactionBuilder).serialize(); |
73 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
74 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
75 | | - case EntityTypeDto.MOSAIC_METADATA_TRANSACTION_BUILDER: |
76 | | - byte = (transaction as EmbeddedMosaicMetadataTransactionBuilder).serialize(); |
77 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
78 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
79 | | - case EntityTypeDto.NAMESPACE_METADATA_TRANSACTION_BUILDER: |
80 | | - byte = (transaction as EmbeddedNamespaceMetadataTransactionBuilder).serialize(); |
81 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
82 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
83 | | - case EntityTypeDto.MOSAIC_DEFINITION_TRANSACTION_BUILDER: |
84 | | - byte = (transaction as EmbeddedMosaicDefinitionTransactionBuilder).serialize(); |
85 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
86 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
87 | | - case EntityTypeDto.MOSAIC_SUPPLY_CHANGE_TRANSACTION_BUILDER: |
88 | | - byte = (transaction as EmbeddedMosaicSupplyChangeTransactionBuilder).serialize(); |
89 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
90 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
91 | | - case EntityTypeDto.MULTISIG_ACCOUNT_MODIFICATION_TRANSACTION_BUILDER: |
92 | | - byte = (transaction as EmbeddedMultisigAccountModificationTransactionBuilder).serialize(); |
93 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
94 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
95 | | - case EntityTypeDto.ADDRESS_ALIAS_TRANSACTION_BUILDER: |
96 | | - byte = (transaction as EmbeddedAddressAliasTransactionBuilder).serialize(); |
97 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
98 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
99 | | - case EntityTypeDto.MOSAIC_ALIAS_TRANSACTION_BUILDER: |
100 | | - byte = (transaction as EmbeddedMosaicAliasTransactionBuilder).serialize(); |
101 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
102 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
103 | | - case EntityTypeDto.NAMESPACE_REGISTRATION_TRANSACTION_BUILDER: |
104 | | - byte = (transaction as EmbeddedNamespaceRegistrationTransactionBuilder).serialize(); |
105 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
106 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
107 | | - case EntityTypeDto.ACCOUNT_ADDRESS_RESTRICTION_TRANSACTION_BUILDER: |
108 | | - byte = (transaction as EmbeddedAccountAddressRestrictionTransactionBuilder).serialize(); |
109 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
110 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
111 | | - case EntityTypeDto.ACCOUNT_MOSAIC_RESTRICTION_TRANSACTION_BUILDER: |
112 | | - byte = (transaction as EmbeddedAccountMosaicRestrictionTransactionBuilder).serialize(); |
113 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
114 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
115 | | - case EntityTypeDto.ACCOUNT_OPERATION_RESTRICTION_TRANSACTION_BUILDER: |
116 | | - byte = (transaction as EmbeddedAccountOperationRestrictionTransactionBuilder).serialize(); |
117 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
118 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
119 | | - case EntityTypeDto.MOSAIC_ADDRESS_RESTRICTION_TRANSACTION_BUILDER: |
120 | | - byte = (transaction as EmbeddedMosaicAddressRestrictionTransactionBuilder).serialize(); |
121 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
122 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
123 | | - case EntityTypeDto.MOSAIC_GLOBAL_RESTRICTION_TRANSACTION_BUILDER: |
124 | | - byte = (transaction as EmbeddedMosaicGlobalRestrictionTransactionBuilder).serialize(); |
125 | | - padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
126 | | - return GeneratorUtils.concatTypedArrays(byte, padding); |
127 | | - default: |
128 | | - throw new Error(`Transaction type: ${transaction.type} not recognized.`); |
129 | | - } |
| 48 | + const byte = transaction.serialize(); |
| 49 | + const padding = new Uint8Array(GeneratorUtils.getTransactionPaddingSize(byte.length, 8)); |
| 50 | + return GeneratorUtils.concatTypedArrays(byte, padding); |
130 | 51 | } |
131 | 52 |
|
132 | | - public static loadFromBinary(bytes: Uint8Array):EmbeddedTransactionBuilder { |
| 53 | + public static loadFromBinary(bytes: Uint8Array): EmbeddedTransactionBuilder { |
133 | 54 | const header = EmbeddedTransactionBuilder.loadFromBinary(bytes); |
134 | 55 | switch (header.getType()) { |
135 | 56 | case EntityTypeDto.TRANSFER_TRANSACTION_BUILDER: |
|
0 commit comments