Skip to content

Commit 53a536d

Browse files
committed
fixed merge issue
1 parent 9d765ac commit 53a536d

File tree

4 files changed

+19
-16
lines changed

4 files changed

+19
-16
lines changed

src/model/transaction/AggregateTransaction.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export class AggregateTransaction extends Transaction {
9696
* @param {InnerTransaction[]} innerTransactions
9797
* @param {NetworkType} networkType
9898
* @param {AggregateTransactionCosignature[]} cosignatures
99-
* @param {UInt64} maxFee - (Optional) Max fee defined by the sender
99+
* @param {UInt64} maxFee - (Optional) Max fee defined by the sender
100100
* @return {AggregateTransaction}
101101
*/
102102
public static createBonded(deadline: Deadline,
@@ -150,13 +150,16 @@ export class AggregateTransaction extends Transaction {
150150
* For off chain Aggregated Complete Transaction co-signing.
151151
* @param initiatorAccount - Initiator account
152152
* @param {CosignatureSignedTransaction[]} cosignatureSignedTransactions - Array of cosigned transaction
153+
* @param generationHash - Network generation hash hex
153154
* @return {SignedTransaction}
154155
*/
155156
public signTransactionGivenSignatures(initiatorAccount: Account,
156-
cosignatureSignedTransactions: CosignatureSignedTransaction[]) {
157+
cosignatureSignedTransactions: CosignatureSignedTransaction[],
158+
generationHash: string) {
157159
const aggregateTransaction = this.buildTransaction();
158160
const signedTransactionRaw = aggregateTransaction.signTransactionGivenSignatures(initiatorAccount,
159-
cosignatureSignedTransactions);
161+
cosignatureSignedTransactions,
162+
generationHash);
160163
return new SignedTransaction(signedTransactionRaw.payload, signedTransactionRaw.hash, initiatorAccount.publicKey,
161164
this.type, this.networkType);
162165
}
@@ -191,4 +194,4 @@ export class AggregateTransaction extends Transaction {
191194

192195
return byteSize + byteTransactionsSize + byteTransactions;
193196
}
194-
}
197+
}

src/model/transaction/CosignatureTransaction.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {CosignatureTransaction as CosignaturetransactionLibrary} from '../../inf
1818
import {Account} from '../account/Account';
1919
import {AggregateTransaction} from './AggregateTransaction';
2020
import {CosignatureSignedTransaction} from './CosignatureSignedTransaction';
21+
import { VerifiableTransaction } from '../../infrastructure/builders/VerifiableTransaction';
2122

2223
/**
2324
* Cosignature transaction is used to sign an aggregate transactions with missing cosignatures.
@@ -50,13 +51,14 @@ export class CosignatureTransaction {
5051
* Creating a new CosignatureSignedTransaction
5152
* @param account - The signing account
5253
* @param payload - off transaction payload (aggregated transaction is unannounced)
54+
* @param gernationHash - Network generation hash
5355
* @returns {CosignatureSignedTransaction}
5456
*/
55-
public static signTransactionPayload(account: Account, payload: string): CosignatureSignedTransaction {
57+
public static signTransactionPayload(account: Account, payload: string, gernationHash: string): CosignatureSignedTransaction {
5658
/**
5759
* For aggregated complete transaction, cosignatories are gathered off chain announced.
5860
*/
59-
const transactionHash = VerifiableTransaction.createTransactionHash(payload);
61+
const transactionHash = VerifiableTransaction.createTransactionHash(payload, gernationHash);
6062
const aggregateSignatureTransaction = new CosignaturetransactionLibrary(transactionHash);
6163
const signedTransactionRaw = aggregateSignatureTransaction.signCosignatoriesTransaction(account);
6264
return new CosignatureSignedTransaction(signedTransactionRaw.parentHash,
@@ -77,4 +79,4 @@ export class CosignatureTransaction {
7779
signedTransactionRaw.signature,
7880
signedTransactionRaw.signer);
7981
}
80-
}
82+
}

