Skip to content

Commit

Permalink
Merge branch 'main' of github.com:nemtech/symbol-sdk-typescript-javas…
Browse files Browse the repository at this point in the history
…cript into main
  • Loading branch information
rg911 committed Oct 24, 2020
2 parents d29973f + dfe3b1a commit b1a555a
Show file tree
Hide file tree
Showing 92 changed files with 1,077 additions and 1,000 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ Client Library | v0.7.20-alpha.6 | [nem2-sdk-openapi-typescript-node-client](ht
- Fixed http repository `error handling` issues.
- Fixed bugs in `Alias` interface.
- Fixed `MosaicId significant byte` not detected properly in TransactionPayload.
- Fixed only `MIJIN_TEST` network type allowed in NetworkTypeHttp.
- Fixed only `PRIVATE_TEST` network type allowed in NetworkTypeHttp.
- Applied latest OpenAPI doc (`v0.7.19`).
- Changed `SignedTransaction` class constructor to public.
- Changed `MosaicRestrictionKey` format to be Hexadecimal.
Expand Down
4 changes: 2 additions & 2 deletions e2e/infrastructure/PersistentHarvesting.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ describe('PersistentHarvesting', () => {

const vrfKeyPair = Account.createFromPrivateKey(
'82798EA9A2D2D202AFCCC82C40A287780BCA3C7F7A2FD5B754832804C6BE1BAA',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

before(() => {
Expand Down Expand Up @@ -113,7 +113,7 @@ describe('PersistentHarvesting', () => {
remoteAccount.privateKey,
vrfKeyPair.privateKey,
'cfd84eca83508bbee954668e4aecca736caefa615367da76afe6985d695381db',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
helper.maxFee,
);

Expand Down
6 changes: 5 additions & 1 deletion src/model/account/Address.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ export class Address {
networkType = NetworkType.TEST_NET;
} else if (addressTrimAndUpperCase.charAt(0) === 'N') {
networkType = NetworkType.MAIN_NET;
} else if (addressTrimAndUpperCase.charAt(0) === 'P') {
networkType = NetworkType.PRIVATE;
} else if (addressTrimAndUpperCase.charAt(0) === 'Q') {
networkType = NetworkType.PRIVATE_TEST;
} else {
throw new Error('Address Network unsupported');
}
Expand All @@ -69,7 +73,7 @@ export class Address {

/**
* Determines the validity of an raw address string.
* @param {string} rawAddress The raw address string. Expected format SATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA34I2PMQ
* @param {string} rawAddress The raw address string. Expected format QATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA367I6OQ
* @returns {boolean} true if the raw address string is valid, false otherwise.
*/
public static isValidRawAddress = (rawAddress: string): boolean => {
Expand Down
10 changes: 10 additions & 0 deletions src/model/network/NetworkType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,14 @@ export enum NetworkType {
* @type {number}
*/
MIJIN_TEST = 0x90,
/**
* Private net network
* @type {number}
*/
PRIVATE = 0x78,
/**
* Private test net network
* @type {number}
*/
PRIVATE_TEST = 0x80,
}
4 changes: 3 additions & 1 deletion src/model/transaction/AggregateTransaction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -409,8 +409,10 @@ export class AggregateTransaction extends Transaction {
}
// Check if current cosignature count is greater than requiredCosignatures.
const calculatedCosignatures = requiredCosignatures > this.cosignatures.length ? requiredCosignatures : this.cosignatures.length;
// version + public key + signature
const sizePerCosignature = 8 + 32 + 64;
// Remove current cosignature length and use the calculated one.
const calculatedSize = this.size - this.cosignatures.length * 96 + calculatedCosignatures * 96;
const calculatedSize = this.size - this.cosignatures.length * sizePerCosignature + calculatedCosignatures * sizePerCosignature;
return DtoMapping.assign(this, {
maxFee: UInt64.fromUint(calculatedSize * feeMultiplier),
});
Expand Down
10 changes: 5 additions & 5 deletions test/conf/conf.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,27 @@ import { NetworkType } from '../../src/model/network/NetworkType';

export const TestingAccount = Account.createFromPrivateKey(
'26b64cb10f005e5988a36744ca19e20d835ccc7c105aaa5f3b212da593180930',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

export const MultisigAccount = Account.createFromPrivateKey(
'5edebfdbeb32e9146d05ffd232c8af2cf9f396caf9954289daa0362d097fff3b',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

export const CosignatoryAccount = Account.createFromPrivateKey(
'2a2b1f5d366a5dd5dc56c3c757cf4fe6c66e2787087692cf329d7a49a594658b',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

export const Cosignatory2Account = Account.createFromPrivateKey(
'b8afae6f4ad13a1b8aad047b488e0738a437c7389d4ff30c359ac068910c1d59',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

export const Cosignatory3Account = Account.createFromPrivateKey(
'111602be4d36f92dd60ca6a3c68478988578f26f6a02f8c72089839515ab603e',
NetworkType.MIJIN_TEST,
NetworkType.PRIVATE_TEST,
);

export const NIS2_URL = 'http://localhost:3000';
154 changes: 80 additions & 74 deletions test/core/format/IdGenerator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,100 +40,106 @@ const mosaicTestVector = [
mosaicNonce: 2039925808,
address_Public: 'NATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA34SQ33Y',
address_PublicTest: 'TATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA37JGO5Q',
address_Mijin: 'MATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA34YACRA',
address_MijinTest: 'SATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA34I2PMQ',
address_Private: 'PATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA35OETNI',
address_PrivateTest: 'QATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA367I6OQ',
mosaicId_Public: '044C577DBDD6DC71',
mosaicId_PublicTest: '1796754FB181EF1E',
mosaicId_Mijin: '7DCEDD54DAEDF7B7',
mosaicId_MijinTest: '5BCD295FC8801FE6',
mosaicId_Private: '2DE5561540AAA72C',
mosaicId_PrivateTest: '123F8027103B6A36',
},
{
mosaicNonce: 1477337076,
address_Public: 'NDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2YCZOQQ',
address_PublicTest: 'TDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2YBO3KA',
address_Mijin: 'MDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL22B27FI',
address_MijinTest: 'SDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2Z5UYYY',
address_Private: 'PDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2ZMEBFQ',
address_PrivateTest: 'QDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL22JZIXY',
mosaicId_Public: '7E45A001465DEEA0',
mosaicId_PublicTest: '5E55573E3EBBB596',
mosaicId_Mijin: '0D47486978FA4316',
mosaicId_MijinTest: '55595BF89461E7C1',
mosaicId_Private: '2F6D0DA76516DA99',
mosaicId_PrivateTest: '3FAA7C57FDE45D34',
},
{
mosaicNonce: 1921674920,
address_Public: 'NCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRH6SYIQ',
address_PublicTest: 'TCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRE3VIBQ',
address_Mijin: 'MCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRFDHL7I',
address_MijinTest: 'SCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRFENHXQ',
address_Private: 'PCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTREWK33Q',
address_PrivateTest: 'QCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTREIM2RQ',
mosaicId_Public: '28E680397FDD9336',
mosaicId_PublicTest: '2F05C98474E9B263',
mosaicId_Mijin: '51B440266AE7F5B4',
mosaicId_MijinTest: '5693742C8290F33E',
mosaicId_Private: '686E0DC244F5093D',
mosaicId_PrivateTest: '687F166E062368CC',
},
{
mosaicNonce: 737150288,
address_Public: 'NDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWFDDCHA',
address_PublicTest: 'TDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWEPHRSI',
address_Mijin: 'MDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWFN3NKY',
address_MijinTest: 'SDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWH6N46A',
mosaicId_Public: '75FAE31C9E1CEE38',
mosaicId_PublicTest: '35C831D2A6D9702B',
mosaicId_Mijin: '0476D83DF29A0426',
mosaicId_MijinTest: '4F5597E18C0182BC',
mosaicNonce: 812613930,
publicKey: '2E834140FD66CF87B254A693A2C7862C819217B676D3943267156625E816EC6F',
address_Public: 'NATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA34SQ33Y',
address_PublicTest: 'TATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA37JGO5Q',
address_Private: 'PATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA35OETNI',
address_PrivateTest: 'QATNE7Q5BITMUTRRN6IB4I7FLSDRDWZA367I6OQ',
mosaicId_Public: '296994F01121AFC9',
mosaicId_PublicTest: '570FB3ED9379624C',
mosaicId_Private: '09557FCB9DAB83DC',
mosaicId_PrivateTest: '64B6C017D5535A6F',
},
{
mosaicNonce: 4118830514,
address_Public: 'NDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QAZ4BMQ',
address_PublicTest: 'TDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QCY5ZUA',
address_Mijin: 'MDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QCLCVEA',
address_MijinTest: 'SDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QDVZG2I',
mosaicId_Public: '656748D5F82E87A1',
mosaicId_PublicTest: '1CB636C5A32F0293',
mosaicId_Mijin: '35C2901E25DCF921',
mosaicId_MijinTest: '18FF3D8F9FA932D4',
mosaicNonce: 1456792364,
publicKey: '4875FD2E32875D1BC6567745F1509F0F890A1BF8EE59FA74452FA4183A270E03',
address_Public: 'NDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2YCZOQQ',
address_PublicTest: 'TDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2YBO3KA',
address_Private: 'PDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL2ZMEBFQ',
address_PrivateTest: 'QDR6EW2WBHJQDYMNGFX2UBZHMMZC5PGL22JZIXY',
mosaicId_Public: '14AA6D651D9081B4',
mosaicId_PublicTest: '3A334999B5C56073',
mosaicId_Private: '6D6DEB080F52932A',
mosaicId_PrivateTest: '01AD1589A9461E6F',
},
{
mosaicNonce: 2640226657,
address_Public: 'NAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4SCMOAI',
address_PublicTest: 'TAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4RTFBQY',
address_Mijin: 'MAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4TEKNHA',
address_MijinTest: 'SAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4RYAIEA',
mosaicId_Public: '3840F6C79934A159',
mosaicId_PublicTest: '5B0FFAA57C41D62E',
mosaicId_Mijin: '11BA1D842237D52B',
mosaicId_MijinTest: '0585182BF5BC7B57',
mosaicNonce: 2843362027,
publicKey: '9F780097FB6A1F287ED2736A597B8EA7F08D20F1ECDB9935DE6694ECF1C58900',
address_Public: 'NCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRH6SYIQ',
address_PublicTest: 'TCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTRE3VIBQ',
address_Private: 'PCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTREWK33Q',
address_PrivateTest: 'QCOXVZMAZJTT4I3F7EAZYGNGR77D6WPTREIM2RQ',
mosaicId_Public: '4A0C3A1CA50F2CFC',
mosaicId_PublicTest: '23CE1EAEBE30195A',
mosaicId_Private: '4CC83B59753ED5FD',
mosaicId_PrivateTest: '39C7DB9631F5FE3F',
},
{
mosaicNonce: 1996615061,
address_Public: 'NBEOZ72O73OYXFDLID5KGBMP67MROHONPQHVKAI',
address_PublicTest: 'TBEOZ72O73OYXFDLID5KGBMP67MROHONPR72UPQ',
address_Mijin: 'MBEOZ72O73OYXFDLID5KGBMP67MROHONPTHVSXQ',
address_MijinTest: 'SBEOZ72O73OYXFDLID5KGBMP67MROHONPTACBLI',
mosaicId_Public: '5AA0FF3892EF3345',
mosaicId_PublicTest: '79BD9AF30668FBDF',
mosaicId_Mijin: '0F8D3270B8ADDF77',
mosaicId_MijinTest: '092E4A9D08A9C1C5',
mosaicNonce: 1686841592,
publicKey: '0815926E003CDD5AF0113C0E067262307A42CD1E697F53B683F7E5F9F57D72C9',
address_Public: 'NDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWFDDCHA',
address_PublicTest: 'TDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWEPHRSI',
address_Private: 'PDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWELJG3Y',
address_PrivateTest: 'QDZ4373ASEGJ7S7GQTKF26TIIMC7HK5EWESE7PY',
mosaicId_Public: '75A9C882F9A89606',
mosaicId_PublicTest: '748A1BD01A40DCF8',
mosaicId_Private: '2397BBB964A3ACCB',
mosaicId_PrivateTest: '1E93C145FA44F966',
},
{
mosaicNonce: 205824978,
address_Public: 'NAMJCSC2BEW52LVAULFRRJJTSRHLI7ABRG2X5RI',
address_PublicTest: 'TAMJCSC2BEW52LVAULFRRJJTSRHLI7ABRHFJZ5I',
address_Mijin: 'MAMJCSC2BEW52LVAULFRRJJTSRHLI7ABRG7GL5A',
address_MijinTest: 'SAMJCSC2BEW52LVAULFRRJJTSRHLI7ABRGLZY6A',
mosaicId_Public: '3AB75AF98A5E0365',
mosaicId_PublicTest: '3494FFAE1F6B2B4D',
mosaicId_Mijin: '3DF5D3B47E956692',
mosaicId_MijinTest: '4AA757991E36C79C',
mosaicNonce: 4206379750,
publicKey: '3683B3E45E76870CFE076E47C2B34CE8E3EAEC26C8AA7C1ED752E3E840AF8A27',
address_Public: 'NDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QAZ4BMQ',
address_PublicTest: 'TDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QCY5ZUA',
address_Private: 'PDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QAAJTUI',
address_PrivateTest: 'QDI5I7Z3BRBAAHTZHGONGOXX742CW4W5QDQKH7Y',
mosaicId_Public: '3E949FBC6D09833D',
mosaicId_PublicTest: '40B85E3227EE56A0',
mosaicId_Private: '5A0D55D5D2F104F9',
mosaicId_PrivateTest: '59C829B71AB2A92F',
},
{
mosaicNonce: 3310277026,
address_Public: 'NCOVTFVVDZGNURZFU4IJLJR37X5TXNWMTSEHR6I',
address_PublicTest: 'TCOVTFVVDZGNURZFU4IJLJR37X5TXNWMTTXN3DI',
address_Mijin: 'MCOVTFVVDZGNURZFU4IJLJR37X5TXNWMTTARXZQ',
address_MijinTest: 'SCOVTFVVDZGNURZFU4IJLJR37X5TXNWMTSJ6YWY',
mosaicId_Public: '213E6E2EC43285C4',
mosaicId_PublicTest: '659C0D4A03D119D2',
mosaicId_Mijin: '756AC167798FA3DF',
mosaicId_MijinTest: '164D3F56862E9520',
mosaicNonce: 2539328334,
publicKey: '4F593111964B37A9CAC59D2A70BC959AE9269589B75FBD640145EB0038960540',
address_Public: 'NAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4SCMOAI',
address_PublicTest: 'TAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4RTFBQY',
address_Private: 'PAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4QVXSZQ',
address_PrivateTest: 'QAA6RO4ZAPEDGTCVADE3G4C7SWAE3DBQ4SFZ2DY',
mosaicId_Public: '1B5FFAEBF3C9602A',
mosaicId_PublicTest: '503EBA0288209C64',
mosaicId_Private: '41CF06028C230DF4',
mosaicId_PrivateTest: '11DD950C45CA34AE',
},
];

Expand Down Expand Up @@ -193,8 +199,8 @@ describe('id generator', () => {
mosaicTestVector.map((row) => {
const addressPublic = Address.createFromRawAddress(row.address_Public);
const addressTest = Address.createFromRawAddress(row.address_PublicTest);
const addressMijin = Address.createFromRawAddress(row.address_Mijin);
const addressMijinTest = Address.createFromRawAddress(row.address_MijinTest);
const addressPrivate = Address.createFromRawAddress(row.address_Private);
const addressPrivateTest = Address.createFromRawAddress(row.address_PrivateTest);

// Assert:
expect(
Expand All @@ -206,13 +212,13 @@ describe('id generator', () => {
'PublicTest',
).to.deep.equal(row.mosaicId_PublicTest);
expect(
MosaicId.createFromNonce(MosaicNonce.createFromNumber(row.mosaicNonce), addressMijin).toHex(),
'Mijin',
).to.deep.equal(row.mosaicId_Mijin);
MosaicId.createFromNonce(MosaicNonce.createFromNumber(row.mosaicNonce), addressPrivate).toHex(),
'Private',
).to.deep.equal(row.mosaicId_Private);
expect(
MosaicId.createFromNonce(MosaicNonce.createFromNumber(row.mosaicNonce), addressMijinTest).toHex(),
'MijinTest',
).to.deep.equal(row.mosaicId_MijinTest);
MosaicId.createFromNonce(MosaicNonce.createFromNumber(row.mosaicNonce), addressPrivateTest).toHex(),
'PrivateTest',
).to.deep.equal(row.mosaicId_PrivateTest);
});
});
});
Expand Down
Loading

0 comments on commit b1a555a

Please sign in to comment.