Skip to content

Commit 34a5dc6

Browse files
committed
Added #151 Generation Hash
1 parent a746ed4 commit 34a5dc6

28 files changed

+250
-219
lines changed

e2e/infrastructure/AccountHttp.spec.ts

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,26 @@ import {deepEqual} from 'assert';
1818
import {assert, expect} from 'chai';
1919
import {AccountHttp} from '../../src/infrastructure/AccountHttp';
2020
import { Listener, TransactionHttp } from '../../src/infrastructure/infrastructure';
21-
import {QueryParams} from '../../src/infrastructure/QueryParams';
2221
import { Account } from '../../src/model/account/Account';
2322
import {Address} from '../../src/model/account/Address';
2423
import { PropertyModificationType } from '../../src/model/account/PropertyModificationType';
2524
import { PropertyType } from '../../src/model/account/PropertyType';
2625
import {PublicAccount} from '../../src/model/account/PublicAccount';
2726
import {NetworkType} from '../../src/model/blockchain/NetworkType';
2827
import { NetworkCurrencyMosaic } from '../../src/model/mosaic/NetworkCurrencyMosaic';
28+
import { AliasActionType } from '../../src/model/namespace/AliasActionType';
29+
import { NamespaceId } from '../../src/model/namespace/NamespaceId';
2930
import { AccountPropertyModification } from '../../src/model/transaction/AccountPropertyModification';
3031
import { AccountPropertyTransaction } from '../../src/model/transaction/AccountPropertyTransaction';
32+
import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction';
3133
import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction';
3234
import { Deadline } from '../../src/model/transaction/Deadline';
3335
import { ModifyMultisigAccountTransaction } from '../../src/model/transaction/ModifyMultisigAccountTransaction';
3436
import { MultisigCosignatoryModification } from '../../src/model/transaction/MultisigCosignatoryModification';
3537
import { MultisigCosignatoryModificationType } from '../../src/model/transaction/MultisigCosignatoryModificationType';
3638
import { PlainMessage } from '../../src/model/transaction/PlainMessage';
37-
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
38-
import { AliasActionType } from '../../src/model/namespace/AliasActionType';
39-
import { namespaceId } from 'nem2-library/dist/transactions/NamespaceMosaicId';
40-
import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction';
41-
import { NamespaceId } from '../../src/model/namespace/NamespaceId';
4239
import { RegisterNamespaceTransaction } from '../../src/model/transaction/RegisterNamespaceTransaction';
40+
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
4341
import { UInt64 } from '../../src/model/UInt64';
4442