test/model/transaction/AggregateTransaction.spec.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import {expect} from 'chai';
1818
import {ChronoUnit} from 'js-joda';
19-
import { VerifiableTransaction } from 'nem2-library';
2019
import { TransactionMapping } from '../../../src/core/utils/TransactionMapping';
2120
import {CreateTransactionFromDTO} from '../../../src/infrastructure/transaction/CreateTransactionFromDTO';
2221
import {Account} from '../../../src/model/account/Account';
@@ -423,10 +422,10 @@ describe('AggregateTransaction', () => {
423422
).serialize();
424423

425424
// 02.1 Bob cosigns the tx and sends it back to Alice
426-
const signedTxBob = CosignatureTransaction.signTransactionPayload(accountBob, aggregateTransactionPayload);
425+
const signedTxBob = CosignatureTransaction.signTransactionPayload(accountBob, aggregateTransactionPayload, generationHash);
427426

428427
// 02.2 Carol cosigns the tx and sends it back to Alice
429-
const signedTxCarol = CosignatureTransaction.signTransactionPayload(accountCarol, aggregateTransactionPayload);
428+
const signedTxCarol = CosignatureTransaction.signTransactionPayload(accountCarol, aggregateTransactionPayload, generationHash);
430429

431430
// 03. Alice collects the cosignatures, recreate, sign, and announces the transaction
432431

@@ -438,7 +437,7 @@ describe('AggregateTransaction', () => {
438437

439438
const recreatedTx = TransactionMapping.createFromPayload(aggregateTransactionPayload) as AggregateTransaction;
440439

441-
const signedTransaction = recreatedTx.signTransactionGivenSignatures(accountAlice, cosignatureSignedTransactions);
440+
const signedTransaction = recreatedTx.signTransactionGivenSignatures(accountAlice, cosignatureSignedTransactions, generationHash);
442441

443442
expect(signedTransaction.type).to.be.equal(TransactionType.AGGREGATE_COMPLETE);
444443
expect(signedTransaction.signer).to.be.equal(accountAlice.publicKey);
@@ -466,4 +465,4 @@ describe('AggregateTransaction', () => {
466465
expect(aggregateTransaction.size).to.be.equal(120 + 4 + 158);
467466
});
468467
});
469-
});
468+
});

test/model/transaction/CosignatureTransaction.spec.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
import {expect} from 'chai';
18-
import { VerifiableTransaction } from 'nem2-library';
1918
import {CreateTransactionFromDTO} from '../../../src/infrastructure/transaction/CreateTransactionFromDTO';
2019
import {Account} from '../../../src/model/account/Account';
2120
import { NetworkType } from '../../../src/model/blockchain/NetworkType';
@@ -28,7 +27,7 @@ import {TestingAccount} from '../../conf/conf.spec';
2827

2928
describe('CosignatureTransaction', () => {
3029
let account: Account;
31-
30+
const generationHash = '57F7DA205008026C776CB6AED843393F04CD458E0AA2D9F1D5F31A402072B2D6';
3231
before(() => {
3332
account = TestingAccount;
3433
});
@@ -125,9 +124,9 @@ describe('CosignatureTransaction', () => {
125124
PlainMessage.create('a to b'),
126125
NetworkType.MIJIN_TEST).serialize();
127126

128-
const signedTx = CosignatureTransaction.signTransactionPayload(account, txPayload);
127+
const signedTx = CosignatureTransaction.signTransactionPayload(account, txPayload, generationHash);
129128

130129
expect(signedTx.signer).to.be.equal('C2F93346E27CE6AD1A9F8F5E3066F8326593A406BDF357ACB041E2F9AB402EFE');
131130
expect(signedTx.signer).to.be.equal(account.publicKey);
132131
});
133-
});
132+
});

0 commit comments

Comments
 (0)