Skip to content

Commit 903db08

Browse files
committed
- Fixed primary source id as confirmed by Jag
- Updated aggregate transaction handler with secondary source id
1 parent b5b20e1 commit 903db08

16 files changed

+58
-44
lines changed

src/model/transaction/AccountAddressRestrictionTransaction.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,10 @@ export class AccountAddressRestrictionTransaction extends Transaction {
199199
/**
200200
* @internal
201201
* @param receiptHttp ReceiptHttp
202+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
202203
* @returns {Observable<AccountAddressRestrictionTransaction>}
203204
*/
204-
resolveAliases(receiptHttp: ReceiptHttp): Observable<AccountAddressRestrictionTransaction> {
205+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<AccountAddressRestrictionTransaction> {
205206
const hasUnresolved = this.restrictionAdditions.find((address) => address instanceof NamespaceId) !== undefined ||
206207
this.restrictionDeletions.find((address) => address instanceof NamespaceId) !== undefined;
207208

@@ -217,7 +218,7 @@ export class AccountAddressRestrictionTransaction extends Transaction {
217218
return this.restrictionAdditions.map((addition) => {
218219
return addition instanceof NamespaceId ?
219220
TransactionService.getResolvedFromReceipt(ResolutionType.Address, addition as NamespaceId,
220-
statement, transactionInfo.index, transactionInfo.height.toString()) as Address :
221+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as Address :
221222
addition;
222223
});
223224
}),
@@ -228,7 +229,7 @@ export class AccountAddressRestrictionTransaction extends Transaction {
228229
return this.restrictionDeletions.map((deletion) => {
229230
return deletion instanceof NamespaceId ?
230231
TransactionService.getResolvedFromReceipt(ResolutionType.Address, deletion as NamespaceId,
231-
statement, transactionInfo.index, transactionInfo.height.toString()) as Address :
232+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as Address :
232233
deletion;
233234
});
234235
}),

src/model/transaction/AccountMosaicRestrictionTransaction.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,10 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
199199
/**
200200
* @internal
201201
* @param receiptHttp ReceiptHttp
202+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
202203
* @returns {Observable<AccountMosaicRestrictionTransaction>}
203204
*/
204-
resolveAliases(receiptHttp: ReceiptHttp): Observable<AccountMosaicRestrictionTransaction> {
205+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<AccountMosaicRestrictionTransaction> {
205206
const hasUnresolved = this.restrictionAdditions.find((mosaicId) => mosaicId instanceof NamespaceId) !== undefined ||
206207
this.restrictionDeletions.find((mosaicId) => mosaicId instanceof NamespaceId) !== undefined;
207208

@@ -217,7 +218,7 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
217218
return this.restrictionAdditions.map((addition) => {
218219
return addition instanceof NamespaceId ?
219220
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, addition as NamespaceId,
220-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId :
221+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId :
221222
addition;
222223
});
223224
}),
@@ -228,7 +229,7 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
228229
return this.restrictionDeletions.map((deletion) => {
229230
return deletion instanceof NamespaceId ?
230231
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, deletion as NamespaceId,
231-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId :
232+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId :
232233
deletion;
233234
});
234235
}),

src/model/transaction/AggregateTransaction.ts

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

17+
import { from, of } from 'rxjs';
1718
import { Observable } from 'rxjs/internal/Observable';
19+
import { map, mergeMap, toArray } from 'rxjs/operators';
1820
import {KeyPair, MerkleHashBuilder, SHA3Hasher, SignSchema} from '../../core/crypto';
1921
import {Convert} from '../../core/format';
2022
import {AggregateBondedTransactionBuilder} from '../../infrastructure/catbuffer/AggregateBondedTransactionBuilder';
@@ -41,8 +43,6 @@ import {Transaction} from './Transaction';
4143
import {TransactionInfo} from './TransactionInfo';
4244
import {TransactionType} from './TransactionType';
4345
import {TransactionVersion} from './TransactionVersion';
44-
import { of, from } from 'rxjs';
45-
import { map, mergeMap, toArray } from 'rxjs/operators';
4646