4543
describe('AccountHttp', () => {
@@ -56,6 +54,7 @@ describe('AccountHttp', () => {
5654
let accountHttp: AccountHttp;
5755
let transactionHttp: TransactionHttp;
5856
let namespaceId: NamespaceId;
57+
let generationHash: string;
5958
let config;
6059

6160
before((done) => {
@@ -76,7 +75,7 @@ describe('AccountHttp', () => {
7675
accountAddress = Address.createFromRawAddress(json.testAccount.address);
7776
accountPublicKey = json.testAccount.publicKey;
7877
publicAccount = PublicAccount.createFromPublicKey(json.testAccount.publicKey, NetworkType.MIJIN_TEST);
79-
78+
generationHash = json.generationHash;
8079
accountHttp = new AccountHttp(json.apiUrl);
8180
transactionHttp = new TransactionHttp(json.apiUrl);
8281
done();
@@ -107,9 +106,9 @@ describe('AccountHttp', () => {
107106
PlainMessage.create('test-message'),
108107
NetworkType.MIJIN_TEST,
109108
);
110-
const signedTransaction = transferTransaction.signWith(account);
109+
const signedTransaction = transferTransaction.signWith(account, generationHash);
111110

112-
listener.confirmed(account.address).subscribe((transaction) => {
111+
listener.confirmed(account.address).subscribe(() => {
113112
done();
114113
});
115114
listener.status(account.address).subscribe((error) => {
@@ -139,8 +138,8 @@ describe('AccountHttp', () => {
139138
NetworkType.MIJIN_TEST,
140139
);
141140
namespaceId = new NamespaceId(namespaceName);
142-
const signedTransaction = registerNamespaceTransaction.signWith(account);
143-
listener.confirmed(account.address).subscribe((transaction) => {
141+
const signedTransaction = registerNamespaceTransaction.signWith(account, generationHash);
142+
listener.confirmed(account.address).subscribe(() => {
144143
done();
145144
});
146145
listener.status(account.address).subscribe((error) => {
@@ -170,9 +169,9 @@ describe('AccountHttp', () => {
170169
account.address,
171170
NetworkType.MIJIN_TEST,
172171
);
173-
const signedTransaction = addressAliasTransaction.signWith(account);
172+
const signedTransaction = addressAliasTransaction.signWith(account, generationHash);
174173

175-
listener.confirmed(account.address).subscribe((transaction) => {
174+
listener.confirmed(account.address).subscribe(() => {
176175
done();
177176
});
178177
listener.status(account.address).subscribe((error) => {
@@ -204,9 +203,9 @@ describe('AccountHttp', () => {
204203
[addressPropertyFilter],
205204
NetworkType.MIJIN_TEST,
206205
);
207-
const signedTransaction = addressModification.signWith(account);
206+
const signedTransaction = addressModification.signWith(account, generationHash);
208207

209-
listener.confirmed(account.address).subscribe((transaction) => {
208+
listener.confirmed(account.address).subscribe(() => {
210209
done();
211210
});
212211
listener.status(account.address).subscribe((error) => {
@@ -243,9 +242,9 @@ describe('AccountHttp', () => {
243242
NetworkType.MIJIN_TEST,
244243
[]);
245244
const signedTransaction = aggregateTransaction
246-
.signTransactionWithCosignatories(multisigAccount, [cosignAccount1, cosignAccount2, cosignAccount3]);
245+
.signTransactionWithCosignatories(multisigAccount, [cosignAccount1, cosignAccount2, cosignAccount3], generationHash);
247246

248-
listener.confirmed(multisigAccount.address).subscribe((transaction) => {
247+
listener.confirmed(multisigAccount.address).subscribe(() => {
249248
done();
250249
});
251250
listener.status(multisigAccount.address).subscribe((error) => {
@@ -337,7 +336,7 @@ describe('AccountHttp', () => {
337336

338337
describe('aggregateBondedTransactions', () => {
339338
it('should call aggregateBondedTransactions successfully', (done) => {
340-
accountHttp.aggregateBondedTransactions(publicAccount).subscribe((transactions) => {
339+
accountHttp.aggregateBondedTransactions(publicAccount).subscribe(() => {
341340
done();
342341
}, (error) => {
343342
console.log('Error:', error);
@@ -396,9 +395,9 @@ describe('AccountHttp', () => {
396395
account.address,
397396
NetworkType.MIJIN_TEST,
398397
);
399-
const signedTransaction = addressAliasTransaction.signWith(account);
398+
const signedTransaction = addressAliasTransaction.signWith(account, generationHash);
400399

401-
listener.confirmed(account.address).subscribe((transaction) => {
400+
listener.confirmed(account.address).subscribe(() => {
402401
done();
403402
});
404403
listener.status(account.address).subscribe((error) => {
@@ -430,9 +429,9 @@ describe('AccountHttp', () => {
430429
[addressPropertyFilter],
431430
NetworkType.MIJIN_TEST,
432431
);
433-
const signedTransaction = addressModification.signWith(account);
432+
const signedTransaction = addressModification.signWith(account, generationHash);
434433

435-
listener.confirmed(account.address).subscribe((transaction) => {
434+
listener.confirmed(account.address).subscribe(() => {
436435
done();
437436
});
438437
listener.status(account.address).subscribe((error) => {
@@ -462,9 +461,9 @@ describe('AccountHttp', () => {
462461
account.address,
463462
NetworkType.MIJIN_TEST,
464463
);
465-
const signedTransaction = addressAliasTransaction.signWith(account);
464+
const signedTransaction = addressAliasTransaction.signWith(account, generationHash);
466465

467-
listener.confirmed(account.address).subscribe((transaction) => {
466+
listener.confirmed(account.address).subscribe(() => {
468467
done();
469468
});
470469
listener.status(account.address).subscribe((error) => {
@@ -518,7 +517,7 @@ describe('AccountHttp', () => {
518517
NetworkType.MIJIN_TEST,
519518
[]);
520519
const signedTransaction = aggregateTransaction
521-
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3]);
520+
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3], generationHash);
522521

523522
listener.confirmed(cosignAccount1.address).subscribe((transaction) => {
524523
done();

e2e/infrastructure/BlockHttp.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ describe('BlockHttp', () => {
3535
let blockTransactionHash = '';
3636
let config;
3737
let chainHeight;
38+
let generationHash: string;
3839
before((done) => {
3940
const path = require('path');
4041
require('fs').readFile(path.resolve(__dirname, '../conf/network.conf'), (err, data) => {
@@ -47,6 +48,7 @@ describe('BlockHttp', () => {
4748
account2 = Account.createFromPrivateKey(json.testAccount2.privateKey, NetworkType.MIJIN_TEST);
4849
blockHttp = new BlockHttp(json.apiUrl);
4950
transactionHttp = new TransactionHttp(json.apiUrl);
51+
generationHash = json.generationHash;
5052
done();
5153
});
5254
});
@@ -75,7 +77,7 @@ describe('BlockHttp', () => {
7577
PlainMessage.create('test-message'),
7678
NetworkType.MIJIN_TEST,
7779
);
78-
const signedTransaction = transferTransaction.signWith(account);
80+
const signedTransaction = transferTransaction.signWith(account, generationHash);
7981

8082
listener.confirmed(account.address).subscribe((transaction: Transaction) => {
8183

e2e/infrastructure/Listener.spec.ts

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { Listener } from '../../src/infrastructure/Listener';
2020
import { TransactionHttp } from '../../src/infrastructure/TransactionHttp';
2121
import { Account } from '../../src/model/account/Account';
2222
import { NetworkType } from '../../src/model/blockchain/NetworkType';
23+
import { Mosaic, UInt64 } from '../../src/model/model';
2324
import { MosaicId } from '../../src/model/mosaic/MosaicId';
2425
import { NetworkCurrencyMosaic } from '../../src/model/mosaic/NetworkCurrencyMosaic';
2526
import { NamespaceId } from '../../src/model/namespace/NamespaceId';
@@ -28,10 +29,9 @@ import { Deadline } from '../../src/model/transaction/Deadline';
2829
import { ModifyMultisigAccountTransaction } from '../../src/model/transaction/ModifyMultisigAccountTransaction';
2930
import { MultisigCosignatoryModification } from '../../src/model/transaction/MultisigCosignatoryModification';
3031
import { MultisigCosignatoryModificationType } from '../../src/model/transaction/MultisigCosignatoryModificationType';
31-
import { TransactionUtils } from './TransactionUtils';
32-
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
3332
import { PlainMessage } from '../../src/model/transaction/PlainMessage';
34-
import { Mosaic, UInt64 } from '../../src/model/model';
33+
import { TransferTransaction } from '../../src/model/transaction/TransferTransaction';
34+
import { TransactionUtils } from './TransactionUtils';
3535

3636
describe('Listener', () => {
3737

@@ -47,6 +47,7 @@ describe('Listener', () => {
4747
let multisigAccount: Account;
4848
let networkCurrencyMosaicId: MosaicId;
4949
let namespaceHttp: NamespaceHttp;
50+
let generationHash: string;
5051
let config;
5152

5253
before((done) => {
@@ -68,6 +69,7 @@ describe('Listener', () => {
6869
transactionHttp = new TransactionHttp(json.apiUrl);
6970
accountHttp = new AccountHttp(json.apiUrl);
7071
namespaceHttp = new NamespaceHttp(json.apiUrl);
72+
generationHash = json.generationHash;
7173
done();
7274
});
7375
});
@@ -90,7 +92,7 @@ describe('Listener', () => {
9092
assert(false);
9193
done();
9294
});
93-
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp);
95+
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp, undefined, generationHash);
9496
});
9597
});
9698

@@ -113,7 +115,7 @@ describe('Listener', () => {
113115
assert(false);
114116
done();
115117
});
116-
TransactionUtils.createAndAnnounce(account, recipientAddress, transactionHttp);
118+
TransactionUtils.createAndAnnounce(account, recipientAddress, transactionHttp, undefined, generationHash);
117119
});
118120
});
119121

@@ -135,7 +137,7 @@ describe('Listener', () => {
135137
assert(false);
136138
done();
137139
});
138-
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp);
140+
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp, undefined, generationHash);
139141
});
140142
});
141143

@@ -157,7 +159,7 @@ describe('Listener', () => {
157159
assert(false);
158160
done();
159161
});
160-
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp);
162+
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp, undefined, generationHash);
161163
});
162164
});
163165
describe('Get network currency mosaic id', () => {
@@ -187,7 +189,7 @@ describe('Listener', () => {
187189
PlainMessage.create('test-message'),
188190
NetworkType.MIJIN_TEST,
189191
);
190-
const signedTransaction = transferTransaction.signWith(account);
192+
const signedTransaction = transferTransaction.signWith(account, generationHash);
191193

192194
listener.confirmed(account.address).subscribe((transaction) => {
193195
done();
@@ -227,7 +229,7 @@ describe('Listener', () => {
227229
NetworkType.MIJIN_TEST,
228230
[]);
229231
const signedTransaction = aggregateTransaction
230-
.signTransactionWithCosignatories(multisigAccount, [cosignAccount1, cosignAccount2, cosignAccount3]);
232+
.signTransactionWithCosignatories(multisigAccount, [cosignAccount1, cosignAccount2, cosignAccount3], generationHash);
231233

232234
listener.confirmed(multisigAccount.address).subscribe((transaction) => {
233235
done();
@@ -261,9 +263,11 @@ describe('Listener', () => {
261263
assert(false);
262264
done();
263265
});
264-
const signedAggregatedTx = TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, account, account2.address);
266+
const signedAggregatedTx = TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, account,
267+
account2.address, generationHash);
265268

266-
TransactionUtils.createHashLockTransactionAndAnnounce(signedAggregatedTx, account, networkCurrencyMosaicId, transactionHttp );
269+
TransactionUtils.createHashLockTransactionAndAnnounce(signedAggregatedTx, account, networkCurrencyMosaicId,
270+
transactionHttp, generationHash);
267271
});
268272
});
269273
describe('Aggregate Bonded Transactions', () => {
@@ -299,10 +303,11 @@ describe('Listener', () => {
299303
done();
300304
});
301305
const signedAggregatedTx =
302-
TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, cosignAccount1, account2.address);
306+
TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, cosignAccount1, account2.address, generationHash);
303307

304308
TransactionUtils.
305-
createHashLockTransactionAndAnnounce(signedAggregatedTx, cosignAccount1, networkCurrencyMosaicId, transactionHttp );
309+
createHashLockTransactionAndAnnounce(signedAggregatedTx, cosignAccount1,
310+
networkCurrencyMosaicId, transactionHttp, generationHash);
306311
});
307312
});
308313

@@ -334,10 +339,11 @@ describe('Listener', () => {
334339
done();
335340
});
336341
const signedAggregatedTx =
337-
TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, cosignAccount1, account2.address);
342+
TransactionUtils.createSignedAggregatedBondTransaction(multisigAccount, cosignAccount1, account2.address, generationHash);
338343

339344
TransactionUtils.
340-
createHashLockTransactionAndAnnounce(signedAggregatedTx, cosignAccount1, networkCurrencyMosaicId, transactionHttp );
345+
createHashLockTransactionAndAnnounce(signedAggregatedTx, cosignAccount1,
346+
networkCurrencyMosaicId, transactionHttp, generationHash);
341347
});
342348
});
343349

@@ -384,7 +390,7 @@ describe('Listener', () => {
384390
NetworkType.MIJIN_TEST,
385391
[]);
386392
const signedTransaction = aggregateTransaction
387-
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3]);
393+
.signTransactionWithCosignatories(cosignAccount1, [cosignAccount2, cosignAccount3], generationHash);
388394

389395
listener.confirmed(cosignAccount1.address).subscribe((transaction) => {
390396
done();
@@ -412,7 +418,7 @@ describe('Listener', () => {
412418
done();
413419
});
414420
const mosaics = [NetworkCurrencyMosaic.createRelative(1000000000000)];
415-
TransactionUtils.createAndAnnounce(account, account2.address, transactionHttp, mosaics);
421+
TransactionUtils.createAndAnnounce(account, account2.address, transactionHttp, mosaics, generationHash);
416422
});
417423
});
418424

@@ -429,7 +435,7 @@ describe('Listener', () => {
429435
listener.newBlock().subscribe((res) => {
430436
done();
431437
});
432-
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp);
438+
TransactionUtils.createAndAnnounce(account, account.address, transactionHttp, undefined, generationHash);
433439
});
434440
});
435-
});
441+
});

0 commit comments

Comments
 (0)