Skip to content

Commit c778de5

Browse files
author
Grégory Saive
authored
Merge pull request #70 from evias/master
Fixed MosaicDefinitionTransaction.create() to accept MosaicNonce and MosaicId
2 parents dbda900 + 2432217 commit c778de5

File tree

6 files changed

+28
-21
lines changed

6 files changed

+28
-21
lines changed

e2e/infrastructure/TransactionHttp.spec.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {Address} from '../../src/model/account/Address';
2626
import {PublicAccount} from '../../src/model/account/PublicAccount';
2727
import {NetworkType} from '../../src/model/blockchain/NetworkType';
2828
import {MosaicId} from '../../src/model/mosaic/MosaicId';
29+
import {MosaicNonce} from '../../src/model/mosaic/MosaicNonce';
2930
import {MosaicProperties} from '../../src/model/mosaic/MosaicProperties';
3031
import {MosaicSupplyType} from '../../src/model/mosaic/MosaicSupplyType';
3132
import {NetworkCurrencyMosaic} from '../../src/model/mosaic/NetworkCurrencyMosaic';
@@ -151,8 +152,8 @@ describe('TransactionHttp', () => {
151152
it('standalone', (done) => {
152153
const mosaicDefinitionTransaction = MosaicDefinitionTransaction.create(
153154
Deadline.create(),
154-
new Uint8Array([0xE6, 0xDE, 0x84, 0xB8]),
155-
UInt64.fromUint(1),
155+
new MosaicNonce(new Uint8Array([0xE6, 0xDE, 0x84, 0xB8])), // nonce
156+
new MosaicId(UInt64.fromUint(1).toDTO()), // ID
156157
MosaicProperties.create({
157158
supplyMutable: true,
158159
transferable: true,
@@ -170,8 +171,8 @@ describe('TransactionHttp', () => {
170171
it('aggregate', (done) => {
171172
const mosaicDefinitionTransaction = MosaicDefinitionTransaction.create(
172173
Deadline.create(),
173-
new Uint8Array([0xE6, 0xDE, 0x84, 0xB8]),
174-
UInt64.fromUint(1),
174+
new MosaicNonce(new Uint8Array([0xE6, 0xDE, 0x84, 0xB8])), // nonce
175+
new MosaicId(UInt64.fromUint(1).toDTO()), // ID
175176
MosaicProperties.create({
176177
supplyMutable: true,
177178
transferable: true,

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nem2-sdk",
3-
"version": "0.10.3-0",
3+
"version": "0.10.3-1",
44
"description": "Reactive Nem2 sdk for typescript and javascript",
55
"scripts": {
66
"pretest": "npm run build",

src/model/transaction/MosaicDefinitionTransaction.ts

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

17-
import { MosaicCreationTransaction as MosaicDefinitionTransactionLibrary, mosaicId as mosaicIdLibrary, VerifiableTransaction } from 'nem2-library';
17+
import {
18+
MosaicCreationTransaction as MosaicDefinitionTransactionLibrary,
19+
mosaicId as mosaicIdLibrary,
20+
VerifiableTransaction,
21+
} from 'nem2-library';
1822
import { PublicAccount } from '../account/PublicAccount';
1923
import { NetworkType } from '../blockchain/NetworkType';
2024
import { MosaicId } from '../mosaic/MosaicId';
@@ -37,23 +41,23 @@ export class MosaicDefinitionTransaction extends Transaction {
3741
/**
3842
* Create a mosaic creation transaction object
3943
* @param deadline - The deadline to include the transaction.
40-
* @param nonce - The mosaic nonce ex: [0xE6, 0xDE, 0x84, 0xB8].
41-
* @param mosaicId - The mosaic id ex: [481110499, 231112638].
44+
* @param nonce - The mosaic nonce ex: MosaicNonce.createRandom().
45+
* @param mosaicId - The mosaic id ex: new MosaicId([481110499, 231112638]).
4246
* @param mosaicProperties - The mosaic properties.
4347
* @param networkType - The network type.
4448
* @returns {MosaicDefinitionTransaction}
4549
*/
4650
public static create(deadline: Deadline,
47-
nonce: Uint8Array,
48-
mosaicId: UInt64,
51+
nonce: MosaicNonce,
52+
mosaicId: MosaicId,
4953
mosaicProperties: MosaicProperties,
5054
networkType: NetworkType): MosaicDefinitionTransaction {
5155
return new MosaicDefinitionTransaction(networkType,
5256
TransactionVersion.MOSAIC_DEFINITION,
5357
deadline,
5458
new UInt64([0, 0]),
55-
new MosaicNonce(nonce),
56-
new MosaicId(mosaicId.toDTO()),
59+
nonce,
60+
mosaicId,
5761
mosaicProperties,
5862
);
5963
}

test/model/transaction/AggregateTransaction.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {Address} from '../../../src/model/account/Address';
2222
import {PublicAccount} from '../../../src/model/account/PublicAccount';
2323
import {NetworkType} from '../../../src/model/blockchain/NetworkType';
2424
import {MosaicId} from '../../../src/model/mosaic/MosaicId';
25+
import {MosaicNonce} from '../../../src/model/mosaic/MosaicNonce';
2526
import {MosaicProperties} from '../../../src/model/mosaic/MosaicProperties';
2627
import {MosaicSupplyType} from '../../../src/model/mosaic/MosaicSupplyType';
2728
import {AggregateTransaction} from '../../../src/model/transaction/AggregateTransaction';
@@ -98,8 +99,8 @@ describe('AggregateTransaction', () => {
9899
it('should createComplete an AggregateTransaction object with MosaicDefinitionTransaction', () => {
99100
const mosaicDefinitionTransaction = MosaicDefinitionTransaction.create(
100101
Deadline.create(),
101-
new Uint8Array([0xE6, 0xDE, 0x84, 0xB8]), // nonce
102-
UInt64.fromUint(1), // ID
102+
new MosaicNonce(new Uint8Array([0xE6, 0xDE, 0x84, 0xB8])), // nonce
103+
new MosaicId(UInt64.fromUint(1).toDTO()), // ID
103104
MosaicProperties.create({
104105
supplyMutable: true,
105106
transferable: true,

test/model/transaction/MosaicDefinitionTransaction.spec.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import {expect} from 'chai';
1818
import {Account} from '../../../src/model/account/Account';
1919
import {NetworkType} from '../../../src/model/blockchain/NetworkType';
20+
import {MosaicId} from '../../../src/model/mosaic/MosaicId';
21+
import {MosaicNonce} from '../../../src/model/mosaic/MosaicNonce';
2022
import {MosaicProperties} from '../../../src/model/mosaic/MosaicProperties';
2123
import {Deadline} from '../../../src/model/transaction/Deadline';
2224
import {MosaicDefinitionTransaction} from '../../../src/model/transaction/MosaicDefinitionTransaction';
@@ -34,8 +36,8 @@ describe('MosaicDefinitionTransaction', () => {
3436
it('should createComplete an MosaicDefinitionTransaction object and sign it with flags 7', () => {
3537
const mosaicDefinitionTransaction = MosaicDefinitionTransaction.create(
3638
Deadline.create(),
37-
new Uint8Array([0xE6, 0xDE, 0x84, 0xB8]),
38-
UInt64.fromUint(1),
39+
new MosaicNonce(new Uint8Array([0xE6, 0xDE, 0x84, 0xB8])), // nonce
40+
new MosaicId(UInt64.fromUint(1).toDTO()), // ID
3941
MosaicProperties.create({
4042
supplyMutable: true,
4143
transferable: true,
@@ -64,11 +66,10 @@ describe('MosaicDefinitionTransaction', () => {
6466

6567
it('should createComplete an MosaicDefinitionTransaction object and sign it with flags 0', () => {
6668

67-
const nonce = [0xE6, 0xDE, 0x84, 0xB8];
6869
const mosaicDefinitionTransaction = MosaicDefinitionTransaction.create(
6970
Deadline.create(),
70-
new Uint8Array(nonce),
71-
UInt64.fromUint(mosaicId(nonce, convert.hexToUint8(account.publicKey))),
71+
new MosaicNonce(new Uint8Array([0xE6, 0xDE, 0x84, 0xB8])), // nonce
72+
new MosaicId(UInt64.fromUint(1).toDTO()), // ID
7273
MosaicProperties.create({
7374
supplyMutable: false,
7475
transferable: false,
@@ -91,7 +92,7 @@ describe('MosaicDefinitionTransaction', () => {
9192
expect(signedTransaction.payload.substring(
9293
240,
9394
signedTransaction.payload.length,
94-
)).to.be.equal('E6DE84B8000000000000000001000302E803000000000000');
95+
)).to.be.equal('E6DE84B8010000000000000001000302E803000000000000');
9596

9697
});
9798
});

0 commit comments

Comments
 (0)