Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions e2e/infrastructure/TransactionHttp.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -606,7 +606,7 @@ describe('TransactionHttp', () => {

listener.confirmed(account.address).subscribe((transaction: AccountAddressRestrictionTransaction) => {
expect(transaction.modifications, 'Modifications').not.to.be.undefined;
expect(transaction.modifications[0].modificationType, 'Modifications.ModificationType').not.to.be.undefined;
expect(transaction.modifications[0].modificationAction, 'Modifications.ModificationAction').not.to.be.undefined;
expect(transaction.modifications[0].value, 'Modifications.Value').not.to.be.undefined;
expect(transaction.restrictionType, 'RestrictionType').not.to.be.undefined;
done();
Expand Down Expand Up @@ -682,7 +682,7 @@ describe('TransactionHttp', () => {

listener.confirmed(account.address).subscribe((transaction: AccountAddressRestrictionTransaction) => {
expect(transaction.modifications, 'Modifications').not.to.be.undefined;
expect(transaction.modifications[0].modificationType, 'Modifications.ModificationType').not.to.be.undefined;
expect(transaction.modifications[0].modificationAction, 'Modifications.ModificationAction').not.to.be.undefined;
expect(transaction.modifications[0].value, 'Modifications.Value').not.to.be.undefined;
expect(transaction.restrictionType, 'RestrictionType').not.to.be.undefined;
done();
Expand Down Expand Up @@ -757,7 +757,7 @@ describe('TransactionHttp', () => {

listener.confirmed(account.address).subscribe((transaction: AccountMosaicRestrictionTransaction) => {
expect(transaction.modifications, 'Modifications').not.to.be.undefined;
expect(transaction.modifications[0].modificationType, 'Modifications.ModificationType').not.to.be.undefined;
expect(transaction.modifications[0].modificationAction, 'Modifications.ModificationAction').not.to.be.undefined;
expect(transaction.modifications[0].value, 'Modifications.Value').not.to.be.undefined;
expect(transaction.restrictionType, 'RestrictionType').not.to.be.undefined;
done();
Expand Down Expand Up @@ -832,7 +832,7 @@ describe('TransactionHttp', () => {

listener.confirmed(account3.address).subscribe((transaction: AccountOperationRestrictionTransaction) => {
expect(transaction.modifications, 'Modifications').not.to.be.undefined;
expect(transaction.modifications[0].modificationType, 'Modifications.ModificationType').not.to.be.undefined;
expect(transaction.modifications[0].modificationAction, 'Modifications.ModificationAction').not.to.be.undefined;
expect(transaction.modifications[0].value, 'Modifications.Value').not.to.be.undefined;
expect(transaction.restrictionType, 'RestrictionType').not.to.be.undefined;
done();
Expand Down Expand Up @@ -908,7 +908,7 @@ describe('TransactionHttp', () => {

listener.confirmed(account3.address).subscribe((transaction: AccountOperationRestrictionTransaction) => {
expect(transaction.modifications, 'Modifications').not.to.be.undefined;
expect(transaction.modifications[0].modificationType, 'Modifications.ModificationType').not.to.be.undefined;
expect(transaction.modifications[0].modificationAction, 'Modifications.ModificationAction').not.to.be.undefined;
expect(transaction.modifications[0].value, 'Modifications.Value').not.to.be.undefined;
expect(transaction.restrictionType, 'RestrictionType').not.to.be.undefined;
done();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@ describe('CreateTransactionFromDTO', () => {
modifications: [
{
cosignatoryPublicKey: '76C1622C7FB58986E500228E8FFB30C606CAAFC1CD78E770E82C73DAB7BD7C9F',
modificiationType: 0,
modificationAction: 0,
},
],
signature: '553E696EB4A54E43A11D180EBA57E4B89D0048C9DD2604A9E0608120018B9E0' +
Expand Down Expand Up @@ -566,7 +566,7 @@ describe('CreateTransactionFromDTO', () => {
{
cosignatoryPublicKey: '589B73FBC22063E9AE6FBAC67CB9C6EA865EF556E5' +
'FB8B7310D45F77C1250B97',
modificiationType: 0,
modificationAction: 0,
},
],
signerPublicKey: 'B4F12E7C9F6946091E2CB8B6D3A12B50D17CCBBF646386EA27CE2946A7423DCF',
Expand Down
2 changes: 1 addition & 1 deletion e2e/infrastructure/transaction/ValidateTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ const ValidateTransaction = {
.to.be.equal(modifyMultisigAccountTransactionDTO.transaction.minRemovalDelta);

deepEqual(modifyMultisigAccountTransaction.modifications[0], new MultisigCosignatoryModification(
modifyMultisigAccountTransactionDTO.transaction.modifications[0].modificiationType,
modifyMultisigAccountTransactionDTO.transaction.modifications[0].modificationAction,
PublicAccount.createFromPublicKey(modifyMultisigAccountTransactionDTO.transaction.modifications[0].cosignatoryPublicKey,
NetworkType.MIJIN_TEST),
),
Expand Down
2 changes: 1 addition & 1 deletion src/infrastructure/Listener.ts
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ export class Listener {
private accountAddedToMultiSig(transaction: Transaction, address: Address): boolean {
if (transaction instanceof MultisigAccountModificationTransaction) {
return transaction.modifications.find((_: MultisigCosignatoryModification) =>
_.modificiationType === CosignatoryModificationAction.Add &&
_.modificationAction === CosignatoryModificationAction.Add &&
_.cosignatoryPublicAccount.address.equals(address)) !== undefined;
}
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/infrastructure/transaction/CreateTransactionFromDTO.ts
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ const CreateStandaloneTransactionFromDTO = (transactionDTO, transactionInfo): Tr
transactionDTO.minApprovalDelta,
transactionDTO.minRemovalDelta,
transactionDTO.modifications ? transactionDTO.modifications.map((modificationDTO) => new MultisigCosignatoryModification(
modificationDTO.modificiationType,
modificationDTO.modificationAction,
PublicAccount.createFromPublicKey(modificationDTO.cosignatoryPublicKey, extractNetworkType(transactionDTO.version)),
)) : [],
transactionDTO.signature,
Expand Down
6 changes: 3 additions & 3 deletions src/model/transaction/AccountAddressRestrictionTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export class AccountAddressRestrictionTransaction extends Transaction {
const byteModificationCount = 1;

// each modification contains :
// - 1 byte for modificationType
// - 1 byte for modificationAction
// - 25 bytes for the modification value (address)
const byteModifications = 26 * this.modifications.length;

Expand All @@ -154,7 +154,7 @@ export class AccountAddressRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountAddressRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
new UnresolvedAddressDto(RawAddress.stringToAddress(modification.value)),
);
}),
Expand All @@ -174,7 +174,7 @@ export class AccountAddressRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountAddressRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
new UnresolvedAddressDto(RawAddress.stringToAddress(modification.value)),
);
}),
Expand Down
3 changes: 2 additions & 1 deletion src/model/transaction/AccountMetadataTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,10 @@ export class AccountMetadataTransaction extends Transaction {
const targetPublicKey = 32;
const byteScopedMetadataKey = 8;
const byteValueSizeDelta = 2;
const valueSize = 2;

return byteSize + targetPublicKey + byteScopedMetadataKey +
byteValueSizeDelta + this.value.length;
byteValueSizeDelta + valueSize + this.value.length;
}

/**
Expand Down
6 changes: 3 additions & 3 deletions src/model/transaction/AccountMosaicRestrictionTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
const byteModificationCount = 1;

// each modification contains :
// - 1 byte for modificationType
// - 1 byte for modificationAction
// - 8 bytes for the modification value (mosaicId)
const byteModifications = 9 * this.modifications.length;

Expand All @@ -154,7 +154,7 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountMosaicRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
new UnresolvedMosaicIdDto(modification.value),
);
}),
Expand All @@ -174,7 +174,7 @@ export class AccountMosaicRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountMosaicRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
new UnresolvedMosaicIdDto(modification.value),
);
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ export class AccountOperationRestrictionTransaction extends Transaction {
const byteModificationCount = 1;

// each modification contains :
// - 1 byte for modificationType
// - 1 byte for modificationAction
// - 2 bytes for the modification value (transaction type)
const byteModifications = 3 * this.modifications.length;

Expand All @@ -155,7 +155,7 @@ export class AccountOperationRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountOperationRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
modification.value.valueOf(),
);
}),
Expand All @@ -175,7 +175,7 @@ export class AccountOperationRestrictionTransaction extends Transaction {
this.restrictionType.valueOf(),
this.modifications.map((modification) => {
return new AccountOperationRestrictionModificationBuilder(
modification.modificationType.valueOf(),
modification.modificationAction.valueOf(),
modification.value.valueOf(),
);
}),
Expand Down
24 changes: 12 additions & 12 deletions src/model/transaction/AccountRestrictionModification.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ export class AccountRestrictionModification<T> {

/**
* Constructor
* @param modificationType
* @param modificationAction
* @param value
*/
constructor(
/**
* Modification type.
*/
public readonly modificationType: AccountRestrictionModificationAction,
public readonly modificationAction: AccountRestrictionModificationAction,
/**
* Modification value (Address, Mosaic or Transaction Type).
*/
Expand All @@ -40,34 +40,34 @@ export class AccountRestrictionModification<T> {

/**
* Create an address filter for account restriction modification
* @param modificationType - modification type. 0: Add, 1: Remove
* @param modificationAction - modification type. 0: Add, 1: Remove
* @param value - modification value (Address)
* @returns {AccountRestrictionModification}
*/
public static createForAddress(modificationType: AccountRestrictionModificationAction,
public static createForAddress(modificationAction: AccountRestrictionModificationAction,
value: Address): AccountRestrictionModification<string> {
return new AccountRestrictionModification<string>(modificationType, value.plain());
return new AccountRestrictionModification<string>(modificationAction, value.plain());
}
/**
* Create an mosaic filter for account restriction modification
* @param modificationType - modification type. 0: Add, 1: Remove
* @param modificationAction - modification type. 0: Add, 1: Remove
* @param value - modification value (Mosaic)
* @returns {AccountRestrictionModification}
*/
public static createForMosaic(modificationType: AccountRestrictionModificationAction,
public static createForMosaic(modificationAction: AccountRestrictionModificationAction,
value: MosaicId): AccountRestrictionModification<number[]> {
return new AccountRestrictionModification<number[]>(modificationType, value.id.toDTO());
return new AccountRestrictionModification<number[]>(modificationAction, value.id.toDTO());
}

/**
* Create an operation filter for account restriction modification
* @param modificationType - modification type. 0: Add, 1: Remove
* @param modificationAction - modification type. 0: Add, 1: Remove
* @param operation - modification value (Transaction Type)
* @returns {AccountRestrictionModification}
*/
public static createForOperation(modificationType: AccountRestrictionModificationAction,
public static createForOperation(modificationAction: AccountRestrictionModificationAction,
value: number): AccountRestrictionModification<TransactionType> {
return new AccountRestrictionModification<TransactionType>(modificationType, value);
return new AccountRestrictionModification<TransactionType>(modificationAction, value);
}

/**
Expand All @@ -76,7 +76,7 @@ export class AccountRestrictionModification<T> {
toDTO() {
return {
value: this.value,
modificationAction: this.modificationType,
modificationAction: this.modificationAction,
};
}
}
65 changes: 33 additions & 32 deletions src/model/transaction/AggregateTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,30 @@
* limitations under the License.
*/

import { KeyPair, SHA3Hasher } from '../../core/crypto';
import { Convert } from '../../core/format';
import { AggregateBondedTransactionBuilder } from '../../infrastructure/catbuffer/AggregateBondedTransactionBuilder';
import { AggregateCompleteTransactionBuilder } from '../../infrastructure/catbuffer/AggregateCompleteTransactionBuilder';
import { AmountDto } from '../../infrastructure/catbuffer/AmountDto';
import { CosignatureBuilder } from '../../infrastructure/catbuffer/CosignatureBuilder';
import { GeneratorUtils } from '../../infrastructure/catbuffer/GeneratorUtils';
import { KeyDto } from '../../infrastructure/catbuffer/KeyDto';
import { SignatureDto } from '../../infrastructure/catbuffer/SignatureDto';
import { TimestampDto } from '../../infrastructure/catbuffer/TimestampDto';
import { CreateTransactionFromPayload } from '../../infrastructure/transaction/CreateTransactionFromPayload';
import { Account } from '../account/Account';
import { PublicAccount } from '../account/PublicAccount';
import { NetworkType } from '../blockchain/NetworkType';
import { UInt64 } from '../UInt64';
import { AggregateTransactionCosignature } from './AggregateTransactionCosignature';
import { CosignatureSignedTransaction } from './CosignatureSignedTransaction';
import { Deadline } from './Deadline';
import { InnerTransaction } from './InnerTransaction';
import { SignedTransaction } from './SignedTransaction';
import { Transaction } from './Transaction';
import { TransactionInfo } from './TransactionInfo';
import { TransactionType } from './TransactionType';
import { TransactionVersion } from './TransactionVersion';
import {KeyPair, SHA3Hasher} from '../../core/crypto';
import {Convert} from '../../core/format';
import {AggregateBondedTransactionBuilder} from '../../infrastructure/catbuffer/AggregateBondedTransactionBuilder';
import {AggregateCompleteTransactionBuilder} from '../../infrastructure/catbuffer/AggregateCompleteTransactionBuilder';
import {AmountDto} from '../../infrastructure/catbuffer/AmountDto';
import {CosignatureBuilder} from '../../infrastructure/catbuffer/CosignatureBuilder';
import {GeneratorUtils} from '../../infrastructure/catbuffer/GeneratorUtils';
import {KeyDto} from '../../infrastructure/catbuffer/KeyDto';
import {SignatureDto} from '../../infrastructure/catbuffer/SignatureDto';
import {TimestampDto} from '../../infrastructure/catbuffer/TimestampDto';
import {CreateTransactionFromPayload} from '../../infrastructure/transaction/CreateTransactionFromPayload';
import {Account} from '../account/Account';
import {PublicAccount} from '../account/PublicAccount';
import {NetworkType} from '../blockchain/NetworkType';
import {UInt64} from '../UInt64';
import {AggregateTransactionCosignature} from './AggregateTransactionCosignature';
import {CosignatureSignedTransaction} from './CosignatureSignedTransaction';
import {Deadline} from './Deadline';
import {InnerTransaction} from './InnerTransaction';
import {SignedTransaction} from './SignedTransaction';
import {Transaction} from './Transaction';
import {TransactionInfo} from './TransactionInfo';
import {TransactionType} from './TransactionType';
import {TransactionVersion} from './TransactionVersion';

/**
* Aggregate innerTransactions contain multiple innerTransactions that can be initiated by different accounts.
Expand Down Expand Up @@ -158,10 +158,10 @@ export class AggregateTransaction extends Transaction {
*/
const consignatureArray = consignaturesHex.match(/.{1,192}/g);
const consignatures = consignatureArray ? consignatureArray.map((cosignature) =>
new AggregateTransactionCosignature(
cosignature.substring(64, 192),
PublicAccount.createFromPublicKey(cosignature.substring(0, 64), networkType),
)) : [];
new AggregateTransactionCosignature(
cosignature.substring(64, 192),
PublicAccount.createFromPublicKey(cosignature.substring(0, 64), networkType),
)) : [];

return type === TransactionType.AGGREGATE_COMPLETE ?
AggregateTransaction.createComplete(
Expand Down Expand Up @@ -222,7 +222,7 @@ export class AggregateTransaction extends Transaction {

signedPayload = littleEndianSize + signedPayload.substr(8, signedPayload.length - 8);
return new SignedTransaction(signedPayload, signedTransaction.hash, initiatorAccount.publicKey,
this.type, this.networkType);
this.type, this.networkType);
}

/**
Expand Down Expand Up @@ -251,7 +251,7 @@ export class AggregateTransaction extends Transaction {

signedPayload = littleEndianSize + signedPayload.substr(8, signedPayload.length - 8);
return new SignedTransaction(signedPayload, signedTransaction.hash, initiatorAccount.publicKey,
this.type, this.networkType);
this.type, this.networkType);
}

/**
Expand Down Expand Up @@ -279,10 +279,11 @@ export class AggregateTransaction extends Transaction {
// calculate each inner transaction's size
let byteTransactions = 0;
this.innerTransactions.map((transaction) => {
byteTransactions += transaction.size;
byteTransactions += (transaction.size - 80);
});

return byteSize + byteTransactionsSize + byteTransactions;
const byteCosignatures = this.cosignatures.length * 96;
return byteSize + byteTransactionsSize + byteTransactions + byteCosignatures;
}

/**
Expand Down
Loading