@@ -23,11 +23,15 @@ import { NetworkType } from '../../src/model/blockchain/NetworkType';
2323import { MosaicId } from '../../src/model/mosaic/MosaicId' ;
2424import { NetworkCurrencyMosaic } from '../../src/model/mosaic/NetworkCurrencyMosaic' ;
2525import { NamespaceId } from '../../src/model/namespace/NamespaceId' ;
26+ import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction' ;
2627import { Deadline } from '../../src/model/transaction/Deadline' ;
2728import { ModifyMultisigAccountTransaction } from '../../src/model/transaction/ModifyMultisigAccountTransaction' ;
2829import { MultisigCosignatoryModification } from '../../src/model/transaction/MultisigCosignatoryModification' ;
2930import { MultisigCosignatoryModificationType } from '../../src/model/transaction/MultisigCosignatoryModificationType' ;
3031import { TransactionUtils } from './TransactionUtils' ;
32+ import { TransferTransaction } from '../../src/model/transaction/TransferTransaction' ;
33+ import { PlainMessage } from '../../src/model/transaction/PlainMessage' ;
34+ import { Mosaic , UInt64 } from '../../src/model/model' ;
3135
3236describe ( 'Listener' , ( ) => {
3337
@@ -165,6 +169,77 @@ describe('Listener', () => {
165169 } ) ;
166170 } ) ;
167171
172+ describe ( 'TransferTransaction' , ( ) => {
173+ let listener : Listener ;
174+ before ( ( ) => {
175+ listener = new Listener ( config . apiUrl ) ;
176+ return listener . open ( ) ;
177+ } ) ;
178+ after ( ( ) => {
179+ return listener . close ( ) ;
180+ } ) ;
181+
182+ it ( 'standalone' , ( done ) => {
183+ const transferTransaction = TransferTransaction . create (
184+ Deadline . create ( ) ,
185+ cosignAccount1 . address ,
186+ [ new Mosaic ( networkCurrencyMosaicId , UInt64 . fromUint ( 10 * Math . pow ( 10 , NetworkCurrencyMosaic . DIVISIBILITY ) ) ) ] ,
187+ PlainMessage . create ( 'test-message' ) ,
188+ NetworkType . MIJIN_TEST ,
189+ ) ;
190+ const signedTransaction = transferTransaction . signWith ( account ) ;
191+
192+ listener . confirmed ( account . address ) . subscribe ( ( transaction ) => {
193+ done ( ) ;
194+ } ) ;
195+ listener . status ( account . address ) . subscribe ( ( error ) => {
196+ console . log ( 'Error:' , error ) ;
197+ assert ( false ) ;
198+ done ( ) ;
199+ } ) ;
200+ transactionHttp . announce ( signedTransaction ) ;
201+ } ) ;
202+ } ) ;
203+
204+ describe ( 'ModifyMultisigAccountTransaction - Create multisig account' , ( ) => {
205+ let listener : Listener ;
206+ before ( ( ) => {
207+ listener = new Listener ( config . apiUrl ) ;
208+ return listener . open ( ) ;
209+ } ) ;
210+ after ( ( ) => {
211+ return listener . close ( ) ;
212+ } ) ;
213+ it ( 'ModifyMultisigAccountTransaction' , ( done ) => {
214+ const modifyMultisigAccountTransaction = ModifyMultisigAccountTransaction . create (
215+ Deadline . create ( ) ,
216+ 2 ,
217+ 1 ,
218+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Add , cosignAccount1 . publicAccount ) ,
219+ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Add , cosignAccount2 . publicAccount ) ,
220+ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Add , cosignAccount3 . publicAccount ) ,
221+ ] ,
222+ NetworkType . MIJIN_TEST ,
223+ ) ;
224+
225+ const aggregateTransaction = AggregateTransaction . createComplete ( Deadline . create ( ) ,
226+ [ modifyMultisigAccountTransaction . toAggregate ( multisigAccount . publicAccount ) ] ,
227+ NetworkType . MIJIN_TEST ,
228+ [ ] ) ;
229+ const signedTransaction = aggregateTransaction
230+ . signTransactionWithCosignatories ( multisigAccount , [ cosignAccount1 , cosignAccount2 , cosignAccount3 ] ) ;
231+
232+ listener . confirmed ( multisigAccount . address ) . subscribe ( ( transaction ) => {
233+ done ( ) ;
234+ } ) ;
235+ listener . status ( multisigAccount . address ) . subscribe ( ( error ) => {
236+ console . log ( 'Error:' , error ) ;
237+ done ( ) ;
238+ } ) ;
239+ transactionHttp . announce ( signedTransaction ) ;
240+ } ) ;
241+ } ) ;
242+
168243 describe ( 'Aggregate Bonded Transactions' , ( ) => {
169244 let listener : Listener ;
170245 before ( ( ) => {
@@ -266,6 +341,62 @@ describe('Listener', () => {
266341 } ) ;
267342 } ) ;
268343
344+ describe ( 'ModifyMultisigAccountTransaction - Restore multisig Accounts' , ( ) => {
345+ let listener : Listener ;
346+ before ( ( ) => {
347+ listener = new Listener ( config . apiUrl ) ;
348+ return listener . open ( ) ;
349+ } ) ;
350+ after ( ( ) => {
351+ return listener . close ( ) ;
352+ } ) ;
353+ it ( 'Restore Multisig Account' , ( done ) => {
354+ const removeCosigner1 = ModifyMultisigAccountTransaction . create (
355+ Deadline . create ( ) ,
356+ - 1 ,
357+ 0 ,
358+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount1 . publicAccount ) ,
359+ ] ,
360+ NetworkType . MIJIN_TEST ,
361+ ) ;
362+ const removeCosigner2 = ModifyMultisigAccountTransaction . create (
363+ Deadline . create ( ) ,
364+ 0 ,
365+ 0 ,
366+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount2 . publicAccount ) ,
367+ ] ,
368+ NetworkType . MIJIN_TEST ,
369+ ) ;
370+
371+ const removeCosigner3 = ModifyMultisigAccountTransaction . create (
372+ Deadline . create ( ) ,
373+ - 1 ,
374+ - 1 ,
375+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount3 . publicAccount ) ,
376+ ] ,
377+ NetworkType . MIJIN_TEST ,
378+ ) ;
379+
380+ const aggregateTransaction = AggregateTransaction . createComplete ( Deadline . create ( ) ,
381+ [ removeCosigner1 . toAggregate ( multisigAccount . publicAccount ) ,
382+ removeCosigner2 . toAggregate ( multisigAccount . publicAccount ) ,
383+ removeCosigner3 . toAggregate ( multisigAccount . publicAccount ) ] ,
384+ NetworkType . MIJIN_TEST ,
385+ [ ] ) ;
386+ const signedTransaction = aggregateTransaction
387+ . signTransactionWithCosignatories ( cosignAccount1 , [ cosignAccount2 , cosignAccount3 ] ) ;
388+
389+ listener . confirmed ( multisigAccount . address ) . subscribe ( ( transaction ) => {
390+ done ( ) ;
391+ } ) ;
392+ listener . status ( multisigAccount . address ) . subscribe ( ( error ) => {
393+ console . log ( 'Error:' , error ) ;
394+ done ( ) ;
395+ } ) ;
396+ transactionHttp . announce ( signedTransaction ) ;
397+ } ) ;
398+ } ) ;
399+
269400 describe ( 'Transactions Status' , ( ) => {
270401 let listener : Listener ;
271402 before ( ( ) => {
0 commit comments