@@ -32,6 +32,9 @@ import { MultisigCosignatoryModificationType } from '../../src/model/transaction
3232import { PlainMessage } from '../../src/model/transaction/PlainMessage' ;
3333import { TransferTransaction } from '../../src/model/transaction/TransferTransaction' ;
3434import { TransactionUtils } from './TransactionUtils' ;
35+ import { TransferTransaction } from '../../src/model/transaction/TransferTransaction' ;
36+ import { PlainMessage } from '../../src/model/transaction/PlainMessage' ;
37+ import { Mosaic , UInt64 } from '../../src/model/model' ;
3538
3639describe ( 'Listener' , ( ) => {
3740
@@ -403,6 +406,62 @@ describe('Listener', () => {
403406 } ) ;
404407 } ) ;
405408
409+ describe ( 'ModifyMultisigAccountTransaction - Restore multisig Accounts' , ( ) => {
410+ let listener : Listener ;
411+ before ( ( ) => {
412+ listener = new Listener ( config . apiUrl ) ;
413+ return listener . open ( ) ;
414+ } ) ;
415+ after ( ( ) => {
416+ return listener . close ( ) ;
417+ } ) ;
418+ it ( 'Restore Multisig Account' , ( done ) => {
419+ const removeCosigner1 = ModifyMultisigAccountTransaction . create (
420+ Deadline . create ( ) ,
421+ - 1 ,
422+ 0 ,
423+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount1 . publicAccount ) ,
424+ ] ,
425+ NetworkType . MIJIN_TEST ,
426+ ) ;
427+ const removeCosigner2 = ModifyMultisigAccountTransaction . create (
428+ Deadline . create ( ) ,
429+ 0 ,
430+ 0 ,
431+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount2 . publicAccount ) ,
432+ ] ,
433+ NetworkType . MIJIN_TEST ,
434+ ) ;
435+
436+ const removeCosigner3 = ModifyMultisigAccountTransaction . create (
437+ Deadline . create ( ) ,
438+ - 1 ,
439+ - 1 ,
440+ [ new MultisigCosignatoryModification ( MultisigCosignatoryModificationType . Remove , cosignAccount3 . publicAccount ) ,
441+ ] ,
442+ NetworkType . MIJIN_TEST ,
443+ ) ;
444+
445+ const aggregateTransaction = AggregateTransaction . createComplete ( Deadline . create ( ) ,
446+ [ removeCosigner1 . toAggregate ( multisigAccount . publicAccount ) ,
447+ removeCosigner2 . toAggregate ( multisigAccount . publicAccount ) ,
448+ removeCosigner3 . toAggregate ( multisigAccount . publicAccount ) ] ,
449+ NetworkType . MIJIN_TEST ,
450+ [ ] ) ;
451+ const signedTransaction = aggregateTransaction
452+ . signTransactionWithCosignatories ( cosignAccount1 , [ cosignAccount2 , cosignAccount3 ] ) ;
453+
454+ listener . confirmed ( multisigAccount . address ) . subscribe ( ( transaction ) => {
455+ done ( ) ;
456+ } ) ;
457+ listener . status ( multisigAccount . address ) . subscribe ( ( error ) => {
458+ console . log ( 'Error:' , error ) ;
459+ done ( ) ;
460+ } ) ;
461+ transactionHttp . announce ( signedTransaction ) ;
462+ } ) ;
463+ } ) ;
464+
406465 describe ( 'Transactions Status' , ( ) => {
407466 let listener : Listener ;
408467 before ( ( ) => {
0 commit comments