Skip to content

Commit 1af3004

Browse files
committed
Added #112 sign with cosignatories
1 parent e3a798e commit 1af3004

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/model/transaction/AggregateTransaction.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,23 @@ export class AggregateTransaction extends Transaction {
230230
this.type, this.networkType);
231231
}
232232

233+
/**
234+
* @internal
235+
* Sign transaction with cosignatories collected from cosigned transactions and creating a new SignedTransaction
236+
* For off chain Aggregated Complete Transaction co-signing.
237+
* @param initiatorAccount - Initiator account
238+
* @param {CosignatureSignedTransaction[]} cosignatureSignedTransaction - Array of cosigned transaction
239+
* @return {SignedTransaction}
240+
*/
241+
public signTransactionWithCosignedTransactions(initiatorAccount: Account,
242+
cosignatureSignedTransaction: CosignatureSignedTransaction[]) {
243+
const aggregateTransaction = this.buildTransaction();
244+
const signedTransactionRaw = aggregateTransaction.signTransactionWithCosignedTransactions(initiatorAccount,
245+
cosignatureSignedTransaction);
246+
return new SignedTransaction(signedTransactionRaw.payload, signedTransactionRaw.hash, initiatorAccount.publicKey,
247+
this.type, this.networkType);
248+
}
249+
233250
/**
234251
* Check if account has signed transaction
235252
* @param publicAccount - Signer public account

test/model/transaction/CosignatureTransaction.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
import {expect} from 'chai';
18+
import { VerifiableTransaction } from 'nem2-library';
1819
import {CreateTransactionFromDTO} from '../../../src/infrastructure/transaction/CreateTransactionFromDTO';
1920
import {Account} from '../../../src/model/account/Account';
2021
import { NetworkType } from '../../../src/model/blockchain/NetworkType';
@@ -129,4 +130,4 @@ describe('CosignatureTransaction', () => {
129130
expect(signedTx.signer).to.be.equal('C2F93346E27CE6AD1A9F8F5E3066F8326593A406BDF357ACB041E2F9AB402EFE');
130131
expect(signedTx.signer).to.be.equal(account.publicKey);
131132
});
132-
});
133+
});

0 commit comments

Comments
 (0)