|
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