|
14 | 14 | * limitations under the License. |
15 | 15 | */ |
16 | 16 |
|
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'; |
26 | 26 |
|
27 | 27 | /** |
28 | 28 | * Modify multisig account transactions are part of the NEM's multisig account system. |
@@ -105,4 +105,28 @@ export class ModifyMultisigAccountTransaction extends Transaction { |
105 | 105 | .addModifications(this.modifications.map((modification) => modification.toDTO())) |
106 | 106 | .build(); |
107 | 107 | } |
| 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 | + } |
108 | 132 | } |
0 commit comments