4747
/**
4848
* Aggregate innerTransactions contain multiple innerTransactions that can be initiated by different accounts.
@@ -410,8 +410,9 @@ export class AggregateTransaction extends Transaction {
410410
* @returns {Observable<AggregateTransaction>}
411411
*/
412412
resolveAliases(receiptHttp: ReceiptHttp): Observable<AggregateTransaction> {
413+
const transactionInfo = this.checkTransactionHeightAndIndex();
413414
return from(this.innerTransactions).pipe(
414-
mergeMap((transaction) => transaction.resolveAliases(receiptHttp)),
415+
mergeMap((transaction) => transaction.resolveAliases(receiptHttp, transactionInfo.index)),
415416
map((transaction) => transaction as InnerTransaction),
416417
toArray(),
417418
).pipe(

src/model/transaction/LockFundsTransaction.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,10 @@ export class LockFundsTransaction extends Transaction {
213213
/**
214214
* @internal
215215
* @param receiptHttp ReceiptHttp
216+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
216217
* @returns {Observable<LockFundsTransaction>}
217218
*/
218-
resolveAliases(receiptHttp: ReceiptHttp): Observable<LockFundsTransaction> {
219+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<LockFundsTransaction> {
219220
const hasUnresolved = this.mosaic.id instanceof NamespaceId;
220221

221222
if (!hasUnresolved) {
@@ -232,7 +233,8 @@ export class LockFundsTransaction extends Transaction {
232233
this.deadline,
233234
this.maxFee,
234235
new Mosaic(TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.mosaic.id as NamespaceId,
235-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId, this.mosaic.amount),
236+
statement, transactionInfo.index, transactionInfo.height.toString(),
237+
aggregateTransactionIndex) as MosaicId, this.mosaic.amount),
236238
this.duration,
237239
this.signedTransaction,
238240
this.signature,

src/model/transaction/MosaicAddressRestrictionTransaction.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,10 @@ export class MosaicAddressRestrictionTransaction extends Transaction {
244244
/**
245245
* @internal
246246
* @param receiptHttp ReceiptHttp
247+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
247248
* @returns {Observable<MosaicAddressRestrictionTransaction>}
248249
*/
249-
resolveAliases(receiptHttp: ReceiptHttp): Observable<MosaicAddressRestrictionTransaction> {
250+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<MosaicAddressRestrictionTransaction> {
250251
const hasUnresolved = this.targetAddress instanceof NamespaceId ||
251252
this.mosaicId instanceof NamespaceId;
252253

@@ -261,15 +262,15 @@ export class MosaicAddressRestrictionTransaction extends Transaction {
261262
const resolvedAddress = statementObservable.pipe(
262263
map((statement) => this.targetAddress instanceof NamespaceId ?
263264
TransactionService.getResolvedFromReceipt(ResolutionType.Address, this.targetAddress as NamespaceId,
264-
statement, transactionInfo.index, transactionInfo.height.toString()) as Address :
265+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as Address :
265266
this.targetAddress,
266267
),
267268
);
268269

269270
const resolvedMosaicId = statementObservable.pipe(
270271
map((statement) => this.mosaicId instanceof NamespaceId ?
271272
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.mosaicId as NamespaceId,
272-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId :
273+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId :
273274
this.mosaicId,
274275
),
275276
);

src/model/transaction/MosaicGlobalRestrictionTransaction.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,9 +253,10 @@ export class MosaicGlobalRestrictionTransaction extends Transaction {
253253
/**
254254
* @internal
255255
* @param receiptHttp ReceiptHttp
256+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
256257
* @returns {Observable<MosaicGlobalRestrictionTransaction>}
257258
*/
258-
resolveAliases(receiptHttp: ReceiptHttp): Observable<MosaicGlobalRestrictionTransaction> {
259+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<MosaicGlobalRestrictionTransaction> {
259260
const hasUnresolved = this.mosaicId instanceof NamespaceId ||
260261
this.referenceMosaicId instanceof NamespaceId;
261262

@@ -270,15 +271,15 @@ export class MosaicGlobalRestrictionTransaction extends Transaction {
270271
const resolvedMosaicId = statementObservable.pipe(
271272
map((statement) => this.mosaicId instanceof NamespaceId ?
272273
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.mosaicId as NamespaceId,
273-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId :
274+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId :
274275
this.mosaicId,
275276
),
276277
);
277278

278279
const resolvedRefMosaicId = statementObservable.pipe(
279280
map((statement) => this.referenceMosaicId instanceof NamespaceId ?
280281
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.referenceMosaicId as NamespaceId,
281-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId :
282+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId :
282283
this.referenceMosaicId,
283284
),
284285
);

src/model/transaction/MosaicMetadataTransaction.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,10 @@ export class MosaicMetadataTransaction extends Transaction {
219219
/**
220220
* @internal
221221
* @param receiptHttp ReceiptHttp
222+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
222223
* @returns {Observable<MosaicMetadataTransaction>}
223224
*/
224-
resolveAliases(receiptHttp: ReceiptHttp): Observable<MosaicMetadataTransaction> {
225+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<MosaicMetadataTransaction> {
225226
const hasUnresolved = this.targetMosaicId instanceof NamespaceId;
226227

227228
if (!hasUnresolved) {
@@ -241,7 +242,7 @@ export class MosaicMetadataTransaction extends Transaction {
241242
this.targetPublicKey,
242243
this.scopedMetadataKey,
243244
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.targetMosaicId as NamespaceId,
244-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId,
245+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId,
245246
this.valueSizeDelta,
246247
this.value,
247248
this.signature,

src/model/transaction/MosaicSupplyChangeTransaction.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,10 @@ export class MosaicSupplyChangeTransaction extends Transaction {
193193
/**
194194
* @internal
195195
* @param receiptHttp ReceiptHttp
196+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
196197
* @returns {Observable<MosaicSupplyChangeTransaction>}
197198
*/
198-
resolveAliases(receiptHttp: ReceiptHttp): Observable<MosaicSupplyChangeTransaction> {
199+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<MosaicSupplyChangeTransaction> {
199200
const hasUnresolved = this.mosaicId instanceof NamespaceId;
200201

201202
if (!hasUnresolved) {
@@ -214,7 +215,7 @@ export class MosaicSupplyChangeTransaction extends Transaction {
214215
this.deadline,
215216
this.maxFee,
216217
TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.mosaicId as NamespaceId,
217-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId,
218+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as MosaicId,
218219
this.action,
219220
this.delta,
220221
this.signature,

src/model/transaction/MultisigAccountModificationTransaction.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export class MultisigAccountModificationTransaction extends Transaction {
220220
/**
221221
* @internal
222222
* @param receiptHttp ReceiptHttp
223-
* @returns {Observable<MultisigAccountModificationTransaction>
223+
* @returns {Observable<MultisigAccountModificationTransaction>}
224224
*/
225225
resolveAliases(receiptHttp: ReceiptHttp): Observable<MultisigAccountModificationTransaction> {
226226
return of(this);

src/model/transaction/SecretLockTransaction.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,10 @@ export class SecretLockTransaction extends Transaction {
241241
/**
242242
* @internal
243243
* @param receiptHttp ReceiptHttp
244+
* @param aggregateTransactionIndex Transaction index for aggregated transaction
244245
* @returns {Observable<SecretLockTransaction>}
245246
*/
246-
resolveAliases(receiptHttp: ReceiptHttp): Observable<SecretLockTransaction> {
247+
resolveAliases(receiptHttp: ReceiptHttp, aggregateTransactionIndex?: number): Observable<SecretLockTransaction> {
247248
const hasUnresolved = this.recipientAddress instanceof NamespaceId ||
248249
this.mosaic.id instanceof NamespaceId;
249250

@@ -258,15 +259,16 @@ export class SecretLockTransaction extends Transaction {
258259
const resolvedRecipient = statementObservable.pipe(
259260
map((statement) => this.recipientAddress instanceof NamespaceId ?
260261
TransactionService.getResolvedFromReceipt(ResolutionType.Address, this.recipientAddress as NamespaceId,
261-
statement, transactionInfo.index, transactionInfo.height.toString()) as Address :
262+
statement, transactionInfo.index, transactionInfo.height.toString(), aggregateTransactionIndex) as Address :
262263
this.recipientAddress,
263264
),
264265
);
265266

266267
const resolvedMosaic = statementObservable.pipe(
267268
map((statement) => this.mosaic.id instanceof NamespaceId ?
268269
new Mosaic(TransactionService.getResolvedFromReceipt(ResolutionType.Mosaic, this.recipientAddress as NamespaceId,
269-
statement, transactionInfo.index, transactionInfo.height.toString()) as MosaicId, this.mosaic.amount) :
270+
statement, transactionInfo.index, transactionInfo.height.toString(),
271+
aggregateTransactionIndex) as MosaicId, this.mosaic.amount) :
270272
this.mosaic,
271273
),
272274
);

0 commit comments

Comments
 (0)