@@ -30,7 +30,9 @@ import {AggregateTransaction} from '../../model/transaction/AggregateTransaction
3030import { AggregateTransactionCosignature } from '../../model/transaction/AggregateTransactionCosignature' ;
3131import { AggregateTransactionInfo } from '../../model/transaction/AggregateTransactionInfo' ;
3232import { Deadline } from '../../model/transaction/Deadline' ;
33+ import { EncryptedMessage } from '../../model/transaction/EncryptedMessage' ;
3334import { LockFundsTransaction } from '../../model/transaction/LockFundsTransaction' ;
35+ import { MessageType } from '../../model/transaction/MessageType' ;
3436import { ModifyAccountPropertyAddressTransaction } from '../../model/transaction/ModifyAccountPropertyAddressTransaction' ;
3537import { ModifyAccountPropertyEntityTypeTransaction } from '../../model/transaction/ModifyAccountPropertyEntityTypeTransaction' ;
3638import { ModifyAccountPropertyMosaicTransaction } from '../../model/transaction/ModifyAccountPropertyMosaicTransaction' ;
@@ -117,15 +119,16 @@ export const CreateTransactionFromDTO = (transactionDTO): Transaction => {
117119 * @constructor
118120 */
119121const CreateStandaloneTransactionFromDTO = ( transactionDTO , transactionInfo ) : Transaction => {
122+
120123 if ( transactionDTO . type === TransactionType . TRANSFER ) {
121124 return new TransferTransaction (
122125 extractNetworkType ( transactionDTO . version ) ,
123126 extractTransactionVersion ( transactionDTO . version ) ,
124127 Deadline . createFromDTO ( transactionDTO . deadline ) ,
125- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
128+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
126129 extractRecipient ( transactionDTO . recipient ) ,
127130 extractMosaics ( transactionDTO . mosaics ) ,
128- extractMessage ( transactionDTO . message . payload ) ,
131+ extractMessage ( transactionDTO . message !== undefined ? transactionDTO . message : undefined ) ,
129132 transactionDTO . signature ,
130133 transactionDTO . signer ? PublicAccount . createFromPublicKey ( transactionDTO . signer ,
131134 extractNetworkType ( transactionDTO . version ) ) : undefined ,
@@ -136,7 +139,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
136139 extractNetworkType ( transactionDTO . version ) ,
137140 extractTransactionVersion ( transactionDTO . version ) ,
138141 Deadline . createFromDTO ( transactionDTO . deadline ) ,
139- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
142+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
140143 transactionDTO . namespaceType ,
141144 transactionDTO . name ,
142145 new NamespaceId ( transactionDTO . namespaceId ) ,
@@ -152,13 +155,14 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
152155 extractNetworkType ( transactionDTO . version ) ,
153156 extractTransactionVersion ( transactionDTO . version ) ,
154157 Deadline . createFromDTO ( transactionDTO . deadline ) ,
155- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
158+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
156159 transactionDTO . nonce ,
157160 new MosaicId ( transactionDTO . mosaicId ) ,
158161 new MosaicProperties (
159162 new UInt64 ( transactionDTO . properties [ 0 ] . value ) ,
160163 ( new UInt64 ( transactionDTO . properties [ 1 ] . value ) ) . compact ( ) ,
161- new UInt64 ( transactionDTO . properties . length === 3 ? transactionDTO . properties [ 2 ] . value : undefined ) ,
164+ transactionDTO . properties . length === 3 && transactionDTO . properties [ 2 ] . value ?
165+ new UInt64 ( transactionDTO . properties [ 2 ] . value ) : undefined ,
162166 ) ,
163167 transactionDTO . signature ,
164168 transactionDTO . signer ? PublicAccount . createFromPublicKey ( transactionDTO . signer ,
@@ -170,7 +174,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
170174 extractNetworkType ( transactionDTO . version ) ,
171175 extractTransactionVersion ( transactionDTO . version ) ,
172176 Deadline . createFromDTO ( transactionDTO . deadline ) ,
173- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
177+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
174178 new MosaicId ( transactionDTO . mosaicId ) ,
175179 transactionDTO . direction ,
176180 new UInt64 ( transactionDTO . delta ) ,
@@ -184,7 +188,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
184188 extractNetworkType ( transactionDTO . version ) ,
185189 extractTransactionVersion ( transactionDTO . version ) ,
186190 Deadline . createFromDTO ( transactionDTO . deadline ) ,
187- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
191+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
188192 transactionDTO . minApprovalDelta ,
189193 transactionDTO . minRemovalDelta ,
190194 transactionDTO . modifications ? transactionDTO . modifications . map ( ( modificationDTO ) => new MultisigCosignatoryModification (
@@ -202,7 +206,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
202206 networkType ,
203207 extractTransactionVersion ( transactionDTO . version ) ,
204208 Deadline . createFromDTO ( transactionDTO . deadline ) ,
205- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
209+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
206210 new Mosaic ( new MosaicId ( transactionDTO . mosaicId ) , new UInt64 ( transactionDTO . amount ) ) ,
207211 new UInt64 ( transactionDTO . duration ) ,
208212 new SignedTransaction ( '' , transactionDTO . hash , '' , TransactionType . AGGREGATE_BONDED , networkType ) ,
@@ -216,7 +220,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
216220 extractNetworkType ( transactionDTO . version ) ,
217221 extractTransactionVersion ( transactionDTO . version ) ,
218222 Deadline . createFromDTO ( transactionDTO . deadline ) ,
219- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
223+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
220224 new Mosaic ( new MosaicId ( transactionDTO . mosaicId ) , new UInt64 ( transactionDTO . amount ) ) ,
221225 new UInt64 ( transactionDTO . duration ) ,
222226 transactionDTO . hashAlgorithm ,
@@ -233,7 +237,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
233237 extractNetworkType ( transactionDTO . version ) ,
234238 extractTransactionVersion ( transactionDTO . version ) ,
235239 Deadline . createFromDTO ( transactionDTO . deadline ) ,
236- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
240+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
237241 transactionDTO . hashAlgorithm ,
238242 transactionDTO . secret ,
239243 transactionDTO . proof ,
@@ -247,7 +251,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
247251 extractNetworkType ( transactionDTO . version ) ,
248252 extractTransactionVersion ( transactionDTO . version ) ,
249253 Deadline . createFromDTO ( transactionDTO . deadline ) ,
250- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
254+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
251255 transactionDTO . aliasAction ,
252256 new NamespaceId ( transactionDTO . namespaceId ) ,
253257 new MosaicId ( transactionDTO . mosaicId ) ,
@@ -261,7 +265,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
261265 extractNetworkType ( transactionDTO . version ) ,
262266 extractTransactionVersion ( transactionDTO . version ) ,
263267 Deadline . createFromDTO ( transactionDTO . deadline ) ,
264- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
268+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
265269 transactionDTO . aliasAction ,
266270 new NamespaceId ( transactionDTO . namespaceId ) ,
267271 extractRecipient ( transactionDTO . address ) as Address ,
@@ -275,7 +279,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
275279 extractNetworkType ( transactionDTO . version ) ,
276280 extractTransactionVersion ( transactionDTO . version ) ,
277281 Deadline . createFromDTO ( transactionDTO . deadline ) ,
278- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
282+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
279283 transactionDTO . propertyType ,
280284 transactionDTO . modifications ? transactionDTO . modifications . map ( ( modificationDTO ) => new AccountPropertyModification (
281285 modificationDTO . modificationType ,
@@ -291,7 +295,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
291295 extractNetworkType ( transactionDTO . version ) ,
292296 extractTransactionVersion ( transactionDTO . version ) ,
293297 Deadline . createFromDTO ( transactionDTO . deadline ) ,
294- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
298+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
295299 transactionDTO . propertyType ,
296300 transactionDTO . modifications ? transactionDTO . modifications . map ( ( modificationDTO ) => new AccountPropertyModification (
297301 modificationDTO . modificationType ,
@@ -307,7 +311,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
307311 extractNetworkType ( transactionDTO . version ) ,
308312 extractTransactionVersion ( transactionDTO . version ) ,
309313 Deadline . createFromDTO ( transactionDTO . deadline ) ,
310- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
314+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
311315 transactionDTO . propertyType ,
312316 transactionDTO . modifications ? transactionDTO . modifications . map ( ( modificationDTO ) => new AccountPropertyModification (
313317 modificationDTO . modificationType ,
@@ -323,7 +327,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
323327 extractNetworkType ( transactionDTO . version ) ,
324328 extractTransactionVersion ( transactionDTO . version ) ,
325329 Deadline . createFromDTO ( transactionDTO . deadline ) ,
326- UInt64 . fromUint ( transactionDTO . maxFee || 0 ) ,
330+ new UInt64 ( transactionDTO . maxFee || [ 0 , 0 ] ) ,
327331 transactionDTO . remoteAccountKey ,
328332 transactionDTO . linkAction ,
329333 transactionDTO . signature ,
@@ -424,15 +428,15 @@ export const extractMosaics = (mosaics: any): Mosaic[] => {
424428 * @param message - message payload
425429 * @return {PlainMessage }
426430 */
427- const extractMessage = ( message : any ) : PlainMessage => {
428- let plainMessage = EmptyMessage ;
429- if ( message !== undefined && convert . isHexString ( message ) ) {
430- plainMessage = PlainMessage . createFromPayload ( message ) ;
431- } else {
432- plainMessage = PlainMessage . create ( message ) ;
431+ const extractMessage = ( message : any ) : PlainMessage | EncryptedMessage => {
432+ let msgObj = EmptyMessage ;
433+ if ( message . type === MessageType . PlainMessage ) {
434+ msgObj = convert . isHexString ( message ) ? PlainMessage . createFromPayload ( message . payload ) :
435+ PlainMessage . create ( message . payload ) ;
436+ } else if ( message . type === MessageType . EncryptedMessage ) {
437+ msgObj = EncryptedMessage . createFromPayload ( message . payload ) ;
433438 }
434-
435- return plainMessage ;
439+ return msgObj ;
436440} ;
437441
438442/**
@@ -452,7 +456,7 @@ const extractMessage = (message: any): PlainMessage => {
452456 */
453457export const extractBeneficiary = (
454458 blockDTO : any ,
455- networkType : NetworkType
459+ networkType : NetworkType ,
456460) : PublicAccount | undefined => {
457461
458462 let dtoPublicAccount : PublicAccount | undefined ;
0 commit comments