Skip to content

Commit eb2d6da

Browse files
committed
reapply given from modification
1 parent 82f49ab commit eb2d6da

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

src/model/transaction/ModifyMultisigAccountTransaction.ts

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {MultisigModificationTransaction as ModifyMultisigAccountTransactionLibrary, VerifiableTransaction} from 'nem2-library';
18-
import {PublicAccount} from '../account/PublicAccount';
19-
import {NetworkType} from '../blockchain/NetworkType';
20-
import {UInt64} from '../UInt64';
21-
import {Deadline} from './Deadline';
22-
import {MultisigCosignatoryModification} from './MultisigCosignatoryModification';
23-
import {Transaction} from './Transaction';
24-
import {TransactionInfo} from './TransactionInfo';
25-
import {TransactionType} from './TransactionType';
17+
import { MultisigModificationTransaction as ModifyMultisigAccountTransactionLibrary, VerifiableTransaction } from 'nem2-library';
18+
import { PublicAccount } from '../account/PublicAccount';
19+
import { NetworkType } from '../blockchain/NetworkType';
20+
import { UInt64 } from '../UInt64';
21+
import { Deadline } from './Deadline';
22+
import { MultisigCosignatoryModification } from './MultisigCosignatoryModification';
23+
import { Transaction } from './Transaction';
24+
import { TransactionInfo } from './TransactionInfo';
25+
import { TransactionType } from './TransactionType';
2626

2727
/**
2828
* Modify multisig account transactions are part of the NEM's multisig account system.
@@ -105,4 +105,28 @@ export class ModifyMultisigAccountTransaction extends Transaction {
105105
.addModifications(this.modifications.map((modification) => modification.toDTO()))
106106
.build();
107107
}
108+
109+
/**
110+
* @description re-aplly a given value to the transaction in an immutable way
111+
* @param {Deadline} deadline
112+
* @returns {Transaction}
113+
* @memberof Transaction
114+
*/
115+
public reaplygiven(newDeadline: Deadline): ModifyMultisigAccountTransaction {
116+
117+
if (this.isUnannounced) {
118+
return new ModifyMultisigAccountTransaction(
119+
this.networkType,
120+
this.version,
121+
newDeadline,
122+
this.fee,
123+
this.minApprovalDelta,
124+
this.minRemovalDelta,
125+
this.modifications,
126+
this.signature,
127+
this.signer);
128+
} else {
129+
throw new Error('Should not modify an announced transaction');
130+
}
131+
}
108132
}

0 commit comments

Comments
 (0)