diff --git a/e2e/infrastructure/AccountHttp.spec.ts b/e2e/infrastructure/AccountHttp.spec.ts index 5f8d79d5fc..8ec542f0f2 100644 --- a/e2e/infrastructure/AccountHttp.spec.ts +++ b/e2e/infrastructure/AccountHttp.spec.ts @@ -23,11 +23,11 @@ import { QueryParams } from '../../src/infrastructure/QueryParams'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; import { PublicAccount } from '../../src/model/account/PublicAccount'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; diff --git a/e2e/infrastructure/BlockHttp.spec.ts b/e2e/infrastructure/BlockHttp.spec.ts index d0a3b6fadb..43afb52e4f 100644 --- a/e2e/infrastructure/BlockHttp.spec.ts +++ b/e2e/infrastructure/BlockHttp.spec.ts @@ -21,9 +21,9 @@ import { BlockRepository } from '../../src/infrastructure/BlockRepository'; import { QueryParams } from '../../src/infrastructure/QueryParams'; import { ReceiptRepository } from '../../src/infrastructure/ReceiptRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { Deadline } from '../../src/model/transaction/Deadline'; import { TransactionInfo } from '../../src/model/transaction/TransactionInfo'; import { TransferTransaction } from '../../src/model/transaction/TransferTransaction'; diff --git a/e2e/infrastructure/IntegrationTestHelper.ts b/e2e/infrastructure/IntegrationTestHelper.ts index cdf9ae56b3..31939327c2 100644 --- a/e2e/infrastructure/IntegrationTestHelper.ts +++ b/e2e/infrastructure/IntegrationTestHelper.ts @@ -19,7 +19,7 @@ import { IListener } from '../../src/infrastructure/IListener'; import { RepositoryFactory } from '../../src/infrastructure/RepositoryFactory'; import { RepositoryFactoryHttp } from '../../src/infrastructure/RepositoryFactoryHttp'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { SignedTransaction } from '../../src/model/transaction/SignedTransaction'; import { Transaction } from '../../src/model/transaction/Transaction'; import { UInt64 } from '../../src/model/UInt64'; @@ -57,7 +57,8 @@ export class IntegrationTestHelper { console.log(`Running tests against: ${json.apiUrl}`); this.apiUrl = json.apiUrl; this.repositoryFactory = new RepositoryFactoryHttp(json.apiUrl); - this.transactionService = new TransactionService(this.repositoryFactory.createTransactionRepository(), this.repositoryFactory.createReceiptRepository()); + this.transactionService = new TransactionService( + this.repositoryFactory.createTransactionRepository(), this.repositoryFactory.createReceiptRepository()); combineLatest(this.repositoryFactory.getGenerationHash(), this.repositoryFactory.getNetworkType()).subscribe(([generationHash, networkType]) => { this.networkType = networkType; diff --git a/e2e/infrastructure/Listener.spec.ts b/e2e/infrastructure/Listener.spec.ts index 287c19a5b6..e9314050ca 100644 --- a/e2e/infrastructure/Listener.spec.ts +++ b/e2e/infrastructure/Listener.spec.ts @@ -20,12 +20,12 @@ import { AccountRepository } from '../../src/infrastructure/AccountRepository'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { TransactionRepository } from '../../src/infrastructure/TransactionRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { Address, CosignatureTransaction, LockFundsTransaction, Mosaic, SignedTransaction, UInt64 } from '../../src/model/model'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { MultisigAccountModificationTransaction } from '../../src/model/transaction/MultisigAccountModificationTransaction'; diff --git a/e2e/infrastructure/MetadataHttp.spec.ts b/e2e/infrastructure/MetadataHttp.spec.ts index cd9296cc0a..ef5b10e433 100644 --- a/e2e/infrastructure/MetadataHttp.spec.ts +++ b/e2e/infrastructure/MetadataHttp.spec.ts @@ -18,11 +18,11 @@ import { expect } from 'chai'; import { MetadataRepository } from '../../src/infrastructure/MetadataRepository'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AccountMetadataTransaction } from '../../src/model/transaction/AccountMetadataTransaction'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; diff --git a/e2e/infrastructure/MosaicHttp.spec.ts b/e2e/infrastructure/MosaicHttp.spec.ts index 2c5e490e5b..2cac52791b 100644 --- a/e2e/infrastructure/MosaicHttp.spec.ts +++ b/e2e/infrastructure/MosaicHttp.spec.ts @@ -17,12 +17,12 @@ import { expect } from 'chai'; import { MosaicRepository } from '../../src/infrastructure/MosaicRepository'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { Deadline } from '../../src/model/transaction/Deadline'; import { MosaicAliasTransaction } from '../../src/model/transaction/MosaicAliasTransaction'; import { MosaicDefinitionTransaction } from '../../src/model/transaction/MosaicDefinitionTransaction'; @@ -87,7 +87,8 @@ describe('MosaicHttp', () => { expect(mosaicDefinitionTransaction.nonce).to.deep.equal(listenedTransaction.nonce); expect(mosaicDefinitionTransaction.getMosaicNonceIntValue()).to.be.equal(listenedTransaction.getMosaicNonceIntValue()); - const savedTransaction = await helper.repositoryFactory.createTransactionRepository().getTransaction(signedTransaction.hash).toPromise() as MosaicDefinitionTransaction; + const savedTransaction = await helper.repositoryFactory.createTransactionRepository() + .getTransaction(signedTransaction.hash).toPromise() as MosaicDefinitionTransaction; expect(mosaicDefinitionTransaction.nonce.toHex()).to.be.equal(savedTransaction.nonce.toHex()); expect(mosaicDefinitionTransaction.nonce).to.deep.equal(savedTransaction.nonce); expect(mosaicDefinitionTransaction.getMosaicNonceIntValue()).to.be.equal(savedTransaction.getMosaicNonceIntValue()); diff --git a/e2e/infrastructure/NetworkHttp.spec.ts b/e2e/infrastructure/NetworkHttp.spec.ts index c0859b2feb..38fe4ed11d 100644 --- a/e2e/infrastructure/NetworkHttp.spec.ts +++ b/e2e/infrastructure/NetworkHttp.spec.ts @@ -15,7 +15,7 @@ */ import { expect } from 'chai'; import { NetworkRepository } from '../../src/infrastructure/NetworkRepository'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { IntegrationTestHelper } from './IntegrationTestHelper'; describe('NetworkHttp', () => { @@ -45,13 +45,30 @@ describe('NetworkHttp', () => { }); }); - describe('getNetworkFees', () => { - it('should return network fees', async () => { - const fees = await networkRepository.getNetworkFees().toPromise(); + describe('getTransactionFees', () => { + it('should return transaction fees', async () => { + const fees = await networkRepository.getTransactionFees().toPromise(); expect(fees.averageFeeMultiplier).to.be.not.null; expect(fees.highestFeeMultiplier).to.be.not.null; expect(fees.lowestFeeMultiplier).to.be.not.null; expect(fees.medianFeeMultiplier).to.be.not.null; }); }); + describe('getRentalFees', () => { + it('should return rental fees', async () => { + const fees = await networkRepository.getRentalFees().toPromise(); + expect(fees.effectiveChildNamespaceRentalFee).to.be.not.null; + expect(fees.effectiveMosaicRentalFee).to.be.not.null; + expect(fees.effectiveRootNamespaceRentalFeePerBlock).to.be.not.null; + }); + }); + + describe('getNetworkProperties', () => { + it('should return network configuration', async () => { + const config = await networkRepository.getNetworkProperties().toPromise(); + expect(config.network).to.be.not.null; + expect(config.chain).to.be.not.null; + expect(config.plugins).to.be.not.null; + }); + }); }); diff --git a/e2e/infrastructure/RestrictionHttp.spec.ts b/e2e/infrastructure/RestrictionHttp.spec.ts index 2a612b35ac..d1dc9511bc 100644 --- a/e2e/infrastructure/RestrictionHttp.spec.ts +++ b/e2e/infrastructure/RestrictionHttp.spec.ts @@ -20,10 +20,10 @@ import { RestrictionAccountRepository } from '../../src/infrastructure/Restricti import { RestrictionMosaicRepository } from '../../src/infrastructure/RestrictionMosaicRepository'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AccountRestrictionFlags } from '../../src/model/restriction/AccountRestrictionType'; import { MosaicRestrictionEntryType } from '../../src/model/restriction/MosaicRestrictionEntryType'; import { MosaicRestrictionType } from '../../src/model/restriction/MosaicRestrictionType'; diff --git a/e2e/infrastructure/TransactionHttp.spec.ts b/e2e/infrastructure/TransactionHttp.spec.ts index f7c8aabddd..01c29ccbc4 100644 --- a/e2e/infrastructure/TransactionHttp.spec.ts +++ b/e2e/infrastructure/TransactionHttp.spec.ts @@ -28,7 +28,6 @@ import { TransactionRepository } from '../../src/infrastructure/TransactionRepos import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; import { PublicAccount } from '../../src/model/account/PublicAccount'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { Mosaic } from '../../src/model/mosaic/Mosaic'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; @@ -38,6 +37,7 @@ import { MosaicSupplyChangeAction } from '../../src/model/mosaic/MosaicSupplyCha import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AccountRestrictionModificationAction } from '../../src/model/restriction/AccountRestrictionModificationAction'; import { AccountRestrictionFlags } from '../../src/model/restriction/AccountRestrictionType'; import { MosaicRestrictionType } from '../../src/model/restriction/MosaicRestrictionType'; diff --git a/e2e/infrastructure/UnresolvedMapping.spec.ts b/e2e/infrastructure/UnresolvedMapping.spec.ts index e8713e202b..88367eb169 100644 --- a/e2e/infrastructure/UnresolvedMapping.spec.ts +++ b/e2e/infrastructure/UnresolvedMapping.spec.ts @@ -19,7 +19,6 @@ import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepositor import { TransactionHttp } from '../../src/infrastructure/TransactionHttp'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; @@ -27,6 +26,7 @@ import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { MosaicRestrictionType } from '../../src/model/restriction/MosaicRestrictionType'; import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; diff --git a/e2e/service/BlockService.spec.ts b/e2e/service/BlockService.spec.ts index 675510c51e..f7343864b7 100644 --- a/e2e/service/BlockService.spec.ts +++ b/e2e/service/BlockService.spec.ts @@ -18,9 +18,9 @@ import { assert, expect } from 'chai'; import { ReceiptRepository } from '../../src/infrastructure/ReceiptRepository'; import { TransactionRepository } from '../../src/infrastructure/TransactionRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { Deadline } from '../../src/model/transaction/Deadline'; import { TransferTransaction } from '../../src/model/transaction/TransferTransaction'; import { UInt64 } from '../../src/model/UInt64'; diff --git a/e2e/service/MetadataTransactionService.spec.ts b/e2e/service/MetadataTransactionService.spec.ts index 87e59c74e1..25d5794c92 100644 --- a/e2e/service/MetadataTransactionService.spec.ts +++ b/e2e/service/MetadataTransactionService.spec.ts @@ -2,12 +2,12 @@ import { expect } from 'chai'; import { Convert } from '../../src/core/format'; import { MetadataRepository } from '../../src/infrastructure/MetadataRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MetadataType } from '../../src/model/metadata/MetadataType'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { MosaicDefinitionTransaction } from '../../src/model/transaction/MosaicDefinitionTransaction'; diff --git a/e2e/service/MosaicRestrictionTransactionService.spec.ts b/e2e/service/MosaicRestrictionTransactionService.spec.ts index 8f1e2f8239..c05f8d6819 100644 --- a/e2e/service/MosaicRestrictionTransactionService.spec.ts +++ b/e2e/service/MosaicRestrictionTransactionService.spec.ts @@ -3,12 +3,12 @@ import { KeyGenerator } from '../../src/core/format/KeyGenerator'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { RestrictionMosaicRepository } from '../../src/infrastructure/RestrictionMosaicRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../src/model/mosaic/MosaicNonce'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { MosaicRestrictionType } from '../../src/model/restriction/MosaicRestrictionType'; import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; diff --git a/e2e/service/MosaicService.spec.ts b/e2e/service/MosaicService.spec.ts index f094dab832..981699a7b8 100644 --- a/e2e/service/MosaicService.spec.ts +++ b/e2e/service/MosaicService.spec.ts @@ -17,7 +17,7 @@ import { AccountRepository } from '../../src/infrastructure/AccountRepository'; import { MosaicRepository } from '../../src/infrastructure/MosaicRepository'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { MosaicService } from '../../src/service/MosaicService'; import { IntegrationTestHelper } from '../infrastructure/IntegrationTestHelper'; diff --git a/e2e/service/TransactionService.spec.ts b/e2e/service/TransactionService.spec.ts index 19aadb7c3c..11ef791cd9 100644 --- a/e2e/service/TransactionService.spec.ts +++ b/e2e/service/TransactionService.spec.ts @@ -19,7 +19,6 @@ import { Convert } from '../../src/core/format/Convert'; import { TransactionRepository } from '../../src/infrastructure/TransactionRepository'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { Mosaic } from '../../src/model/mosaic/Mosaic'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; @@ -29,6 +28,7 @@ import { MosaicSupplyChangeAction } from '../../src/model/mosaic/MosaicSupplyCha import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AddressAliasTransaction } from '../../src/model/transaction/AddressAliasTransaction'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; diff --git a/e2e/service/TransactionService_AggregateBonded.spec.ts b/e2e/service/TransactionService_AggregateBonded.spec.ts index b4c4ec81d6..d8e114517b 100644 --- a/e2e/service/TransactionService_AggregateBonded.spec.ts +++ b/e2e/service/TransactionService_AggregateBonded.spec.ts @@ -19,12 +19,12 @@ import { ChronoUnit } from 'js-joda'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { Mosaic } from '../../src/model/mosaic/Mosaic'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { LockFundsTransaction } from '../../src/model/transaction/LockFundsTransaction'; diff --git a/package-lock.json b/package-lock.json index cbea3a59bc..35fe805e97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "symbol-sdk", - "version": "0.17.3", + "version": "0.17.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -13,45 +13,125 @@ "@babel/highlight": "^7.0.0" } }, + "@babel/core": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", + "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.7", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.7", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, "@babel/generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.2.tgz", - "integrity": "sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz", + "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==", "dev": true, "requires": { - "@babel/types": "^7.6.0", + "@babel/types": "^7.8.7", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.8.3" } }, "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" } }, "@babel/highlight": { @@ -109,43 +189,99 @@ } }, "@babel/parser": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.2.tgz", - "integrity": "sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz", + "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==", "dev": true }, "@babel/template": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", - "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0" + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } } }, "@babel/traverse": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.2.tgz", - "integrity": "sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ==", + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.6.2", - "@babel/types": "^7.6.0", + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } } }, "@babel/types": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", - "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -153,10 +289,52 @@ "to-fast-properties": "^2.0.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", + "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, "@types/bluebird": { - "version": "3.5.29", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.29.tgz", - "integrity": "sha512-kmVtnxTuUuhCET669irqQmPAez4KFnFVKvpleVRyfC3g+SHD1hIkFZcWLim9BVcwUBLO59o8VZE4yGCmTif8Yw==" + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.30.tgz", + "integrity": "sha512-8LhzvcjIoqoi1TghEkRMkbbmM+jhHnBokPGkJWjclMK+Ks0MxEBow3/p2/iFTZ+OIbJHQDSfpgdZEb+af3gfVw==" }, "@types/caseless": { "version": "0.12.1", @@ -169,6 +347,12 @@ "integrity": "sha512-D8uQwKYUw2KESkorZ27ykzXgvkDJYXVEihGklgfp5I4HUP8D6IxtcdLTMB1emjQiWzV7WZ5ihm1cxIzVwjoleQ==", "dev": true }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/crypto-js": { "version": "3.1.43", "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-3.1.43.tgz", @@ -246,6 +430,16 @@ "@types/node": "*" } }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", @@ -315,12 +509,12 @@ } }, "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "default-require-extensions": "^3.0.0" } }, "archy": { @@ -329,6 +523,12 @@ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -446,12 +646,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", @@ -509,11 +703,6 @@ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, "async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", @@ -855,9 +1044,9 @@ "dev": true }, "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "brace-expansion": { "version": "1.1.11", @@ -944,15 +1133,15 @@ } }, "caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" } }, "camelcase": { @@ -1053,6 +1242,12 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -1219,169 +1414,40 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "coveralls": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.6.tgz", - "integrity": "sha512-Pgh4v3gCI4T/9VijVrm8Ym5v0OgjvGLKj3zTUwkvsCiwqae/p6VLzpsFNjQS2i6ewV7ef+DjFJ5TSKxYt/mCrA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.9.tgz", + "integrity": "sha512-nNBg3B1+4iDox5A5zqHKzUTiwl2ey4k2o0NEcVZYvl+GOSJdKBj4AJGKLv6h3SvWch7tABHePAQOSZWM9E2hMg==", "dev": true, "requires": { - "growl": "~> 1.10.0", "js-yaml": "^3.13.1", - "lcov-parse": "^0.0.10", + "lcov-parse": "^1.0.0", "log-driver": "^1.2.7", "minimist": "^1.2.0", - "request": "^2.86.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - } + "request": "^2.88.0" } }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, "crypto-js": { "version": "3.1.9-1", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.9-1.tgz", @@ -1460,18 +1526,18 @@ } }, "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, "requires": { - "strip-bom": "^3.0.0" + "strip-bom": "^4.0.0" }, "dependencies": { "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true } } @@ -1588,9 +1654,9 @@ } }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "end-of-stream": { @@ -1872,14 +1938,14 @@ } }, "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, "find-up": { @@ -1949,13 +2015,13 @@ } }, "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" } }, "forever-agent": { @@ -1982,6 +2048,12 @@ "map-cache": "^0.2.2" } }, + "fromentries": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz", + "integrity": "sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==", + "dev": true + }, "fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", @@ -2564,6 +2636,12 @@ "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.3.1.tgz", "integrity": "sha512-k1DvCXIFAIx3hK8CSwApotX3JUDwA2Wb55zxyIgqwQpCBF2ZHgVqfHpyjG8mRpmsjRH7SWS1N/vj8EdSF9zBhw==" }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -2794,26 +2872,6 @@ "glogg": "^1.0.0" } }, - "handlebars": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", - "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -2890,12 +2948,13 @@ } }, "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz", + "integrity": "sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==", "dev": true, "requires": { - "is-stream": "^1.0.1" + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" } }, "he": { @@ -2928,6 +2987,12 @@ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, + "html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -2944,6 +3009,12 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3155,9 +3226,9 @@ } }, "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "is-typedarray": { @@ -3216,33 +3287,33 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true }, "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "append-transform": "^2.0.0" } }, "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", + "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "@babel/core": "^7.7.5", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "dependencies": { "semver": { @@ -3253,44 +3324,57 @@ } } }, + "istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + } + }, "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "dependencies": { "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } }, "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "requires": { "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", + "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "dependencies": { @@ -3303,12 +3387,13 @@ } }, "istanbul-reports": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", - "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A==", "dev": true, "requires": { - "handlebars": "^4.1.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, "js-joda": { @@ -3358,12 +3443,6 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -3442,9 +3521,9 @@ } }, "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", + "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", "dev": true }, "lead": { @@ -3486,21 +3565,12 @@ } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } + "p-locate": "^4.1.0" } }, "lodash": { @@ -3533,44 +3603,27 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "semver": "^6.0.0" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "make-error": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", - "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, "make-iterator": { @@ -3632,23 +3685,6 @@ } } }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "merkle-lib": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz", @@ -3837,24 +3873,21 @@ "to-regex": "^3.0.1" } }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3909,51 +3942,55 @@ "dev": true }, "nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.0.0.tgz", + "integrity": "sha512-qcLBlNCKMDVuKb7d1fpxjPR8sHeMVX0CHarXAVzrVWoFrigCkYR8xcrjfXSPi5HXM7EU78L6ywO7w1c5rZNCNg==", + "dev": true, + "requires": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", + "make-dir": "^3.0.0", + "node-preload": "^0.2.0", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "uuid": "^3.3.3", + "yargs": "^15.0.2" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, "camelcase": { @@ -3963,23 +4000,48 @@ "dev": true }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "get-caller-file": { @@ -3989,9 +4051,9 @@ "dev": true }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4003,9 +4065,15 @@ } }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "require-main-filename": { @@ -4015,46 +4083,40 @@ "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true - }, "which-module": { "version": "2.0.0", - "resolved": "", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "y18n": { @@ -4064,27 +4126,28 @@ "dev": true }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", + "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^3.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^18.1.0" } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.0.tgz", + "integrity": "sha512-o/Jr6JBOv6Yx3pL+5naWSoIA2jJ+ZkMYQG/ie9qFbukBe4uzmBatlXFOiu/tNKRWEtyf+n5w7jc/O16ufqOTdQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -4206,24 +4269,6 @@ "wrappy": "1" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } - } - }, "ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", @@ -4253,21 +4298,30 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" } }, "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "aggregate-error": "^3.0.0" } }, "p-try": { @@ -4277,13 +4331,13 @@ "dev": true }, "package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "requires": { "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", + "hasha": "^5.0.0", "lodash.flattendeep": "^4.4.0", "release-zalgo": "^1.0.0" } @@ -4346,6 +4400,12 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", @@ -4411,22 +4471,29 @@ } }, "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "^4.0.0" }, "dependencies": { "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true } } }, @@ -4465,11 +4532,14 @@ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } }, "psl": { "version": "1.4.0", @@ -4757,9 +4827,9 @@ } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "resolve-options": { @@ -4793,18 +4863,18 @@ } }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" }, "dependencies": { "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4903,6 +4973,21 @@ } } }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -5069,17 +5154,28 @@ "dev": true }, "spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", "signal-exit": "^3.0.2", - "which": "^1.3.0" + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "spdx-correct": { @@ -5261,9 +5357,9 @@ } }, "symbol-openapi-typescript-node-client": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/symbol-openapi-typescript-node-client/-/symbol-openapi-typescript-node-client-0.8.5.tgz", - "integrity": "sha512-1o6qvkabi93xLRHr/C2A+uFhesaXF26EsFIRW6B51DLOGFOrDRPlobnKyahRkieJXEALTOj6MXimUGd/O6jdSw==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/symbol-openapi-typescript-node-client/-/symbol-openapi-typescript-node-client-0.8.7.tgz", + "integrity": "sha512-oOkShSqP565AOM1/6iT88BnL6HoS1lZuc55Gkdb9LmitpLSm5zqhx72iYW1u4HVEHyGi+Q3e1ZxdjMS2tEcg3A==", "requires": { "@types/bluebird": "*", "@types/request": "*", @@ -5273,30 +5369,20 @@ } }, "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -5306,76 +5392,6 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true } } }, @@ -5500,53 +5516,18 @@ } }, "ts-node": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz", - "integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz", + "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==", "dev": true, "requires": { - "arrify": "^1.0.0", - "chalk": "^2.3.0", - "diff": "^3.1.0", + "arg": "^4.1.0", + "diff": "^4.0.1", "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3", - "yn": "^2.0.0" + "source-map-support": "^0.5.6", + "yn": "3.1.1" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5554,22 +5535,14 @@ "dev": true }, "source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { + "buffer-from": "^1.0.0", "source-map": "^0.6.0" } - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -5579,9 +5552,9 @@ "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==" }, "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.0.0.tgz", + "integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5595,14 +5568,14 @@ "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", - "tslib": "^1.8.0", + "tslib": "^1.10.0", "tsutils": "^2.29.0" }, "dependencies": { - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", "dev": true } } @@ -5635,16 +5608,31 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true }, "typescript-require": { @@ -5664,33 +5652,6 @@ } } }, - "uglify-js": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz", - "integrity": "sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -5816,9 +5777,9 @@ "dev": true }, "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, "util": { "version": "0.10.3", @@ -5952,12 +5913,6 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -5975,23 +5930,21 @@ "dev": true }, "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "ws": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.0.tgz", - "integrity": "sha512-c18dMeW+PEQdDFzkhDsnBAlS4Z8KGStBQQUcQ5mf7Nf689jyGk0594L+i9RaQuf4gog6SvWLJorz2NfSaqxZ7w==", - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==" }, "xtend": { "version": "4.0.1", @@ -6005,12 +5958,6 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", @@ -6042,9 +5989,9 @@ } }, "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true } } diff --git a/package.json b/package.json index 653e9a7f81..f8449c89e1 100644 --- a/package.json +++ b/package.json @@ -45,20 +45,20 @@ "@types/ws": "^3.2.0", "assert": "^1.4.1", "chai": "^4.1.2", - "coveralls": "^3.0.6", + "coveralls": "^3.0.9", "gulp": "^4.0.2", "gulp-typescript": "^5.0.1", "mocha": "^4.0.1", - "nyc": "^14.1.1", + "nyc": "^15.0.0", "secure-random": "^1.1.1", "ts-mockito": "^2.4.0", - "ts-node": "^5.0.1", - "tslint": "^5.20.1", - "typescript": "^2.9.2", + "ts-node": "^8.6.2", + "tslint": "^6.0.0", + "typescript": "^3.7.5", "typescript-require": "^0.2.10" }, "dependencies": { - "bluebird": "^3.5.5", + "bluebird": "^3.7.2", "catbuffer-typescript": "0.0.11", "crypto-js": "^3.1.9-1", "diff": "^4.0.2", @@ -74,10 +74,10 @@ "ripemd160": "^2.0.2", "rxjs": "^6.5.3", "rxjs-compat": "^6.5.3", - "symbol-openapi-typescript-node-client": "0.8.5", + "symbol-openapi-typescript-node-client": "0.8.7", "tweetnacl": "^1.0.3", - "utf8": "^2.1.2", - "ws": "^5.2.0" + "utf8": "^3.0.0", + "ws": "^7.2.3" }, "peerDependencies": { "js-joda": "^1.6.2", diff --git a/src/core/format/RawAddress.ts b/src/core/format/RawAddress.ts index 64daeb1858..d1245a2626 100644 --- a/src/core/format/RawAddress.ts +++ b/src/core/format/RawAddress.ts @@ -16,7 +16,7 @@ import { sha3_256 } from 'js-sha3'; import RIPEMD160 = require('ripemd160'); -import { NetworkType } from '../../model/blockchain/NetworkType'; +import { NetworkType } from '../../model/network/NetworkType'; import { Base32 } from './Base32'; import { Convert } from './Convert'; import { RawArray } from './RawArray'; diff --git a/src/core/utils/UnresolvedMapping.ts b/src/core/utils/UnresolvedMapping.ts index 1a8de4f376..f70f9d45c6 100644 --- a/src/core/utils/UnresolvedMapping.ts +++ b/src/core/utils/UnresolvedMapping.ts @@ -14,9 +14,9 @@ * limitations under the License. */ import { Address } from '../../model/account/Address'; -import { NetworkType } from '../../model/blockchain/NetworkType'; import { MosaicId } from '../../model/mosaic/MosaicId'; import { NamespaceId } from '../../model/namespace/NamespaceId'; +import { NetworkType } from '../../model/network/NetworkType'; import { Convert } from '../format/Convert'; import { RawAddress } from '../format/RawAddress'; diff --git a/src/infrastructure/Http.ts b/src/infrastructure/Http.ts index 238609b4c3..cfb8a86ee1 100644 --- a/src/infrastructure/Http.ts +++ b/src/infrastructure/Http.ts @@ -19,7 +19,7 @@ import * as http from 'http'; import { from as observableFrom, Observable, of as observableOf, throwError } from 'rxjs'; import { catchError, map, shareReplay } from 'rxjs/operators'; import { NodeRoutesApi } from 'symbol-openapi-typescript-node-client'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkType } from '../model/network/NetworkType'; import { QueryParams } from './QueryParams'; import { TransactionFilter } from './TransactionFilter'; diff --git a/src/infrastructure/MosaicHttp.ts b/src/infrastructure/MosaicHttp.ts index 2fc2490ebb..80ccb743b5 100644 --- a/src/infrastructure/MosaicHttp.ts +++ b/src/infrastructure/MosaicHttp.ts @@ -19,10 +19,10 @@ import { catchError, map, mergeMap } from 'rxjs/operators'; import { MosaicRoutesApi } from 'symbol-openapi-typescript-node-client'; import { Address } from '../model/account/Address'; import { PublicAccount } from '../model/account/PublicAccount'; -import { NetworkType } from '../model/blockchain/NetworkType'; import { MosaicFlags } from '../model/mosaic/MosaicFlags'; import { MosaicId } from '../model/mosaic/MosaicId'; import { MosaicInfo } from '../model/mosaic/MosaicInfo'; +import { NetworkType } from '../model/network/NetworkType'; import { UInt64 } from '../model/UInt64'; import { Http } from './Http'; import { MosaicRepository } from './MosaicRepository'; diff --git a/src/infrastructure/MultisigHttp.ts b/src/infrastructure/MultisigHttp.ts index 9017022ed6..dc17676061 100644 --- a/src/infrastructure/MultisigHttp.ts +++ b/src/infrastructure/MultisigHttp.ts @@ -21,7 +21,7 @@ import { Address } from '../model/account/Address'; import { MultisigAccountGraphInfo } from '../model/account/MultisigAccountGraphInfo'; import { MultisigAccountInfo } from '../model/account/MultisigAccountInfo'; import { PublicAccount } from '../model/account/PublicAccount'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkType } from '../model/network/NetworkType'; import { Http } from './Http'; import { MultisigRepository } from './MultisigRepository'; diff --git a/src/infrastructure/NamespaceHttp.ts b/src/infrastructure/NamespaceHttp.ts index 4333724a24..407bf88c5f 100644 --- a/src/infrastructure/NamespaceHttp.ts +++ b/src/infrastructure/NamespaceHttp.ts @@ -20,7 +20,6 @@ import { Convert as convert, RawAddress as AddressLibrary } from '../core/format import { AccountNames } from '../model/account/AccountNames'; import { Address } from '../model/account/Address'; import { PublicAccount } from '../model/account/PublicAccount'; -import { NetworkType } from '../model/blockchain/NetworkType'; import { MosaicId } from '../model/mosaic/MosaicId'; import { MosaicNames } from '../model/mosaic/MosaicNames'; import { AddressAlias } from '../model/namespace/AddressAlias'; @@ -31,6 +30,7 @@ import { MosaicAlias } from '../model/namespace/MosaicAlias'; import { NamespaceId } from '../model/namespace/NamespaceId'; import { NamespaceInfo } from '../model/namespace/NamespaceInfo'; import { NamespaceName } from '../model/namespace/NamespaceName'; +import { NetworkType } from '../model/network/NetworkType'; import { UInt64 } from '../model/UInt64'; import { Http } from './Http'; import { NamespaceRepository } from './NamespaceRepository'; diff --git a/src/infrastructure/NetworkHttp.ts b/src/infrastructure/NetworkHttp.ts index f4e6758182..fd32ed93b1 100644 --- a/src/infrastructure/NetworkHttp.ts +++ b/src/infrastructure/NetworkHttp.ts @@ -16,14 +16,31 @@ import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; -import { NetworkRoutesApi } from 'symbol-openapi-typescript-node-client'; -import { NetworkFees } from '../model/blockchain/NetworkFees'; -import { NetworkName } from '../model/blockchain/NetworkName'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkConfigurationDTO, NetworkRoutesApi } from 'symbol-openapi-typescript-node-client'; +import { AccountLinkNetworkProperties } from '../model/network/AccountLinkNetworkProperties'; +import { AccountRestrictionNetworkProperties } from '../model/network/AccountRestrictionNetworkProperties'; +import { AggregateNetworkProperties } from '../model/network/AggregateNetworkProperties'; +import { ChainProperties } from '../model/network/ChainProperties'; +import { HashLockNetworkProperties } from '../model/network/HashLockNetworkProperties'; +import { MetadataNetworkProperties } from '../model/network/MetadataNetworkProperties'; +import { MosaicNetworkProperties } from '../model/network/MosaicNetworkProperties'; +import { MosaicRestrictionNetworkProperties } from '../model/network/MosaicRestrictionNetworkProperties'; +import { MultisigNetworkProperties } from '../model/network/MultisigNetworkProperties'; +import { NamespaceNetworkProperties } from '../model/network/NamespaceNetworkProperties'; +import { NetworkConfiguration } from '../model/network/NetworkConfiguration'; +import { NetworkName } from '../model/network/NetworkName'; +import { NetworkProperties } from '../model/network/NetworkProperties'; +import { NetworkType } from '../model/network/NetworkType'; +import { PluginProperties } from '../model/network/PluginProperties'; +import { RentalFees } from '../model/network/RentalFees'; +import { SecretLockNetworkProperties } from '../model/network/SecretLockNetworkProperties'; +import { TransactionFees } from '../model/network/TransactionFees'; +import { TransferNetworkProperties } from '../model/network/TransferNetworkProperties'; import { NodeInfo } from '../model/node/NodeInfo'; import { Http } from './Http'; import { NetworkRepository } from './NetworkRepository'; import { NodeHttp } from './NodeHttp'; +import { UInt64 } from '../model/UInt64'; /** * Network http repository. @@ -67,14 +84,81 @@ export class NetworkHttp extends Http implements NetworkRepository { return this.call(this.networkRoutesApi.getNetworkType(), (body) => new NetworkName(body.name, body.description)); } + /** + * Returns the content from a catapult-server network configuration file (resources/config-network.properties). + * To enable this feature, the REST setting \"network.propertiesFilePath\" must define where the file is located. + * This is adjustable via the configuration file (rest/resources/rest.json) per REST instance. + * @summary Get the network properties + */ + public getNetworkProperties(): Observable { + return this.call(this.networkRoutesApi.getNetworkProperties(), (body) => + this.mapNetworkConfigurationDto(body), + ); + } + + /** + * Returns the estimated effective rental fees for namespaces and mosaics. This endpoint is only available + * if the REST instance has access to catapult-server ``resources/config-network.properties`` file. + * To activate this feature, add the setting \"network.propertiesFilePath\" in the configuration file (rest/resources/rest.json). + * @summary Get rental fees information + */ + public getRentalFees(): Observable { + return this.call(this.networkRoutesApi.getRentalFees(), (body) => + new RentalFees(UInt64.fromNumericString(body.effectiveRootNamespaceRentalFeePerBlock), + UInt64.fromNumericString(body.effectiveChildNamespaceRentalFee), + UInt64.fromNumericString(body.effectiveMosaicRentalFee))); + } + /** * Returns information about the average, median, highest and lower fee multiplier over the last * \"numBlocksTransactionFeeStats\". The setting \"numBlocksTransactionFeeStats\" is adjustable * via a configuration file (rest/resources/rest.json) per REST instance. * @summary Get transaction fees information */ - public getNetworkFees(): Observable { - return this.call(this.networkRoutesApi.getNetworkFees(), (body) => - new NetworkFees(body.averageFeeMultiplier, body.medianFeeMultiplier, body.highestFeeMultiplier, body.lowestFeeMultiplier)); + public getTransactionFees(): Observable { + return this.call(this.networkRoutesApi.getTransactionFees(), (body) => + new TransactionFees(body.averageFeeMultiplier, body.medianFeeMultiplier, body.highestFeeMultiplier, body.lowestFeeMultiplier)); + } + + /** + * Map dto to sdk models + * @param dto dto object returned from rest + */ + private mapNetworkConfigurationDto(dto: NetworkConfigurationDTO): NetworkConfiguration { + return new NetworkConfiguration( + new NetworkProperties(dto.network.identifier, dto.network.nodeEqualityStrategy, + dto.network.publicKey, dto.network.generationHash, dto.network.epochAdjustment), + new ChainProperties(dto.chain.enableVerifiableState, dto.chain.enableVerifiableReceipts, + dto.chain.currencyMosaicId, dto.chain.harvestingMosaicId, dto.chain.blockGenerationTargetTime, + dto.chain.blockTimeSmoothingFactor, dto.chain.importanceGrouping, dto.chain.importanceActivityPercentage, + dto.chain.maxRollbackBlocks, dto.chain.maxDifficultyBlocks, dto.chain.defaultDynamicFeeMultiplier, + dto.chain.maxTransactionLifetime, dto.chain.maxBlockFutureTime, dto.chain.initialCurrencyAtomicUnits, + dto.chain.maxMosaicAtomicUnits, dto.chain.totalChainImportance, dto.chain.minHarvesterBalance, + dto.chain.maxHarvesterBalance, dto.chain.harvestBeneficiaryPercentage, dto.chain.blockPruneInterval, + dto.chain.maxTransactionsPerBlock), + new PluginProperties( + new AccountLinkNetworkProperties(dto.plugins.accountlink?.dummy), + new AggregateNetworkProperties(dto.plugins.aggregate?.maxTransactionsPerAggregate, + dto.plugins.aggregate?.maxCosignaturesPerAggregate, dto.plugins.aggregate?.enableStrictCosignatureCheck, + dto.plugins.aggregate?.enableBondedAggregateSupport, dto.plugins.aggregate?.maxBondedTransactionLifetime), + new HashLockNetworkProperties(dto.plugins.lockhash?.lockedFundsPerAggregate, dto.plugins.lockhash?.maxHashLockDuration), + new SecretLockNetworkProperties(dto.plugins.locksecret?.maxSecretLockDuration, dto.plugins.locksecret?.minProofSize, + dto.plugins.locksecret?.maxProofSize), + new MetadataNetworkProperties(dto.plugins.metadata?.maxValueSize), + new MosaicNetworkProperties(dto.plugins.mosaic?.maxMosaicsPerAccount, dto.plugins.mosaic?.maxMosaicDuration, + dto.plugins.mosaic?.maxMosaicDivisibility, dto.plugins.mosaic?.mosaicRentalFeeSinkPublicKey, + dto.plugins.mosaic?.mosaicRentalFee), + new MultisigNetworkProperties(dto.plugins.multisig?.maxMultisigDepth, dto.plugins.multisig?.maxCosignatoriesPerAccount, + dto.plugins.multisig?.maxCosignedAccountsPerAccount), + new NamespaceNetworkProperties(dto.plugins.namespace?.maxNameSize, dto.plugins.namespace?.maxChildNamespaces, + dto.plugins.namespace?.maxNamespaceDepth, dto.plugins.namespace?.minNamespaceDuration, + dto.plugins.namespace?.maxNamespaceDuration, dto.plugins.namespace?.namespaceGracePeriodDuration, + dto.plugins.namespace?.reservedRootNamespaceNames, dto.plugins.namespace?.namespaceRentalFeeSinkPublicKey, + dto.plugins.namespace?.rootNamespaceRentalFeePerBlock, dto.plugins.namespace?.childNamespaceRentalFee), + new AccountRestrictionNetworkProperties(dto.plugins.restrictionaccount?.maxAccountRestrictionValues), + new MosaicRestrictionNetworkProperties(dto.plugins.restrictionmosaic?.maxMosaicRestrictionValues), + new TransferNetworkProperties(dto.plugins.transfer?.maxMessageSize), + ), + ); } } diff --git a/src/infrastructure/NetworkRepository.ts b/src/infrastructure/NetworkRepository.ts index 0c4f661f16..60c3020ff2 100644 --- a/src/infrastructure/NetworkRepository.ts +++ b/src/infrastructure/NetworkRepository.ts @@ -15,9 +15,11 @@ */ import {Observable} from 'rxjs'; -import { NetworkFees } from '../model/blockchain/NetworkFees'; -import { NetworkName } from '../model/blockchain/NetworkName'; -import {NetworkType} from '../model/blockchain/NetworkType'; +import { NetworkConfiguration } from '../model/network/NetworkConfiguration'; +import { NetworkName } from '../model/network/NetworkName'; +import {NetworkType} from '../model/network/NetworkType'; +import { RentalFees } from '../model/network/RentalFees'; +import { TransactionFees } from '../model/network/TransactionFees'; /** * Network interface repository. @@ -26,6 +28,21 @@ import {NetworkType} from '../model/blockchain/NetworkType'; */ export interface NetworkRepository { + /** + * Get current network type name and description + * + * @return current network type name and description + */ + getNetworkName(): Observable; + + /** + * Returns the content from a catapult-server network configuration file (resources/config-network.properties). + * To enable this feature, the REST setting \"network.propertiesFilePath\" must define where the file is located. + * This is adjustable via the configuration file (rest/resources/rest.json) per REST instance. + * @summary Get the network properties + */ + getNetworkProperties(): Observable; + /** * Get current network type. * @return network type enum. @@ -33,16 +50,17 @@ export interface NetworkRepository { getNetworkType(): Observable; /** - * Get current network type name and description - * - * @return current network type name and description + * Returns the estimated effective rental fees for namespaces and mosaics. This endpoint is only available + * if the REST instance has access to catapult-server ``resources/config-network.properties`` file. + * To activate this feature, add the setting \"network.propertiesFilePath\" in the configuration file (rest/resources/rest.json). + * @summary Get rental fees information */ - getNetworkName(): Observable; + getRentalFees(): Observable; /** - * Returns information about the average, median, highest and lower fee multiplier over the last "numBlocksTransactionFeeStats". - * @return the NetworkFees + * Returns the average, median, highest and lower fee multiplier over the last \"numBlocksTransactionFeeStats\". + * The setting \"numBlocksTransactionFeeStats\" is adjustable via the configuration file (rest/resources/rest.json) per REST instance. + * @summary Get transaction fees information */ - getNetworkFees(): Observable ; - + getTransactionFees(): Observable; } diff --git a/src/infrastructure/ReceiptHttp.ts b/src/infrastructure/ReceiptHttp.ts index bd5ceaecc7..ccb5aa6a6b 100644 --- a/src/infrastructure/ReceiptHttp.ts +++ b/src/infrastructure/ReceiptHttp.ts @@ -19,7 +19,7 @@ import { catchError, map, mergeMap } from 'rxjs/operators'; import { ReceiptRoutesApi } from 'symbol-openapi-typescript-node-client'; import { MerklePathItem } from '../model/blockchain/MerklePathItem'; import { MerkleProofInfo } from '../model/blockchain/MerkleProofInfo'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkType } from '../model/network/NetworkType'; import { Statement } from '../model/receipt/Statement'; import { UInt64 } from '../model/UInt64'; import { Http } from './Http'; diff --git a/src/infrastructure/RepositoryFactory.ts b/src/infrastructure/RepositoryFactory.ts index 51c294eb85..877b5265d6 100644 --- a/src/infrastructure/RepositoryFactory.ts +++ b/src/infrastructure/RepositoryFactory.ts @@ -15,7 +15,7 @@ */ import { Observable } from 'rxjs'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkType } from '../model/network/NetworkType'; import { AccountRepository } from './AccountRepository'; import { BlockRepository } from './BlockRepository'; import { ChainRepository } from './ChainRepository'; diff --git a/src/infrastructure/RepositoryFactoryHttp.ts b/src/infrastructure/RepositoryFactoryHttp.ts index 30e91b2f83..4d691e5ff0 100644 --- a/src/infrastructure/RepositoryFactoryHttp.ts +++ b/src/infrastructure/RepositoryFactoryHttp.ts @@ -16,7 +16,7 @@ import { Observable, of as observableOf } from 'rxjs'; import { map, share, shareReplay } from 'rxjs/operators'; -import { NetworkType } from '../model/blockchain/NetworkType'; +import { NetworkType } from '../model/network/NetworkType'; import { UInt64 } from '../model/UInt64'; import { AccountHttp } from './AccountHttp'; import { AccountRepository } from './AccountRepository'; diff --git a/src/model/account/Account.ts b/src/model/account/Account.ts index 80acb4472c..b72eb53915 100644 --- a/src/model/account/Account.ts +++ b/src/model/account/Account.ts @@ -17,9 +17,9 @@ import {Crypto, KeyPair} from '../../core/crypto'; import {SHA3Hasher} from '../../core/crypto/SHA3Hasher'; import {Convert, RawAddress} from '../../core/format'; -import {NetworkType} from '../blockchain/NetworkType'; import {EncryptedMessage} from '../message/EncryptedMessage'; import {PlainMessage} from '../message/PlainMessage'; +import {NetworkType} from '../network/NetworkType'; import {AggregateTransaction} from '../transaction/AggregateTransaction'; import {CosignatureSignedTransaction} from '../transaction/CosignatureSignedTransaction'; import {CosignatureTransaction} from '../transaction/CosignatureTransaction'; diff --git a/src/model/account/Address.ts b/src/model/account/Address.ts index ca7ff14fc3..fb2b161991 100644 --- a/src/model/account/Address.ts +++ b/src/model/account/Address.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { Convert, RawAddress } from '../../core/format'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; /** * The address structure describes an address with its network diff --git a/src/model/account/PublicAccount.ts b/src/model/account/PublicAccount.ts index 257af759b7..1117a95a23 100644 --- a/src/model/account/PublicAccount.ts +++ b/src/model/account/PublicAccount.ts @@ -16,7 +16,7 @@ import { KeyPair } from '../../core/crypto'; import { Convert } from '../../core/format'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { Address } from './Address'; const Hash512 = 64; diff --git a/src/model/blockchain/BlockInfo.ts b/src/model/blockchain/BlockInfo.ts index 67dc6c3e58..c9a4b1d91a 100644 --- a/src/model/blockchain/BlockInfo.ts +++ b/src/model/blockchain/BlockInfo.ts @@ -15,8 +15,8 @@ */ import {PublicAccount} from '../account/PublicAccount'; +import {NetworkType} from '../network/NetworkType'; import {UInt64} from '../UInt64'; -import {NetworkType} from './NetworkType'; /** * The block info structure describes basic information of a block. diff --git a/src/model/message/EncryptedMessage.ts b/src/model/message/EncryptedMessage.ts index c4aba84240..8133f87f5e 100644 --- a/src/model/message/EncryptedMessage.ts +++ b/src/model/message/EncryptedMessage.ts @@ -16,7 +16,7 @@ import {Crypto, SHA3Hasher} from '../../core/crypto'; import {PublicAccount} from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import {Message} from './Message'; import {MessageType} from './MessageType'; import {PlainMessage} from './PlainMessage'; diff --git a/src/model/message/PersistentHarvestingDelegationMessage.ts b/src/model/message/PersistentHarvestingDelegationMessage.ts index 0cf489e0d4..c51d897f8f 100644 --- a/src/model/message/PersistentHarvestingDelegationMessage.ts +++ b/src/model/message/PersistentHarvestingDelegationMessage.ts @@ -17,7 +17,7 @@ import {Crypto, SHA3Hasher} from '../../core/crypto'; import { Convert } from '../../core/format/Convert'; import { Account } from '../account/Account'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { Message } from './Message'; import { MessageMarker } from './MessageMarker'; import { MessageType } from './MessageType'; diff --git a/src/model/model.ts b/src/model/model.ts index 4f97aa7e4a..75d93ee10f 100644 --- a/src/model/model.ts +++ b/src/model/model.ts @@ -32,10 +32,8 @@ export * from './account/AccountNames'; export * from './blockchain/BlockchainScore'; export * from './blockchain/StorageInfo'; export * from './blockchain/BlockInfo'; -export * from './blockchain/NetworkType'; export * from './blockchain/MerklePathItem'; export * from './blockchain/MerkleProofInfo'; -export * from './blockchain/NetworkName'; // Diagnostic export * from './node/ServerInfo'; @@ -72,6 +70,28 @@ export * from './namespace/NamespaceRegistrationType'; export * from './namespace/AliasAction'; export * from './namespace/EmptyAlias'; +// Network + +export * from './network/AccountLinkNetworkProperties'; +export * from './network/AccountRestrictionNetworkProperties'; +export * from './network/AggregateNetworkProperties'; +export * from './network/ChainProperties'; +export * from './network/HashLockNetworkProperties'; +export * from './network/MetadataNetworkProperties'; +export * from './network/MosaicNetworkProperties'; +export * from './network/MosaicRestrictionNetworkProperties'; +export * from './network/MultisigNetworkProperties'; +export * from './network/NamespaceNetworkProperties'; +export * from './network/NetworkConfiguration'; +export * from './network/NetworkName'; +export * from './network/NetworkProperties'; +export * from './network/NetworkType'; +export * from './network/PluginProperties'; +export * from './network/RentalFees'; +export * from './network/SecretLockNetworkProperties'; +export * from './network/TransactionFees'; +export * from './network/TransferNetworkProperties'; + // Node export * from './node/NodeInfo'; export * from './node/NodeTime'; diff --git a/src/model/network/AccountLinkNetworkProperties.ts b/src/model/network/AccountLinkNetworkProperties.ts new file mode 100644 index 0000000000..f7616dc256 --- /dev/null +++ b/src/model/network/AccountLinkNetworkProperties.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class AccountLinkNetworkProperties { + + /** + * @param dummy - to trigger plugin load. + */ + constructor(public readonly dummy?: string) { + } +} diff --git a/src/model/network/AccountRestrictionNetworkProperties.ts b/src/model/network/AccountRestrictionNetworkProperties.ts new file mode 100644 index 0000000000..d6a29dcbbc --- /dev/null +++ b/src/model/network/AccountRestrictionNetworkProperties.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class AccountRestrictionNetworkProperties { + + /** + * @param maxAccountRestrictionValues - Maximum number of account restriction values. + */ + constructor(public readonly maxAccountRestrictionValues?: string) { + } +} diff --git a/src/model/network/AggregateNetworkProperties.ts b/src/model/network/AggregateNetworkProperties.ts new file mode 100644 index 0000000000..ae3f8f1dcb --- /dev/null +++ b/src/model/network/AggregateNetworkProperties.ts @@ -0,0 +1,32 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + // tslint:disable: max-line-length +export class AggregateNetworkProperties { + /** + * @param maxTransactionsPerAggregate - Maximum number of transactions per aggregate. + * @param maxCosignaturesPerAggregate - Maximum number of cosignatures per aggregate. + * @param enableStrictCosignatureCheck - Set to true if cosignatures must exactly match component signers. Set to false if cosignatures should be validated externally. + * @param enableBondedAggregateSupport - Set to true if bonded aggregates should be allowed. Set to false if bonded aggregates should be rejected. + * @param maxBondedTransactionLifetime - Maximum lifetime a bonded transaction can have before it expires. + */ + constructor(public readonly maxTransactionsPerAggregate?: string, + public readonly maxCosignaturesPerAggregate?: string, + public readonly enableStrictCosignatureCheck?: boolean, + public readonly enableBondedAggregateSupport?: boolean, + public readonly maxBondedTransactionLifetime?: string) { + } +} diff --git a/src/model/network/ChainProperties.ts b/src/model/network/ChainProperties.ts new file mode 100644 index 0000000000..6de1d92b5b --- /dev/null +++ b/src/model/network/ChainProperties.ts @@ -0,0 +1,66 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License: string, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing: string, software + * distributed under the License is distributed on an "AS IS" BASIS: string, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND: string, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// tslint:disable: max-line-length +/** + * Chain related configuration properties. + */ +export class ChainProperties { + /** + * @param enableVerifiableState - Set to true if block chain should calculate state hashes so that state is fully verifiable at each block. + * @param enableVerifiableReceipts - Set to true if block chain should calculate receipts so that state changes are fully verifiable at each block. + * @param currencyMosaicId - Mosaic id used as primary chain currency. + * @param harvestingMosaicId - Mosaic id used to provide harvesting ability. + * @param blockGenerationTargetTime - Targeted time between blocks. + * @param blockTimeSmoothingFactor - A higher value makes the network more biased. + * @param importanceGrouping - Number of blocks that should be treated as a group for importance purposes. + * @param importanceActivityPercentage - Percentage of importance resulting from fee generation and beneficiary usage. + * @param maxRollbackBlocks - Maximum number of blocks that can be rolled back. + * @param maxDifficultyBlocks - Maximum number of blocks to use in a difficulty calculation. + * @param defaultDynamicFeeMultiplier - Default multiplier to use for dynamic fees. + * @param maxTransactionLifetime - Maximum lifetime a transaction can have before it expires. + * @param maxBlockFutureTime - Maximum future time of a block that can be accepted. + * @param initialCurrencyAtomicUnits - Initial currency atomic units available in the network. + * @param maxMosaicAtomicUnits - Maximum atomic units (total-supply * 10 ^ divisibility) of a mosaic allowed in the network. + * @param totalChainImportance - Total whole importance units available in the network. + * @param minHarvesterBalance - Minimum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting. + * @param maxHarvesterBalance - Maximum number of harvesting mosaic atomic units needed for an account to be eligible for harvesting. + * @param harvestBeneficiaryPercentage - Percentage of the harvested fee that is collected by the beneficiary account. + * @param blockPruneInterval - Number of blocks between cache pruning. + * @param maxTransactionsPerBlock - Maximum number of transactions per block. + */ + constructor(public readonly enableVerifiableState?: boolean, + public readonly enableVerifiableReceipts?: boolean, + public readonly currencyMosaicId?: string, + public readonly harvestingMosaicId?: string, + public readonly blockGenerationTargetTime?: string, + public readonly blockTimeSmoothingFactor?: string, + public readonly importanceGrouping?: string, + public readonly importanceActivityPercentage?: string, + public readonly maxRollbackBlocks?: string, + public readonly maxDifficultyBlocks?: string, + public readonly defaultDynamicFeeMultiplier?: string, + public readonly maxTransactionLifetime?: string, + public readonly maxBlockFutureTime?: string, + public readonly initialCurrencyAtomicUnits?: string, + public readonly maxMosaicAtomicUnits?: string, + public readonly totalChainImportance?: string, + public readonly minHarvesterBalance?: string, + public readonly maxHarvesterBalance?: string, + public readonly harvestBeneficiaryPercentage?: string, + public readonly blockPruneInterval?: string, + public readonly maxTransactionsPerBlock?: string) { + } +} diff --git a/src/model/network/HashLockNetworkProperties.ts b/src/model/network/HashLockNetworkProperties.ts new file mode 100644 index 0000000000..006354741c --- /dev/null +++ b/src/model/network/HashLockNetworkProperties.ts @@ -0,0 +1,26 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class HashLockNetworkProperties { + + /** + * @param lockedFundsPerAggregate - Amount that has to be locked per aggregate in partial cache. + * @param maxHashLockDuration - Maximum number of blocks for which a hash lock can exist. + */ + constructor(public readonly lockedFundsPerAggregate?: string, + public readonly maxHashLockDuration?: string) { + } +} diff --git a/src/model/network/MetadataNetworkProperties.ts b/src/model/network/MetadataNetworkProperties.ts new file mode 100644 index 0000000000..6cb37e0291 --- /dev/null +++ b/src/model/network/MetadataNetworkProperties.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class MetadataNetworkProperties { + + /** + * @param maxValueSize - Maximum metadata value size. + */ + constructor(public readonly maxValueSize?: string) { + } +} diff --git a/src/model/network/MosaicNetworkProperties.ts b/src/model/network/MosaicNetworkProperties.ts new file mode 100644 index 0000000000..0e2dc7d15c --- /dev/null +++ b/src/model/network/MosaicNetworkProperties.ts @@ -0,0 +1,31 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + export class MosaicNetworkProperties { + /** + * @param maxMosaicsPerAccount - Maximum number of mosaics that an account can own. + * @param maxMosaicDuration - Maximum mosaic duration. + * @param maxMosaicDivisibility - Maximum mosaic divisibility. + * @param mosaicRentalFeeSinkPublicKey - Public key of the mosaic rental fee sink account. + * @param mosaicRentalFee - Mosaic rental fee. + */ + constructor(public readonly maxMosaicsPerAccount?: string, + public readonly maxMosaicDuration?: string, + public readonly maxMosaicDivisibility?: string, + public readonly mosaicRentalFeeSinkPublicKey?: string, + public readonly mosaicRentalFee?: string) { + } +} diff --git a/src/model/network/MosaicRestrictionNetworkProperties.ts b/src/model/network/MosaicRestrictionNetworkProperties.ts new file mode 100644 index 0000000000..c1565a59f1 --- /dev/null +++ b/src/model/network/MosaicRestrictionNetworkProperties.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class MosaicRestrictionNetworkProperties { + + /** + * @param maxMosaicRestrictionValues - Maximum number of mosaic restriction values. + */ + constructor(public readonly maxMosaicRestrictionValues?: string) { + } +} diff --git a/src/model/network/MultisigNetworkProperties.ts b/src/model/network/MultisigNetworkProperties.ts new file mode 100644 index 0000000000..9cc4342983 --- /dev/null +++ b/src/model/network/MultisigNetworkProperties.ts @@ -0,0 +1,28 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class MultisigNetworkProperties { + + /** + * @param maxMultisigDepth - Maximum number of multisig levels. + * @param maxCosignatoriesPerAccount - Maximum number of cosignatories per account. + * @param maxCosignedAccountsPerAccount - Maximum number of accounts a single account can cosign. + */ + constructor(public readonly maxMultisigDepth?: string, + public readonly maxCosignatoriesPerAccount?: string, + public readonly maxCosignedAccountsPerAccount?: string) { + } +} diff --git a/src/model/network/NamespaceNetworkProperties.ts b/src/model/network/NamespaceNetworkProperties.ts new file mode 100644 index 0000000000..74c1e1f776 --- /dev/null +++ b/src/model/network/NamespaceNetworkProperties.ts @@ -0,0 +1,42 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class NamespaceNetworkProperties { + + /** + * @param maxNameSize - Maximum namespace name size. + * @param maxChildNamespaces - Maximum number of children for a root namespace. + * @param maxNamespaceDepth - Maximum namespace depth. + * @param minNamespaceDuration - Minimum namespace duration. + * @param maxNamespaceDuration - Maximum namespace duration. + * @param namespaceGracePeriodDuration - Grace period during which time only the previous owner can renew an expired namespace. + * @param reservedRootNamespaceNames - Reserved root namespaces that cannot be claimed. + * @param namespaceRentalFeeSinkPublicKey - Public key of the namespace rental fee sink account. + * @param rootNamespaceRentalFeePerBlock - Root namespace rental fee per block. + * @param childNamespaceRentalFee - Child namespace rental fee. + */ + constructor(public readonly maxNameSize?: string, + public readonly maxChildNamespaces?: string, + public readonly maxNamespaceDepth?: string, + public readonly minNamespaceDuration?: string, + public readonly maxNamespaceDuration?: string, + public readonly namespaceGracePeriodDuration?: string, + public readonly reservedRootNamespaceNames?: string, + public readonly namespaceRentalFeeSinkPublicKey?: string, + public readonly rootNamespaceRentalFeePerBlock?: string, + public readonly childNamespaceRentalFee?: string) { + } +} diff --git a/src/model/network/NetworkConfiguration.ts b/src/model/network/NetworkConfiguration.ts new file mode 100644 index 0000000000..56c9cec4ab --- /dev/null +++ b/src/model/network/NetworkConfiguration.ts @@ -0,0 +1,35 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ChainProperties } from './ChainProperties'; +import { NetworkProperties } from './NetworkProperties'; +import { PluginProperties } from './PluginProperties'; + +/** + * Network Configuration + */ +export class NetworkConfiguration { + + /** + * @param network - Network related configuration properties. + * @param chain - Chain related configuration properties. + * @param plugins - Plugin related configuration properties. + */ + constructor(public readonly network: NetworkProperties, + public readonly chain: ChainProperties, + public readonly plugins: PluginProperties) { + } +} diff --git a/src/model/blockchain/NetworkName.ts b/src/model/network/NetworkName.ts similarity index 100% rename from src/model/blockchain/NetworkName.ts rename to src/model/network/NetworkName.ts diff --git a/src/model/network/NetworkProperties.ts b/src/model/network/NetworkProperties.ts new file mode 100644 index 0000000000..c32e2e94b6 --- /dev/null +++ b/src/model/network/NetworkProperties.ts @@ -0,0 +1,37 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { NodeIdentityEqualityStrategy } from 'symbol-openapi-typescript-node-client'; + +/** + * Network related configuration properties. + */ +export class NetworkProperties { + + /** + * @param identifier - Network identifier. + * @param nodeEqualityStrategy - Node equality strategy. Defines if the identifier for the node must be its public key or host. + * @param publicKey - Nemesis public key. + * @param generationHash - Nemesis generation hash. + * @param epochAdjustment - Nemesis epoch time adjustment. + */ + constructor(public readonly identifier?: string, + public readonly nodeEqualityStrategy?: NodeIdentityEqualityStrategy, + public readonly publicKey?: string, + public readonly generationHash?: string, + public readonly epochAdjustment?: string) { + } +} diff --git a/src/model/blockchain/NetworkType.ts b/src/model/network/NetworkType.ts similarity index 100% rename from src/model/blockchain/NetworkType.ts rename to src/model/network/NetworkType.ts diff --git a/src/model/network/PluginProperties.ts b/src/model/network/PluginProperties.ts new file mode 100644 index 0000000000..3fd8d90b7d --- /dev/null +++ b/src/model/network/PluginProperties.ts @@ -0,0 +1,60 @@ +/* +import { AccountLinkNetworkProperties } from './AccountLinkNetworkProperties'; + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AccountLinkNetworkProperties } from './AccountLinkNetworkProperties'; +import { AccountRestrictionNetworkProperties } from './AccountRestrictionNetworkProperties'; +import { AggregateNetworkProperties } from './AggregateNetworkProperties'; +import { HashLockNetworkProperties } from './HashLockNetworkProperties'; +import { MetadataNetworkProperties } from './MetadataNetworkProperties'; +import { MosaicNetworkProperties } from './MosaicNetworkProperties'; +import { MosaicRestrictionNetworkProperties } from './MosaicRestrictionNetworkProperties'; +import { MultisigNetworkProperties } from './MultisigNetworkProperties'; +import { NamespaceNetworkProperties } from './NamespaceNetworkProperties'; +import { SecretLockNetworkProperties } from './SecretLockNetworkProperties'; +import { TransferNetworkProperties } from './TransferNetworkProperties'; + +/** + * Network related configuration properties. + */ +export class PluginProperties { + + /** + * @param accountlink - Network identifier. + * @param aggregate - Nemesis public key. + * @param lockhash - Nemesis generation hash. + * @param locksecret - Nemesis epoch time adjustment. + * @param metadata - + * @param mosaic - + * @param multisig - + * @param namespace - + * @param restrictionaccount - + * @param restrictionmosaic - + * @param transfer - + */ + constructor(public readonly accountlink?: AccountLinkNetworkProperties, + public readonly aggregate?: AggregateNetworkProperties, + public readonly lockhash?: HashLockNetworkProperties, + public readonly locksecret?: SecretLockNetworkProperties, + public readonly metadata?: MetadataNetworkProperties, + public readonly mosaic?: MosaicNetworkProperties, + public readonly multisig?: MultisigNetworkProperties, + public readonly namespace?: NamespaceNetworkProperties, + public readonly restrictionaccount?: AccountRestrictionNetworkProperties, + public readonly restrictionmosaic?: MosaicRestrictionNetworkProperties, + public readonly transfer?: TransferNetworkProperties) { + } +} diff --git a/src/model/network/RentalFees.ts b/src/model/network/RentalFees.ts new file mode 100644 index 0000000000..601dcce0c8 --- /dev/null +++ b/src/model/network/RentalFees.ts @@ -0,0 +1,33 @@ +/* + * Copyright 2019 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + import { UInt64 } from '../UInt64'; + +/** + * Rental Fees + */ +export class RentalFees { + // tslint:disable: max-line-length + /** + * @param effectiveRootNamespaceRentalFeePerBlock - Absolute amount. An amount of 123456789 (absolute) for a mosaic with divisibility 6 means 123.456789 (relative). + * @param effectiveChildNamespaceRentalFee - Absolute amount. An amount of 123456789 (absolute) for a mosaic with divisibility 6 means 123.456789 (relative). + * @param effectiveMosaicRentalFee - bsolute amount. An amount of 123456789 (absolute) for a mosaic with divisibility 6 means 123.456789 (relative). + */ + constructor(public readonly effectiveRootNamespaceRentalFeePerBlock: UInt64, + public readonly effectiveChildNamespaceRentalFee: UInt64, + public readonly effectiveMosaicRentalFee: UInt64) { + } +} diff --git a/src/model/network/SecretLockNetworkProperties.ts b/src/model/network/SecretLockNetworkProperties.ts new file mode 100644 index 0000000000..002cb9e214 --- /dev/null +++ b/src/model/network/SecretLockNetworkProperties.ts @@ -0,0 +1,28 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class SecretLockNetworkProperties { + + /** + * @param maxSecretLockDuration - Maximum number of blocks for which a secret lock can exist. + * @param minProofSize - Minimum size of a proof in bytes. + * @param maxProofSize - Maximum size of a proof in bytes. + */ + constructor(public readonly maxSecretLockDuration?: string, + public readonly minProofSize?: string, + public readonly maxProofSize?: string) { + } +} diff --git a/src/model/blockchain/NetworkFees.ts b/src/model/network/TransactionFees.ts similarity index 80% rename from src/model/blockchain/NetworkFees.ts rename to src/model/network/TransactionFees.ts index fb39b430fd..25c3b75ba3 100644 --- a/src/model/blockchain/NetworkFees.ts +++ b/src/model/network/TransactionFees.ts @@ -15,15 +15,15 @@ */ /** - * Network Fees + * Transacation Fees */ -export class NetworkFees { +export class TransactionFees { /** * @param averageFeeMultiplier - Average fee multiplier over the last \"numBlocksTransactionFeeStats\". * @param medianFeeMultiplier - Median fee multiplier over the last \"numBlocksTransactionFeeStats\". - * @param highestFeeMultiplier - Fee multiplier applied to transactions contained in block. - * @param lowestFeeMultiplier - Fee multiplier applied to transactions contained in block. + * @param highestFeeMultiplier - Highest fee multiplier over the last "numBlocksTransactionFeeStats". + * @param lowestFeeMultiplier - Lowest fee multiplier over the last "numBlocksTransactionFeeStats". */ constructor(public readonly averageFeeMultiplier: number, public readonly medianFeeMultiplier: number, diff --git a/src/model/network/TransferNetworkProperties.ts b/src/model/network/TransferNetworkProperties.ts new file mode 100644 index 0000000000..bac679f0d6 --- /dev/null +++ b/src/model/network/TransferNetworkProperties.ts @@ -0,0 +1,24 @@ +/* + * Copyright 2020 NEM + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class TransferNetworkProperties { + + /** + * @param maxMessageSize - Maximum transaction message size. + */ + constructor(public readonly maxMessageSize?: string) { + } +} diff --git a/src/model/node/NodeInfo.ts b/src/model/node/NodeInfo.ts index 1d0632366d..e4f8198b02 100644 --- a/src/model/node/NodeInfo.ts +++ b/src/model/node/NodeInfo.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { RoleType } from './RoleType'; /** * The node info structure describes basic information of a node. diff --git a/src/model/receipt/ResolutionStatement.ts b/src/model/receipt/ResolutionStatement.ts index 9884464d4c..ed2e536b8a 100644 --- a/src/model/receipt/ResolutionStatement.ts +++ b/src/model/receipt/ResolutionStatement.ts @@ -26,9 +26,9 @@ import { sha3_256 } from 'js-sha3'; import { RawAddress } from '../../core/format/RawAddress'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { ReceiptType } from './ReceiptType'; import { ReceiptVersion } from './ReceiptVersion'; diff --git a/src/model/transaction/AccountAddressRestrictionTransaction.ts b/src/model/transaction/AccountAddressRestrictionTransaction.ts index 293caa4eff..000878411b 100644 --- a/src/model/transaction/AccountAddressRestrictionTransaction.ts +++ b/src/model/transaction/AccountAddressRestrictionTransaction.ts @@ -29,8 +29,8 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { AccountRestrictionFlags } from '../restriction/AccountRestrictionType'; import { UInt64 } from '../UInt64'; @@ -55,8 +55,8 @@ export class AccountAddressRestrictionTransaction extends Transaction { */ public static create(deadline: Deadline, restrictionFlags: AccountRestrictionFlags, - restrictionAdditions: Array
, - restrictionDeletions: Array
, + restrictionAdditions: (Address | NamespaceId)[], + restrictionDeletions: (Address | NamespaceId)[], networkType: NetworkType, maxFee: UInt64 = new UInt64([0, 0])): AccountAddressRestrictionTransaction { return new AccountAddressRestrictionTransaction(networkType, @@ -85,8 +85,8 @@ export class AccountAddressRestrictionTransaction extends Transaction { deadline: Deadline, maxFee: UInt64, public readonly restrictionFlags: AccountRestrictionFlags, - public readonly restrictionAdditions: Array
, - public readonly restrictionDeletions: Array
, + public readonly restrictionAdditions: (Address | NamespaceId)[], + public readonly restrictionDeletions: (Address | NamespaceId)[], signature?: string, signer?: PublicAccount, transactionInfo?: TransactionInfo) { diff --git a/src/model/transaction/AccountLinkTransaction.ts b/src/model/transaction/AccountLinkTransaction.ts index eb64861a4d..784b408b41 100644 --- a/src/model/transaction/AccountLinkTransaction.ts +++ b/src/model/transaction/AccountLinkTransaction.ts @@ -25,7 +25,7 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/AccountMetadataTransaction.ts b/src/model/transaction/AccountMetadataTransaction.ts index 327627bda1..684aad60cf 100644 --- a/src/model/transaction/AccountMetadataTransaction.ts +++ b/src/model/transaction/AccountMetadataTransaction.ts @@ -25,7 +25,7 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/AccountMosaicRestrictionTransaction.ts b/src/model/transaction/AccountMosaicRestrictionTransaction.ts index 8a07ecaca5..5680e4d091 100644 --- a/src/model/transaction/AccountMosaicRestrictionTransaction.ts +++ b/src/model/transaction/AccountMosaicRestrictionTransaction.ts @@ -28,9 +28,9 @@ import { Convert } from '../../core/format'; import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { AccountRestrictionFlags } from '../restriction/AccountRestrictionType'; import { UInt64 } from '../UInt64'; @@ -55,8 +55,8 @@ export class AccountMosaicRestrictionTransaction extends Transaction { */ public static create(deadline: Deadline, restrictionFlags: AccountRestrictionFlags, - restrictionAdditions: Array, - restrictionDeletions: Array, + restrictionAdditions: (MosaicId | NamespaceId)[], + restrictionDeletions: (MosaicId | NamespaceId)[], networkType: NetworkType, maxFee: UInt64 = new UInt64([0, 0])): AccountMosaicRestrictionTransaction { return new AccountMosaicRestrictionTransaction(networkType, @@ -85,8 +85,8 @@ export class AccountMosaicRestrictionTransaction extends Transaction { deadline: Deadline, maxFee: UInt64, public readonly restrictionFlags: AccountRestrictionFlags, - public readonly restrictionAdditions: Array, - public readonly restrictionDeletions: Array, + public readonly restrictionAdditions: (MosaicId | NamespaceId)[], + public readonly restrictionDeletions: (MosaicId | NamespaceId)[], signature?: string, signer?: PublicAccount, transactionInfo?: TransactionInfo) { diff --git a/src/model/transaction/AccountOperationRestrictionTransaction.ts b/src/model/transaction/AccountOperationRestrictionTransaction.ts index 2da59c8fc2..7a3d334dc6 100644 --- a/src/model/transaction/AccountOperationRestrictionTransaction.ts +++ b/src/model/transaction/AccountOperationRestrictionTransaction.ts @@ -25,7 +25,7 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { AccountRestrictionFlags } from '../restriction/AccountRestrictionType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/AccountRestrictionTransaction.ts b/src/model/transaction/AccountRestrictionTransaction.ts index 7b5ff5638b..5b198ae189 100644 --- a/src/model/transaction/AccountRestrictionTransaction.ts +++ b/src/model/transaction/AccountRestrictionTransaction.ts @@ -15,9 +15,9 @@ */ import { Address } from '../account/Address'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { AccountRestrictionFlags } from '../restriction/AccountRestrictionType'; import { UInt64 } from '../UInt64'; import { AccountAddressRestrictionTransaction } from './AccountAddressRestrictionTransaction'; @@ -41,8 +41,8 @@ export class AccountRestrictionTransaction { public static createAddressRestrictionModificationTransaction( deadline: Deadline, restrictionFlags: AccountRestrictionFlags, - restrictionAdditions: Array
, - restrictionDeletions: Array
, + restrictionAdditions: (Address | NamespaceId)[], + restrictionDeletions: (Address | NamespaceId)[], networkType: NetworkType, maxFee: UInt64 = new UInt64([0, 0]), ): AccountAddressRestrictionTransaction { @@ -75,8 +75,8 @@ export class AccountRestrictionTransaction { public static createMosaicRestrictionModificationTransaction( deadline: Deadline, restrictionFlags: AccountRestrictionFlags, - restrictionAdditions: Array, - restrictionDeletions: Array, + restrictionAdditions: (MosaicId | NamespaceId)[], + restrictionDeletions: (MosaicId | NamespaceId)[], networkType: NetworkType, maxFee: UInt64 = new UInt64([0, 0]), ): AccountMosaicRestrictionTransaction { diff --git a/src/model/transaction/AddressAliasTransaction.ts b/src/model/transaction/AddressAliasTransaction.ts index d5f7593d32..4174d8e92a 100644 --- a/src/model/transaction/AddressAliasTransaction.ts +++ b/src/model/transaction/AddressAliasTransaction.ts @@ -28,9 +28,9 @@ import { import { Convert, RawAddress } from '../../core/format'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { AliasAction } from '../namespace/AliasAction'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/AggregateTransaction.ts b/src/model/transaction/AggregateTransaction.ts index 60790dd3d6..16fa41fe4a 100644 --- a/src/model/transaction/AggregateTransaction.ts +++ b/src/model/transaction/AggregateTransaction.ts @@ -33,7 +33,7 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { CreateTransactionFromPayload } from '../../infrastructure/transaction/CreateTransactionFromPayload'; import { Account } from '../account/Account'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { AggregateTransactionCosignature } from './AggregateTransactionCosignature'; diff --git a/src/model/transaction/AggregateTransactionCosignature.ts b/src/model/transaction/AggregateTransactionCosignature.ts index 4e9fc3a33b..55a0e09345 100644 --- a/src/model/transaction/AggregateTransactionCosignature.ts +++ b/src/model/transaction/AggregateTransactionCosignature.ts @@ -15,7 +15,7 @@ */ import {PublicAccount} from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; /** * Model representing cosignature of an aggregate transaction. */ diff --git a/src/model/transaction/AliasTransaction.ts b/src/model/transaction/AliasTransaction.ts index 4b023a0575..321f3e012c 100644 --- a/src/model/transaction/AliasTransaction.ts +++ b/src/model/transaction/AliasTransaction.ts @@ -15,10 +15,10 @@ */ import { Address } from '../account/Address'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { AliasAction } from '../namespace/AliasAction'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { AddressAliasTransaction } from './AddressAliasTransaction'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/LockFundsTransaction.ts b/src/model/transaction/LockFundsTransaction.ts index 7b9395c3bb..27145c6c6c 100644 --- a/src/model/transaction/LockFundsTransaction.ts +++ b/src/model/transaction/LockFundsTransaction.ts @@ -30,9 +30,9 @@ import { import { Convert } from '../../core/format'; import { DtoMapping } from '../../core/utils/DtoMapping'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { Mosaic } from '../mosaic/Mosaic'; import { MosaicId } from '../mosaic/MosaicId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/MosaicAddressRestrictionTransaction.ts b/src/model/transaction/MosaicAddressRestrictionTransaction.ts index b9fc59f7fb..598342da18 100644 --- a/src/model/transaction/MosaicAddressRestrictionTransaction.ts +++ b/src/model/transaction/MosaicAddressRestrictionTransaction.ts @@ -30,9 +30,9 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/MosaicAliasTransaction.ts b/src/model/transaction/MosaicAliasTransaction.ts index 2a29713330..420c975590 100644 --- a/src/model/transaction/MosaicAliasTransaction.ts +++ b/src/model/transaction/MosaicAliasTransaction.ts @@ -27,10 +27,10 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { AliasAction } from '../namespace/AliasAction'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/MosaicDefinitionTransaction.ts b/src/model/transaction/MosaicDefinitionTransaction.ts index 4c537560ab..ba5fee1622 100644 --- a/src/model/transaction/MosaicDefinitionTransaction.ts +++ b/src/model/transaction/MosaicDefinitionTransaction.ts @@ -28,10 +28,10 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicFlags } from '../mosaic/MosaicFlags'; import { MosaicId } from '../mosaic/MosaicId'; import { MosaicNonce } from '../mosaic/MosaicNonce'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/MosaicGlobalRestrictionTransaction.ts b/src/model/transaction/MosaicGlobalRestrictionTransaction.ts index eacc12a23c..8eaabb8ccf 100644 --- a/src/model/transaction/MosaicGlobalRestrictionTransaction.ts +++ b/src/model/transaction/MosaicGlobalRestrictionTransaction.ts @@ -28,9 +28,9 @@ import { Convert } from '../../core/format'; import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { MosaicRestrictionType } from '../restriction/MosaicRestrictionType'; import { UInt64 } from '../UInt64'; diff --git a/src/model/transaction/MosaicMetadataTransaction.ts b/src/model/transaction/MosaicMetadataTransaction.ts index fccf89c2a9..41e21d2214 100644 --- a/src/model/transaction/MosaicMetadataTransaction.ts +++ b/src/model/transaction/MosaicMetadataTransaction.ts @@ -28,9 +28,9 @@ import { Convert } from '../../core/format'; import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/MosaicSupplyChangeTransaction.ts b/src/model/transaction/MosaicSupplyChangeTransaction.ts index b742da2266..a2cee6f602 100644 --- a/src/model/transaction/MosaicSupplyChangeTransaction.ts +++ b/src/model/transaction/MosaicSupplyChangeTransaction.ts @@ -28,10 +28,10 @@ import { Convert } from '../../core/format'; import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { MosaicId } from '../mosaic/MosaicId'; import { MosaicSupplyChangeAction } from '../mosaic/MosaicSupplyChangeAction'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/MultisigAccountModificationTransaction.ts b/src/model/transaction/MultisigAccountModificationTransaction.ts index dfd68c2f5e..399d329a92 100644 --- a/src/model/transaction/MultisigAccountModificationTransaction.ts +++ b/src/model/transaction/MultisigAccountModificationTransaction.ts @@ -25,7 +25,7 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/NamespaceMetadataTransaction.ts b/src/model/transaction/NamespaceMetadataTransaction.ts index 4bcd502c11..a2e6df2457 100644 --- a/src/model/transaction/NamespaceMetadataTransaction.ts +++ b/src/model/transaction/NamespaceMetadataTransaction.ts @@ -26,8 +26,8 @@ import { } from 'catbuffer-typescript'; import { Convert } from '../../core/format'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/NamespaceRegistrationTransaction.ts b/src/model/transaction/NamespaceRegistrationTransaction.ts index 3490fe9e08..9bb4e98643 100644 --- a/src/model/transaction/NamespaceRegistrationTransaction.ts +++ b/src/model/transaction/NamespaceRegistrationTransaction.ts @@ -28,9 +28,9 @@ import { import { Convert, Convert as convert } from '../../core/format'; import { NamespaceMosaicIdGenerator } from '../../infrastructure/transaction/NamespaceMosaicIdGenerator'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { NamespaceId } from '../namespace/NamespaceId'; import { NamespaceRegistrationType } from '../namespace/NamespaceRegistrationType'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; diff --git a/src/model/transaction/PersistentDelegationRequestTransaction.ts b/src/model/transaction/PersistentDelegationRequestTransaction.ts index 93e52137f6..d971c30acc 100644 --- a/src/model/transaction/PersistentDelegationRequestTransaction.ts +++ b/src/model/transaction/PersistentDelegationRequestTransaction.ts @@ -15,8 +15,8 @@ */ import { Address } from '../account/Address'; -import { NetworkType } from '../blockchain/NetworkType'; import { PersistentHarvestingDelegationMessage } from '../message/PersistentHarvestingDelegationMessage'; +import { NetworkType } from '../network/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { TransferTransaction } from './TransferTransaction'; diff --git a/src/model/transaction/SecretLockTransaction.ts b/src/model/transaction/SecretLockTransaction.ts index 3adeaeb0bd..3dc82dab84 100644 --- a/src/model/transaction/SecretLockTransaction.ts +++ b/src/model/transaction/SecretLockTransaction.ts @@ -32,9 +32,9 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { Mosaic } from '../mosaic/Mosaic'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/SecretProofTransaction.ts b/src/model/transaction/SecretProofTransaction.ts index 4869ed51e0..5f4db4f18c 100644 --- a/src/model/transaction/SecretProofTransaction.ts +++ b/src/model/transaction/SecretProofTransaction.ts @@ -30,8 +30,8 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/transaction/SignedTransaction.ts b/src/model/transaction/SignedTransaction.ts index e8a9010d8d..8644b47fed 100644 --- a/src/model/transaction/SignedTransaction.ts +++ b/src/model/transaction/SignedTransaction.ts @@ -16,7 +16,7 @@ import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import {NetworkType} from '../blockchain/NetworkType'; +import {NetworkType} from '../network/NetworkType'; import { TransactionType } from './TransactionType'; /** diff --git a/src/model/transaction/Transaction.ts b/src/model/transaction/Transaction.ts index 2ae1fde1c3..ec5c2edc2a 100644 --- a/src/model/transaction/Transaction.ts +++ b/src/model/transaction/Transaction.ts @@ -21,7 +21,7 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { SerializeTransactionToJSON } from '../../infrastructure/transaction/SerializeTransactionToJSON'; import { Account } from '../account/Account'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { AggregateTransactionInfo } from './AggregateTransactionInfo'; diff --git a/src/model/transaction/TransferTransaction.ts b/src/model/transaction/TransferTransaction.ts index a8f20fa4ed..26464ef947 100644 --- a/src/model/transaction/TransferTransaction.ts +++ b/src/model/transaction/TransferTransaction.ts @@ -33,13 +33,13 @@ import { DtoMapping } from '../../core/utils/DtoMapping'; import { UnresolvedMapping } from '../../core/utils/UnresolvedMapping'; import { Address } from '../account/Address'; import { PublicAccount } from '../account/PublicAccount'; -import { NetworkType } from '../blockchain/NetworkType'; import { EncryptedMessage } from '../message/EncryptedMessage'; import { Message } from '../message/Message'; import { MessageType } from '../message/MessageType'; import { PlainMessage } from '../message/PlainMessage'; import { Mosaic } from '../mosaic/Mosaic'; import { NamespaceId } from '../namespace/NamespaceId'; +import { NetworkType } from '../network/NetworkType'; import { Statement } from '../receipt/Statement'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; diff --git a/src/model/wallet/SimpleWallet.ts b/src/model/wallet/SimpleWallet.ts index 8e55d8c023..94663fdff6 100644 --- a/src/model/wallet/SimpleWallet.ts +++ b/src/model/wallet/SimpleWallet.ts @@ -19,7 +19,7 @@ import {Crypto, KeyPair, SHA3Hasher} from '../../core/crypto'; import {Convert as convert} from '../../core/format'; import {Account} from '../account/Account'; import {Address} from '../account/Address'; -import {NetworkType} from '../blockchain/NetworkType'; +import {NetworkType} from '../network/NetworkType'; import {EncryptedPrivateKey} from './EncryptedPrivateKey'; import {ISimpleWalletDTO} from './ISimpleWalletDTO'; import {Password} from './Password'; diff --git a/src/model/wallet/Wallet.ts b/src/model/wallet/Wallet.ts index b8ed8cca04..e7ae15ae3f 100644 --- a/src/model/wallet/Wallet.ts +++ b/src/model/wallet/Wallet.ts @@ -17,7 +17,7 @@ import {LocalDateTime} from 'js-joda'; import {Account} from '../account/Account'; import {Address} from '../account/Address'; -import {NetworkType} from '../blockchain/NetworkType'; +import {NetworkType} from '../network/NetworkType'; import {Password} from './Password'; /** diff --git a/src/service/MetadataTransactionService.ts b/src/service/MetadataTransactionService.ts index dc4d1acf5c..59a8554536 100644 --- a/src/service/MetadataTransactionService.ts +++ b/src/service/MetadataTransactionService.ts @@ -20,11 +20,11 @@ import { Convert } from '../core/format/Convert'; import { MetadataRepository } from '../infrastructure/MetadataRepository'; import { Address } from '../model/account/Address'; import { PublicAccount } from '../model/account/PublicAccount'; -import { NetworkType } from '../model/blockchain/NetworkType'; import { Metadata } from '../model/metadata/Metadata'; import { MetadataType } from '../model/metadata/MetadataType'; import { MosaicId } from '../model/mosaic/MosaicId'; import { NamespaceId } from '../model/namespace/NamespaceId'; +import { NetworkType } from '../model/network/NetworkType'; import { AccountMetadataTransaction } from '../model/transaction/AccountMetadataTransaction'; import { Deadline } from '../model/transaction/Deadline'; import { MosaicMetadataTransaction } from '../model/transaction/MosaicMetadataTransaction'; diff --git a/src/service/MosaicRestrictionTransactionService.ts b/src/service/MosaicRestrictionTransactionService.ts index e068ea4df9..d522de89d0 100644 --- a/src/service/MosaicRestrictionTransactionService.ts +++ b/src/service/MosaicRestrictionTransactionService.ts @@ -21,9 +21,9 @@ import { mergeMap } from 'rxjs/operators'; import { NamespaceRepository } from '../infrastructure/NamespaceRepository'; import { RestrictionMosaicRepository } from '../infrastructure/RestrictionMosaicRepository'; import { Address } from '../model/account/Address'; -import { NetworkType } from '../model/blockchain/NetworkType'; import { MosaicId } from '../model/mosaic/MosaicId'; import { NamespaceId } from '../model/namespace/NamespaceId'; +import { NetworkType } from '../model/network/NetworkType'; import { MosaicGlobalRestriction } from '../model/restriction/MosaicGlobalRestriction'; import { MosaicGlobalRestrictionItem } from '../model/restriction/MosaicGlobalRestrictionItem'; import { MosaicRestrictionType } from '../model/restriction/MosaicRestrictionType'; diff --git a/src/service/TransactionService.ts b/src/service/TransactionService.ts index 8946d809ca..c0fd3bf768 100644 --- a/src/service/TransactionService.ts +++ b/src/service/TransactionService.ts @@ -112,14 +112,16 @@ export class TransactionService implements ITransactionService { /** * @internal * - * This method publishes an error if the listener receives an error code for the given address and transaction hash. Otherwise, it returns the passed transactionObservable + * This method publishes an error if the listener receives an error code for the given address & transaction hash. + * Otherwise, it returns the passed transactionObservable * * @param listener the listener. * @param address the signer address * @param transactionHash the transaction hash * @param transactionObservable the observable with the valid transaction */ - private getTransactionOrRaiseError(listener: IListener, address: Address, transactionHash: string, transactionObservable: Observable): Observable { + private getTransactionOrRaiseError(listener: IListener, address: Address, transactionHash: string, + transactionObservable: Observable): Observable { const errorObservable = listener.status(address).pipe(filter((t) => t.hash.toUpperCase() === transactionHash.toUpperCase())); return merge(transactionObservable, errorObservable).pipe(first(), map((errorOrTransaction) => { if (errorOrTransaction instanceof TransactionStatusError) { diff --git a/test/conf/conf.spec.ts b/test/conf/conf.spec.ts index 10c755fad5..d3b6c76927 100644 --- a/test/conf/conf.spec.ts +++ b/test/conf/conf.spec.ts @@ -15,7 +15,7 @@ */ import {Account} from '../../src/model/account/Account'; -import {NetworkType} from '../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../src/model/network/NetworkType'; export const TestingAccount = Account.createFromPrivateKey( '26b64cb10f005e5988a36744ca19e20d835ccc7c105aaa5f3b212da593180930', diff --git a/test/core/crypto/keyPair.spec.ts b/test/core/crypto/keyPair.spec.ts index 42ad183b5e..ba8d8477f6 100644 --- a/test/core/crypto/keyPair.spec.ts +++ b/test/core/crypto/keyPair.spec.ts @@ -17,7 +17,7 @@ import { expect } from 'chai'; import { Crypto, KeyPair } from '../../../src/core/crypto'; import * as Utility from '../../../src/core/crypto/Utilities'; import { Convert } from '../../../src/core/format/Convert'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('key pair', () => { const randomKeyPair = () => diff --git a/test/core/utils/TransactionMapping.spec.ts b/test/core/utils/TransactionMapping.spec.ts index 5bf7987125..e161b42e75 100644 --- a/test/core/utils/TransactionMapping.spec.ts +++ b/test/core/utils/TransactionMapping.spec.ts @@ -22,7 +22,6 @@ import { TransactionMapping } from '../../../src/core/utils/TransactionMapping'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; import { PublicAccount } from '../../../src/model/account/PublicAccount'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { EncryptedMessage } from '../../../src/model/message/EncryptedMessage'; import { MessageType } from '../../../src/model/message/MessageType'; import { PlainMessage } from '../../../src/model/message/PlainMessage'; @@ -35,6 +34,7 @@ import { NetworkCurrencyLocal } from '../../../src/model/mosaic/NetworkCurrencyL import { AliasAction } from '../../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; import { NamespaceRegistrationType } from '../../../src/model/namespace/NamespaceRegistrationType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { AccountRestrictionModificationAction } from '../../../src/model/restriction/AccountRestrictionModificationAction'; import { AccountRestrictionFlags } from '../../../src/model/restriction/AccountRestrictionType'; import { MosaicRestrictionType } from '../../../src/model/restriction/MosaicRestrictionType'; diff --git a/test/core/utils/UnresolvedMapping.spec.ts b/test/core/utils/UnresolvedMapping.spec.ts index d8df75651f..1740d081d7 100644 --- a/test/core/utils/UnresolvedMapping.spec.ts +++ b/test/core/utils/UnresolvedMapping.spec.ts @@ -17,9 +17,9 @@ import { expect } from 'chai'; import { Convert, RawAddress } from '../../../src/core/format'; import { UnresolvedMapping } from '../../../src/core/utils/UnresolvedMapping'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('UnresolvedMapping', () => { let mosaicId: MosaicId; diff --git a/test/infrastructure/NetworkHttp.spec.ts b/test/infrastructure/NetworkHttp.spec.ts index 545fd77d6e..9e61d08b54 100644 --- a/test/infrastructure/NetworkHttp.spec.ts +++ b/test/infrastructure/NetworkHttp.spec.ts @@ -15,12 +15,35 @@ */ import { expect } from 'chai'; import * as http from 'http'; -import { NetworkFeesDTO, NetworkRoutesApi, NetworkTypeDTO, NodeInfoDTO, NodeRoutesApi } from 'symbol-openapi-typescript-node-client'; +import { NetworkRoutesApi, + NetworkTypeDTO, + NodeInfoDTO, + NodeRoutesApi, + TransactionFeesDTO, + RentalFeesDTO, + NetworkConfigurationDTO, + NetworkPropertiesDTO, + NodeIdentityEqualityStrategy, + ChainPropertiesDTO, + PluginsPropertiesDTO, + AccountLinkNetworkPropertiesDTO, + AggregateNetworkPropertiesDTO, + HashLockNetworkPropertiesDTO, + SecretLockNetworkPropertiesDTO, + MetadataNetworkPropertiesDTO, + MosaicNetworkPropertiesDTO, + MultisigNetworkPropertiesDTO, + NamespaceNetworkPropertiesDTO, + AccountRestrictionNetworkPropertiesDTO, + MosaicRestrictionNetworkPropertiesDTO, + TransferNetworkPropertiesDTO } from 'symbol-openapi-typescript-node-client'; import { instance, mock, reset, when } from 'ts-mockito'; import { DtoMapping } from '../../src/core/utils/DtoMapping'; import { NetworkHttp } from '../../src/infrastructure/NetworkHttp'; import { NodeHttp } from '../../src/infrastructure/NodeHttp'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; +import { deepEqual } from 'assert'; +import * as testResources from '../resource/TestResources'; describe('NetworkHttp', () => { const url = 'http://someHost'; @@ -40,17 +63,17 @@ describe('NetworkHttp', () => { reset(networkRoutesApi); }); - it('getNetworkFees', async () => { + it('getTransactionFees', async () => { - const body = new NetworkFeesDTO(); + const body = new TransactionFeesDTO(); body.averageFeeMultiplier = 1; body.highestFeeMultiplier = 2; body.lowestFeeMultiplier = 3; body.medianFeeMultiplier = 4; - when(networkRoutesApi.getNetworkFees()).thenReturn(Promise.resolve({response, body})); + when(networkRoutesApi.getTransactionFees()).thenReturn(Promise.resolve({response, body})); - const networkFees = await networkRepository.getNetworkFees().toPromise(); + const networkFees = await networkRepository.getTransactionFees().toPromise(); expect(networkFees).to.be.not.null; expect(networkFees.averageFeeMultiplier).to.be.equals(1); expect(networkFees.highestFeeMultiplier).to.be.equals(2); @@ -58,6 +81,22 @@ describe('NetworkHttp', () => { expect(networkFees.medianFeeMultiplier).to.be.equals(4); }); + it('getRentalFees', async () => { + + const body = new RentalFeesDTO(); + body.effectiveChildNamespaceRentalFee = '1'; + body.effectiveMosaicRentalFee = '2'; + body.effectiveRootNamespaceRentalFeePerBlock = '3'; + + when(networkRoutesApi.getRentalFees()).thenReturn(Promise.resolve({response, body})); + + const rentalFees = await networkRepository.getRentalFees().toPromise(); + expect(rentalFees).to.be.not.null; + expect(rentalFees.effectiveChildNamespaceRentalFee.toString()).to.be.equals('1'); + expect(rentalFees.effectiveMosaicRentalFee.toString()).to.be.equals('2'); + expect(rentalFees.effectiveRootNamespaceRentalFeePerBlock.toString()).to.be.equals('3'); + }); + it('getNetworkType', async () => { const body = new NodeInfoDTO(); @@ -82,4 +121,114 @@ describe('NetworkHttp', () => { expect(networkName.name).to.be.equals(body.name); }); + it('getNetworkProperties', async () => { + + const body = new NetworkConfigurationDTO(); + + const network = new NetworkPropertiesDTO(); + network.identifier = 'id'; + network.nodeEqualityStrategy = NodeIdentityEqualityStrategy.Host; + network.publicKey = 'pubKey'; + network.generationHash = 'genHash'; + network.epochAdjustment = '123456'; + + const chain = new ChainPropertiesDTO(); + chain.blockGenerationTargetTime = '1'; + chain.blockPruneInterval = '1'; + chain.blockTimeSmoothingFactor = '1'; + chain.currencyMosaicId = '1111111111111111'; + chain.defaultDynamicFeeMultiplier = '1'; + chain.enableVerifiableReceipts = true; + chain.enableVerifiableState = true; + chain.harvestBeneficiaryPercentage = '1'; + chain.harvestingMosaicId = '2222222222222222'; + chain.importanceActivityPercentage = '1'; + chain.importanceGrouping = '1'; + chain.initialCurrencyAtomicUnits = '1'; + chain.maxBlockFutureTime = '1'; + chain.maxDifficultyBlocks = '1'; + chain.maxHarvesterBalance = '1'; + chain.maxMosaicAtomicUnits = '1'; + chain.maxRollbackBlocks = '1'; + chain.maxTransactionLifetime = '1'; + chain.maxTransactionsPerBlock = '1'; + chain.minHarvesterBalance = '1'; + chain.totalChainImportance = '1'; + + const plugin = new PluginsPropertiesDTO(); + plugin.accountlink = new AccountLinkNetworkPropertiesDTO(); + plugin.accountlink.dummy = 'dummy'; + + plugin.aggregate = new AggregateNetworkPropertiesDTO(); + plugin.aggregate.enableBondedAggregateSupport = true; + plugin.aggregate.enableStrictCosignatureCheck = true; + plugin.aggregate.maxBondedTransactionLifetime = '1'; + plugin.aggregate.maxCosignaturesPerAggregate = '1'; + plugin.aggregate.maxTransactionsPerAggregate = '1'; + + plugin.lockhash = new HashLockNetworkPropertiesDTO(); + plugin.lockhash.lockedFundsPerAggregate = '1'; + plugin.lockhash.maxHashLockDuration = '1'; + + plugin.locksecret = new SecretLockNetworkPropertiesDTO(); + plugin.locksecret.maxProofSize = '1'; + plugin.locksecret.maxSecretLockDuration = '1'; + plugin.locksecret.minProofSize = '1'; + + plugin.metadata = new MetadataNetworkPropertiesDTO(); + plugin.metadata.maxValueSize = '1'; + + plugin.mosaic = new MosaicNetworkPropertiesDTO(); + plugin.mosaic.maxMosaicDivisibility = '1'; + plugin.mosaic.maxMosaicDuration = '1'; + plugin.mosaic.maxMosaicsPerAccount = '1'; + plugin.mosaic.mosaicRentalFee = '1'; + plugin.mosaic.mosaicRentalFeeSinkPublicKey = '1'; + + plugin.multisig = new MultisigNetworkPropertiesDTO(); + plugin.multisig.maxCosignatoriesPerAccount = '1'; + plugin.multisig.maxCosignedAccountsPerAccount = '1'; + plugin.multisig.maxMultisigDepth = '1'; + + plugin.namespace = new NamespaceNetworkPropertiesDTO(); + plugin.namespace.childNamespaceRentalFee = '1'; + plugin.namespace.maxChildNamespaces = '1'; + plugin.namespace.maxNameSize = '1'; + plugin.namespace.maxNamespaceDepth = '1'; + plugin.namespace.maxNamespaceDuration = '1'; + plugin.namespace.minNamespaceDuration = '1'; + plugin.namespace.namespaceGracePeriodDuration = '1'; + plugin.namespace.namespaceRentalFeeSinkPublicKey = '1'; + plugin.namespace.reservedRootNamespaceNames = '1'; + plugin.namespace.rootNamespaceRentalFeePerBlock = '1'; + + plugin.restrictionaccount = new AccountRestrictionNetworkPropertiesDTO(); + plugin.restrictionaccount.maxAccountRestrictionValues = '1'; + + plugin.restrictionmosaic = new MosaicRestrictionNetworkPropertiesDTO(); + plugin.restrictionmosaic.maxMosaicRestrictionValues = '1'; + + plugin.transfer = new TransferNetworkPropertiesDTO(); + plugin.transfer.maxMessageSize = '1'; + + body.chain = chain; + body.network = network; + body.plugins = plugin; + + when(networkRoutesApi.getNetworkProperties()).thenReturn(Promise.resolve({response, body})); + + const networkProperties = await networkRepository.getNetworkProperties().toPromise(); + deepEqual(networkProperties.network, body.network); + deepEqual(networkProperties.chain, body.chain); + deepEqual(networkProperties.plugins, body.plugins); + }); + + it('getNetworkProperties - using rest json payload', async () => { + const body = testResources.getDummyNetworkProperties(); + when(networkRoutesApi.getNetworkProperties()).thenReturn(Promise.resolve({response, body})); + const networkProperties = await networkRepository.getNetworkProperties().toPromise(); + deepEqual(networkProperties.network, body.network); + deepEqual(networkProperties.chain, body.chain); + deepEqual(networkProperties.plugins, body.plugins); + }); }); diff --git a/test/infrastructure/NodeHttp.spec.ts b/test/infrastructure/NodeHttp.spec.ts index db62b06607..52ce4dbc82 100644 --- a/test/infrastructure/NodeHttp.spec.ts +++ b/test/infrastructure/NodeHttp.spec.ts @@ -31,7 +31,7 @@ import { import { instance, mock, reset, when } from 'ts-mockito'; import { DtoMapping } from '../../src/core/utils/DtoMapping'; import { NodeHttp } from '../../src/infrastructure/NodeHttp'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; describe('NodeHttp', () => { @@ -162,7 +162,7 @@ describe('NodeHttp', () => { it('getStorageInfo on Exception', async () => { when(nodeRoutesApi.getNodeStorage()).thenReturn(Promise.reject({ - response: {statusCode: 500, statusMessage: 'Some Error', body: 'The Body',}, + response: {statusCode: 500, statusMessage: 'Some Error', body: 'The Body'}, })); try { await nodeRepository.getStorageInfo().toPromise(); diff --git a/test/infrastructure/RepositoryFactory.spec.ts b/test/infrastructure/RepositoryFactory.spec.ts index 9400c71815..269960b59a 100644 --- a/test/infrastructure/RepositoryFactory.spec.ts +++ b/test/infrastructure/RepositoryFactory.spec.ts @@ -21,7 +21,7 @@ import { BlockRepository } from '../../src/infrastructure/BlockRepository'; import { NetworkRepository } from '../../src/infrastructure/NetworkRepository'; import { RepositoryFactoryHttp } from '../../src/infrastructure/RepositoryFactoryHttp'; import { BlockInfo } from '../../src/model/blockchain/BlockInfo'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { UInt64 } from '../../src/model/UInt64'; describe('RepositoryFactory', () => { diff --git a/test/infrastructure/SerializeTransactionToJSON.spec.ts b/test/infrastructure/SerializeTransactionToJSON.spec.ts index 49c0275d1a..e94620a4e8 100644 --- a/test/infrastructure/SerializeTransactionToJSON.spec.ts +++ b/test/infrastructure/SerializeTransactionToJSON.spec.ts @@ -20,7 +20,6 @@ import { Convert as convert } from '../../src/core/format'; import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; import { PublicAccount } from '../../src/model/account/PublicAccount'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { MosaicFlags } from '../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; @@ -29,6 +28,7 @@ import { MosaicSupplyChangeAction } from '../../src/model/mosaic/MosaicSupplyCha import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { AliasAction } from '../../src/model/namespace/AliasAction'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AccountRestrictionFlags } from '../../src/model/restriction/AccountRestrictionType'; import { AccountLinkTransaction } from '../../src/model/transaction/AccountLinkTransaction'; import { AccountRestrictionTransaction } from '../../src/model/transaction/AccountRestrictionTransaction'; diff --git a/test/infrastructure/TransactionHttp.spec.ts b/test/infrastructure/TransactionHttp.spec.ts index 1a82929076..dcee18bdfa 100644 --- a/test/infrastructure/TransactionHttp.spec.ts +++ b/test/infrastructure/TransactionHttp.spec.ts @@ -27,8 +27,8 @@ import { deepEqual, instance, mock, when } from 'ts-mockito'; import { TransactionHttp } from '../../src/infrastructure/TransactionHttp'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { TransferTransaction } from '../../src/model/transaction/TransferTransaction'; diff --git a/test/infrastructure/receipt/CreateReceiptFromDTO.spec.ts b/test/infrastructure/receipt/CreateReceiptFromDTO.spec.ts index 9d84277290..20f4047ed1 100644 --- a/test/infrastructure/receipt/CreateReceiptFromDTO.spec.ts +++ b/test/infrastructure/receipt/CreateReceiptFromDTO.spec.ts @@ -19,9 +19,9 @@ import { expect } from 'chai'; import { CreateStatementFromDTO } from '../../../src/infrastructure/receipt/CreateReceiptFromDTO'; import {Account} from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { ReceiptType } from '../../../src/model/receipt/ReceiptType'; import { UInt64 } from '../../../src/model/UInt64'; diff --git a/test/model/account/Account.spec.ts b/test/model/account/Account.spec.ts index 3b0cdc12c0..183a366393 100644 --- a/test/model/account/Account.spec.ts +++ b/test/model/account/Account.spec.ts @@ -17,7 +17,7 @@ import {expect} from 'chai'; import { Convert } from '../../../src/core/format/Convert'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; describe('Account', () => { const accountInformation = { diff --git a/test/model/account/AccountInfo.spec.ts b/test/model/account/AccountInfo.spec.ts index aea56c7d3f..775fa89194 100644 --- a/test/model/account/AccountInfo.spec.ts +++ b/test/model/account/AccountInfo.spec.ts @@ -20,9 +20,9 @@ import {AccountInfo} from '../../../src/model/account/AccountInfo'; import { ActivityBucket } from '../../../src/model/account/ActivityBucket'; import {Address} from '../../../src/model/account/Address'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {Mosaic} from '../../../src/model/mosaic/Mosaic'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; describe('AccountInfo', () => { diff --git a/test/model/account/Address.spec.ts b/test/model/account/Address.spec.ts index 0578e7d522..ca7db5c9bd 100644 --- a/test/model/account/Address.spec.ts +++ b/test/model/account/Address.spec.ts @@ -17,7 +17,7 @@ import { expect } from 'chai'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; const Address_Decoded_Size = 25; diff --git a/test/model/account/MultisigAccountGraphInfo.spec.ts b/test/model/account/MultisigAccountGraphInfo.spec.ts index 0965eaf87a..45df95e7cd 100644 --- a/test/model/account/MultisigAccountGraphInfo.spec.ts +++ b/test/model/account/MultisigAccountGraphInfo.spec.ts @@ -19,7 +19,7 @@ import {expect} from 'chai'; import {MultisigAccountGraphInfo} from '../../../src/model/account/MultisigAccountGraphInfo'; import {MultisigAccountInfo} from '../../../src/model/account/MultisigAccountInfo'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; describe('MultisigAccountGraphInfo', () => { diff --git a/test/model/account/MultisigAccountInfo.spec.ts b/test/model/account/MultisigAccountInfo.spec.ts index 3b92e3415f..54f27d5ede 100644 --- a/test/model/account/MultisigAccountInfo.spec.ts +++ b/test/model/account/MultisigAccountInfo.spec.ts @@ -17,7 +17,7 @@ import {expect} from 'chai'; import {MultisigAccountInfo} from '../../../src/model/account/MultisigAccountInfo'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; describe('MultisigAccountInfo', () => { const multisigAccountInfoDTO = { diff --git a/test/model/account/PublicAccount.spec.ts b/test/model/account/PublicAccount.spec.ts index f6f742a61e..4dd719f29e 100644 --- a/test/model/account/PublicAccount.spec.ts +++ b/test/model/account/PublicAccount.spec.ts @@ -17,7 +17,7 @@ import { expect } from 'chai'; import { Account } from '../../../src/model/account/Account'; import { PublicAccount } from '../../../src/model/account/PublicAccount'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('PublicAccount', () => { const publicKey = 'b4f12e7c9f6946091e2cb8b6d3a12b50d17ccbbf646386ea27ce2946a7423dcf'; diff --git a/test/model/message/PersistentHarvestingDelegationMessage.spec.ts b/test/model/message/PersistentHarvestingDelegationMessage.spec.ts index cabccca84b..c76c879e2a 100644 --- a/test/model/message/PersistentHarvestingDelegationMessage.spec.ts +++ b/test/model/message/PersistentHarvestingDelegationMessage.spec.ts @@ -16,9 +16,9 @@ import {expect} from 'chai'; import {Account} from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MessageType } from '../../../src/model/message/MessageType'; import {PersistentHarvestingDelegationMessage} from '../../../src/model/message/PersistentHarvestingDelegationMessage'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { PersistentDelegationRequestTransaction } from '../../../src/model/transaction/PersistentDelegationRequestTransaction'; diff --git a/test/model/mosaic/MosaicAmountView.spec.ts b/test/model/mosaic/MosaicAmountView.spec.ts index 04544aed14..72bbab4cdd 100644 --- a/test/model/mosaic/MosaicAmountView.spec.ts +++ b/test/model/mosaic/MosaicAmountView.spec.ts @@ -16,10 +16,10 @@ import {expect} from 'chai'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicFlags} from '../../../src/model/mosaic/MosaicFlags'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {MosaicInfo} from '../../../src/model/mosaic/MosaicInfo'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; import {MosaicAmountView} from '../../../src/service/MosaicAmountView'; diff --git a/test/model/mosaic/MosaicId.spec.ts b/test/model/mosaic/MosaicId.spec.ts index 1ba7c5670b..e376be6b32 100644 --- a/test/model/mosaic/MosaicId.spec.ts +++ b/test/model/mosaic/MosaicId.spec.ts @@ -15,10 +15,10 @@ */ import { deepEqual } from 'assert'; import { PublicAccount } from '../../../src/model/account/PublicAccount'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { Id } from '../../../src/model/Id'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../../src/model/mosaic/MosaicNonce'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('MosaicId', () => { const publicKey = 'b4f12e7c9f6946091e2cb8b6d3a12b50d17ccbbf646386ea27ce2946a7423dcf'; diff --git a/test/model/mosaic/MosaicInfo.spec.ts b/test/model/mosaic/MosaicInfo.spec.ts index 10f2069328..6439174a05 100644 --- a/test/model/mosaic/MosaicInfo.spec.ts +++ b/test/model/mosaic/MosaicInfo.spec.ts @@ -17,10 +17,10 @@ import {deepEqual} from 'assert'; import {expect} from 'chai'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicFlags} from '../../../src/model/mosaic/MosaicFlags'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {MosaicInfo} from '../../../src/model/mosaic/MosaicInfo'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; describe('MosaicInfo', () => { diff --git a/test/model/mosaic/MosaicView.spec.ts b/test/model/mosaic/MosaicView.spec.ts index 5d19187a0b..996db20578 100644 --- a/test/model/mosaic/MosaicView.spec.ts +++ b/test/model/mosaic/MosaicView.spec.ts @@ -16,10 +16,10 @@ import {expect} from 'chai'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../../src/model/mosaic/MosaicFlags'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {MosaicInfo} from '../../../src/model/mosaic/MosaicInfo'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; import {MosaicView} from '../../../src/service/MosaicView'; diff --git a/test/model/namespace/Alias.spec.ts b/test/model/namespace/Alias.spec.ts index 996e64ef1c..669ade46d7 100644 --- a/test/model/namespace/Alias.spec.ts +++ b/test/model/namespace/Alias.spec.ts @@ -17,13 +17,13 @@ import {deepEqual} from 'assert'; import {expect} from 'chai'; import {Address} from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {AddressAlias} from '../../../src/model/namespace/AddressAlias'; import {Alias} from '../../../src/model/namespace/Alias'; import {AliasType} from '../../../src/model/namespace/AliasType'; import {EmptyAlias} from '../../../src/model/namespace/EmptyAlias'; import {MosaicAlias} from '../../../src/model/namespace/MosaicAlias'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; describe('Alias', () => { diff --git a/test/model/namespace/NamespaceInfo.spec.ts b/test/model/namespace/NamespaceInfo.spec.ts index e0a4457905..e63a5f0149 100644 --- a/test/model/namespace/NamespaceInfo.spec.ts +++ b/test/model/namespace/NamespaceInfo.spec.ts @@ -17,10 +17,10 @@ import {deepEqual} from 'assert'; import {expect} from 'chai'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {NamespaceId} from '../../../src/model/namespace/NamespaceId'; import {NamespaceInfo} from '../../../src/model/namespace/NamespaceInfo'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {UInt64} from '../../../src/model/UInt64'; describe('NamespaceInfo', () => { diff --git a/test/model/blockchain/NetworkType.spec.ts b/test/model/network/NetworkType.spec.ts similarity index 94% rename from test/model/blockchain/NetworkType.spec.ts rename to test/model/network/NetworkType.spec.ts index 13e9fff664..d018a5445d 100644 --- a/test/model/blockchain/NetworkType.spec.ts +++ b/test/model/network/NetworkType.spec.ts @@ -15,7 +15,7 @@ */ import {expect} from 'chai'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; describe('NetworkType', () => { it('MAIN_NET is 0x68', () => { diff --git a/test/model/receipt/Receipt.spec.ts b/test/model/receipt/Receipt.spec.ts index 0c80ea03d4..3ad33b82ca 100644 --- a/test/model/receipt/Receipt.spec.ts +++ b/test/model/receipt/Receipt.spec.ts @@ -23,9 +23,9 @@ import { import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; import { PublicAccount } from '../../../src/model/account/PublicAccount'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { ArtifactExpiryReceipt } from '../../../src/model/receipt/ArtifactExpiryReceipt'; import { BalanceChangeReceipt } from '../../../src/model/receipt/BalanceChangeReceipt'; import { BalanceTransferReceipt } from '../../../src/model/receipt/BalanceTransferReceipt'; diff --git a/test/model/receipt/ResolutionStatement.spec.ts b/test/model/receipt/ResolutionStatement.spec.ts index 9649864236..5a6b092680 100644 --- a/test/model/receipt/ResolutionStatement.spec.ts +++ b/test/model/receipt/ResolutionStatement.spec.ts @@ -17,8 +17,8 @@ import { expect } from 'chai'; import { CreateStatementFromDTO } from '../../../src/infrastructure/receipt/CreateReceiptFromDTO'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { Address, MosaicId, NamespaceId, ResolutionType } from '../../../src/model/model'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('ResolutionStatement', () => { let account: Account; diff --git a/test/model/receipt/Statement.spec.ts b/test/model/receipt/Statement.spec.ts index c0d99f5f3c..d26b413f74 100644 --- a/test/model/receipt/Statement.spec.ts +++ b/test/model/receipt/Statement.spec.ts @@ -18,8 +18,8 @@ import { expect } from 'chai'; import { UnresolvedMapping } from '../../../src/core/utils/UnresolvedMapping'; import { CreateStatementFromDTO } from '../../../src/infrastructure/receipt/CreateReceiptFromDTO'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { Address, MosaicId, NamespaceId, ResolutionType } from '../../../src/model/model'; +import { NetworkType } from '../../../src/model/network/NetworkType'; describe('Statement', () => { let account: Account; diff --git a/test/model/transaction/AccountLinkTransaction.spec.ts b/test/model/transaction/AccountLinkTransaction.spec.ts index 72c2826b22..889d7a6e86 100644 --- a/test/model/transaction/AccountLinkTransaction.spec.ts +++ b/test/model/transaction/AccountLinkTransaction.spec.ts @@ -17,7 +17,7 @@ import { expect } from 'chai'; import {Convert} from '../../../src/core/format'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { AccountLinkTransaction } from '../../../src/model/transaction/AccountLinkTransaction'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { LinkAction } from '../../../src/model/transaction/LinkAction'; diff --git a/test/model/transaction/AccountMetadataTransaction.spec.ts b/test/model/transaction/AccountMetadataTransaction.spec.ts index 4defc457f3..d9dda03acc 100644 --- a/test/model/transaction/AccountMetadataTransaction.spec.ts +++ b/test/model/transaction/AccountMetadataTransaction.spec.ts @@ -17,7 +17,7 @@ import { expect } from 'chai'; import { Convert } from '../../../src/core/format/Convert'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { AccountMetadataTransaction } from '../../../src/model/transaction/AccountMetadataTransaction'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { UInt64 } from '../../../src/model/UInt64'; diff --git a/test/model/transaction/AccountRestrictionTransaction.spec.ts b/test/model/transaction/AccountRestrictionTransaction.spec.ts index 7ce075a035..461c078df6 100644 --- a/test/model/transaction/AccountRestrictionTransaction.spec.ts +++ b/test/model/transaction/AccountRestrictionTransaction.spec.ts @@ -18,8 +18,8 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; import {Address} from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { AccountRestrictionModificationAction } from '../../../src/model/restriction/AccountRestrictionModificationAction'; import { AccountRestrictionFlags } from '../../../src/model/restriction/AccountRestrictionType'; import { AccountRestrictionModification } from '../../../src/model/transaction/AccountRestrictionModification'; diff --git a/test/model/transaction/AddressAliasTransaction.spec.ts b/test/model/transaction/AddressAliasTransaction.spec.ts index b68154c471..db8d7b954b 100644 --- a/test/model/transaction/AddressAliasTransaction.spec.ts +++ b/test/model/transaction/AddressAliasTransaction.spec.ts @@ -18,10 +18,10 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; import {Address} from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {AliasAction} from '../../../src/model/namespace/AliasAction'; import {NamespaceId} from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {AddressAliasTransaction} from '../../../src/model/transaction/AddressAliasTransaction'; import {Deadline} from '../../../src/model/transaction/Deadline'; import {UInt64} from '../../../src/model/UInt64'; diff --git a/test/model/transaction/AggregateTransaction.spec.ts b/test/model/transaction/AggregateTransaction.spec.ts index d5a3f2b86e..4c1c4f1fa4 100644 --- a/test/model/transaction/AggregateTransaction.spec.ts +++ b/test/model/transaction/AggregateTransaction.spec.ts @@ -22,7 +22,6 @@ import { CreateTransactionFromDTO } from '../../../src/infrastructure/transactio import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; import { PublicAccount } from '../../../src/model/account/PublicAccount'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../../src/model/message/PlainMessage'; import { Mosaic } from '../../../src/model/mosaic/Mosaic'; import { MosaicFlags } from '../../../src/model/mosaic/MosaicFlags'; @@ -31,6 +30,7 @@ import { MosaicNonce } from '../../../src/model/mosaic/MosaicNonce'; import { MosaicSupplyChangeAction } from '../../../src/model/mosaic/MosaicSupplyChangeAction'; import { NetworkCurrencyLocal } from '../../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/CosignatureTransaction.spec.ts b/test/model/transaction/CosignatureTransaction.spec.ts index bf13629857..1c5555559e 100644 --- a/test/model/transaction/CosignatureTransaction.spec.ts +++ b/test/model/transaction/CosignatureTransaction.spec.ts @@ -17,8 +17,8 @@ import {expect} from 'chai'; import {CreateTransactionFromDTO} from '../../../src/infrastructure/transaction/CreateTransactionFromDTO'; import {Account} from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../../src/model/message/PlainMessage'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import {AggregateTransaction} from '../../../src/model/transaction/AggregateTransaction'; import {CosignatureTransaction} from '../../../src/model/transaction/CosignatureTransaction'; import { Deadline } from '../../../src/model/transaction/Deadline'; diff --git a/test/model/transaction/HashLockTransaction.spec.ts b/test/model/transaction/HashLockTransaction.spec.ts index 65a2fca403..9b5682dfa3 100644 --- a/test/model/transaction/HashLockTransaction.spec.ts +++ b/test/model/transaction/HashLockTransaction.spec.ts @@ -15,8 +15,8 @@ */ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { NetworkCurrencyLocal } from '../../../src/model/mosaic/NetworkCurrencyLocal'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {AggregateTransaction} from '../../../src/model/transaction/AggregateTransaction'; import {Deadline} from '../../../src/model/transaction/Deadline'; import {HashLockTransaction} from '../../../src/model/transaction/HashLockTransaction'; diff --git a/test/model/transaction/LockFundsTransaction.spec.ts b/test/model/transaction/LockFundsTransaction.spec.ts index f43a11b4c7..cf2a8a9cba 100644 --- a/test/model/transaction/LockFundsTransaction.spec.ts +++ b/test/model/transaction/LockFundsTransaction.spec.ts @@ -17,11 +17,11 @@ import {deepEqual} from 'assert'; import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { Mosaic } from '../../../src/model/mosaic/Mosaic'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import {NetworkCurrencyLocal} from '../../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/MosaicAddressRestrictionTransaction.spec.ts b/test/model/transaction/MosaicAddressRestrictionTransaction.spec.ts index 63f6e2b595..5aceec8548 100644 --- a/test/model/transaction/MosaicAddressRestrictionTransaction.spec.ts +++ b/test/model/transaction/MosaicAddressRestrictionTransaction.spec.ts @@ -18,9 +18,9 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/MosaicAliasTransaction.spec.ts b/test/model/transaction/MosaicAliasTransaction.spec.ts index 3e9f775b44..e8cf306a03 100644 --- a/test/model/transaction/MosaicAliasTransaction.spec.ts +++ b/test/model/transaction/MosaicAliasTransaction.spec.ts @@ -17,10 +17,10 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {AliasAction} from '../../../src/model/namespace/AliasAction'; import {NamespaceId} from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {Deadline} from '../../../src/model/transaction/Deadline'; import {MosaicAliasTransaction} from '../../../src/model/transaction/MosaicAliasTransaction'; import {UInt64} from '../../../src/model/UInt64'; diff --git a/test/model/transaction/MosaicDefinitionTransaction.spec.ts b/test/model/transaction/MosaicDefinitionTransaction.spec.ts index c1a4d9bc42..1529e2c211 100644 --- a/test/model/transaction/MosaicDefinitionTransaction.spec.ts +++ b/test/model/transaction/MosaicDefinitionTransaction.spec.ts @@ -17,10 +17,10 @@ import { expect } from 'chai'; import { Convert } from '../../../src/core/format'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MosaicFlags } from '../../../src/model/mosaic/MosaicFlags'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { MosaicNonce } from '../../../src/model/mosaic/MosaicNonce'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { MosaicDefinitionTransaction } from '../../../src/model/transaction/MosaicDefinitionTransaction'; import { UInt64 } from '../../../src/model/UInt64'; diff --git a/test/model/transaction/MosaicGlobalRestrictionTransaction.spec.ts b/test/model/transaction/MosaicGlobalRestrictionTransaction.spec.ts index 846f631733..fe733553fe 100644 --- a/test/model/transaction/MosaicGlobalRestrictionTransaction.spec.ts +++ b/test/model/transaction/MosaicGlobalRestrictionTransaction.spec.ts @@ -17,9 +17,9 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/MosaicMetadataTransaction.spec.ts b/test/model/transaction/MosaicMetadataTransaction.spec.ts index 5394522694..d084164cef 100644 --- a/test/model/transaction/MosaicMetadataTransaction.spec.ts +++ b/test/model/transaction/MosaicMetadataTransaction.spec.ts @@ -17,9 +17,9 @@ import { expect } from 'chai'; import { Convert } from '../../../src/core/format/Convert'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/MosaicSupplyChangeTransaction.spec.ts b/test/model/transaction/MosaicSupplyChangeTransaction.spec.ts index 77f2fdaa90..6a42f809b4 100644 --- a/test/model/transaction/MosaicSupplyChangeTransaction.spec.ts +++ b/test/model/transaction/MosaicSupplyChangeTransaction.spec.ts @@ -17,10 +17,10 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import {MosaicId} from '../../../src/model/mosaic/MosaicId'; import {MosaicSupplyChangeAction} from '../../../src/model/mosaic/MosaicSupplyChangeAction'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/MultisigAccountModificationTransaction.spec.ts b/test/model/transaction/MultisigAccountModificationTransaction.spec.ts index ff5a2ae193..18bdcfe5b8 100644 --- a/test/model/transaction/MultisigAccountModificationTransaction.spec.ts +++ b/test/model/transaction/MultisigAccountModificationTransaction.spec.ts @@ -18,7 +18,7 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {Deadline} from '../../../src/model/transaction/Deadline'; import {MultisigAccountModificationTransaction} from '../../../src/model/transaction/MultisigAccountModificationTransaction'; import {UInt64} from '../../../src/model/UInt64'; diff --git a/test/model/transaction/MultisigCosignatoryModification.spec.ts b/test/model/transaction/MultisigCosignatoryModification.spec.ts index 125d732869..c313c565c3 100644 --- a/test/model/transaction/MultisigCosignatoryModification.spec.ts +++ b/test/model/transaction/MultisigCosignatoryModification.spec.ts @@ -16,7 +16,7 @@ import {expect} from 'chai'; import {PublicAccount} from '../../../src/model/account/PublicAccount'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {CosignatoryModificationAction} from '../../../src/model/transaction/CosignatoryModificationAction'; import {MultisigCosignatoryModification} from '../../../src/model/transaction/MultisigCosignatoryModification'; diff --git a/test/model/transaction/NamespaceMetadataTransaction.spec.ts b/test/model/transaction/NamespaceMetadataTransaction.spec.ts index efbb5a45db..801735c777 100644 --- a/test/model/transaction/NamespaceMetadataTransaction.spec.ts +++ b/test/model/transaction/NamespaceMetadataTransaction.spec.ts @@ -17,8 +17,8 @@ import { expect } from 'chai'; import { Convert } from '../../../src/core/format/Convert'; import { Account } from '../../../src/model/account/Account'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { NamespaceMetadataTransaction } from '../../../src/model/transaction/NamespaceMetadataTransaction'; import { UInt64 } from '../../../src/model/UInt64'; diff --git a/test/model/transaction/NamespaceRegistrationTransaction.spec.ts b/test/model/transaction/NamespaceRegistrationTransaction.spec.ts index 921a3bd457..38fd8bd2d7 100644 --- a/test/model/transaction/NamespaceRegistrationTransaction.spec.ts +++ b/test/model/transaction/NamespaceRegistrationTransaction.spec.ts @@ -17,8 +17,8 @@ import {expect} from 'chai'; import {Convert} from '../../../src/core/format'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {Deadline} from '../../../src/model/transaction/Deadline'; import {NamespaceRegistrationTransaction} from '../../../src/model/transaction/NamespaceRegistrationTransaction'; import {UInt64} from '../../../src/model/UInt64'; diff --git a/test/model/transaction/PersistentDelegationRequestTransaction.spec.ts b/test/model/transaction/PersistentDelegationRequestTransaction.spec.ts index db339164d2..fb5e2a71e4 100644 --- a/test/model/transaction/PersistentDelegationRequestTransaction.spec.ts +++ b/test/model/transaction/PersistentDelegationRequestTransaction.spec.ts @@ -17,8 +17,8 @@ import { expect } from 'chai'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MessageMarker } from '../../../src/model/message/MessageMarker'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { PersistentDelegationRequestTransaction, diff --git a/test/model/transaction/SecretLockTransaction.spec.ts b/test/model/transaction/SecretLockTransaction.spec.ts index ebb2d0cb04..9d394e512c 100644 --- a/test/model/transaction/SecretLockTransaction.spec.ts +++ b/test/model/transaction/SecretLockTransaction.spec.ts @@ -20,11 +20,11 @@ import {keccak_256, sha3_256} from 'js-sha3'; import {Convert, Convert as convert} from '../../../src/core/format'; import { Account } from '../../../src/model/account/Account'; import {Address} from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { Mosaic } from '../../../src/model/mosaic/Mosaic'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import {NetworkCurrencyLocal} from '../../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/SecretProofTransaction.spec.ts b/test/model/transaction/SecretProofTransaction.spec.ts index 6ea61c6300..e118cefe26 100644 --- a/test/model/transaction/SecretProofTransaction.spec.ts +++ b/test/model/transaction/SecretProofTransaction.spec.ts @@ -19,8 +19,8 @@ import {keccak_256, sha3_256} from 'js-sha3'; import {Convert, Convert as convert} from '../../../src/core/format'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import { ReceiptSource } from '../../../src/model/receipt/ReceiptSource'; import { ResolutionEntry } from '../../../src/model/receipt/ResolutionEntry'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; diff --git a/test/model/transaction/SignedTransaction.spec.ts b/test/model/transaction/SignedTransaction.spec.ts index 02e132ee6c..a6c2875ea6 100644 --- a/test/model/transaction/SignedTransaction.spec.ts +++ b/test/model/transaction/SignedTransaction.spec.ts @@ -15,7 +15,7 @@ */ import {expect} from 'chai'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {SignedTransaction} from '../../../src/model/transaction/SignedTransaction'; import {TransactionType} from '../../../src/model/transaction/TransactionType'; diff --git a/test/model/transaction/Transaction.spec.ts b/test/model/transaction/Transaction.spec.ts index eaeeee963b..0f9de203b2 100644 --- a/test/model/transaction/Transaction.spec.ts +++ b/test/model/transaction/Transaction.spec.ts @@ -19,8 +19,8 @@ import { expect } from 'chai'; import { Convert } from '../../../src/core/format/Convert'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../../src/model/message/PlainMessage'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../../src/model/transaction/Deadline'; import { SignedTransaction } from '../../../src/model/transaction/SignedTransaction'; diff --git a/test/model/transaction/TransferTransaction.spec.ts b/test/model/transaction/TransferTransaction.spec.ts index d810cc281e..19fd40c058 100644 --- a/test/model/transaction/TransferTransaction.spec.ts +++ b/test/model/transaction/TransferTransaction.spec.ts @@ -19,7 +19,6 @@ import {Convert} from '../../../src/core/format'; import { CreateTransactionFromPayload } from '../../../src/infrastructure/transaction/CreateTransactionFromPayload'; import { Account } from '../../../src/model/account/Account'; import { Address } from '../../../src/model/account/Address'; -import { NetworkType } from '../../../src/model/blockchain/NetworkType'; import { MessageMarker } from '../../../src/model/message/MessageMarker'; import { MessageType } from '../../../src/model/message/MessageType'; import { PersistentHarvestingDelegationMessage } from '../../../src/model/message/PersistentHarvestingDelegationMessage'; @@ -29,6 +28,7 @@ import { Mosaic } from '../../../src/model/mosaic/Mosaic'; import { MosaicId } from '../../../src/model/mosaic/MosaicId'; import { NetworkCurrencyLocal } from '../../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../../src/model/network/NetworkType'; import { ResolutionStatement } from '../../../src/model/receipt/ResolutionStatement'; import { Statement } from '../../../src/model/receipt/Statement'; import { Deadline } from '../../../src/model/transaction/Deadline'; diff --git a/test/model/wallet/SimpleWallet.spec.ts b/test/model/wallet/SimpleWallet.spec.ts index 0dce309b56..7fc3434bda 100644 --- a/test/model/wallet/SimpleWallet.spec.ts +++ b/test/model/wallet/SimpleWallet.spec.ts @@ -16,7 +16,7 @@ import {expect} from 'chai'; import {Account} from '../../../src/model/account/Account'; -import {NetworkType} from '../../../src/model/blockchain/NetworkType'; +import {NetworkType} from '../../../src/model/network/NetworkType'; import {Password} from '../../../src/model/wallet/Password'; import {SimpleWallet} from '../../../src/model/wallet/SimpleWallet'; diff --git a/test/resource/TestResources.ts b/test/resource/TestResources.ts new file mode 100644 index 0000000000..fc844192c7 --- /dev/null +++ b/test/resource/TestResources.ts @@ -0,0 +1,91 @@ +export const getDummyNetworkProperties = () => { + return JSON.parse(`{ + "network": { + "identifier": "public-test", + "nodeEqualityStrategy": "public-key", + "publicKey": "86E8FDE6F3FE540ADC1B3A78DFA9B9E735736FC520E0D9C9CD4ADD3255CD9605", + "generationHash": "E759C7C56FD20021C8F0CC7FF5F108A2FEBA3312F6EC6D6A702DF87657FEC55C", + "epochAdjustment": "1573430400s" + }, + "chain": { + "enableVerifiableState": true, + "enableVerifiableReceipts": true, + "currencyMosaicId": "0x605E'BB80'8E3A'21C6", + "harvestingMosaicId": "0x501C'4C79'2FEB'D419", + "blockGenerationTargetTime": "15s", + "blockTimeSmoothingFactor": "3000", + "importanceGrouping": "1433", + "importanceActivityPercentage": "5", + "maxRollbackBlocks": "398", + "maxDifficultyBlocks": "60", + "defaultDynamicFeeMultiplier": "1'000", + "maxTransactionLifetime": "24h", + "maxBlockFutureTime": "500ms", + "initialCurrencyAtomicUnits": "8'998'999'998'000'000", + "maxMosaicAtomicUnits": "9'000'000'000'000'000", + "totalChainImportance": "15'000'000", + "minHarvesterBalance": "500", + "maxHarvesterBalance": "50'000'000'000'000", + "harvestBeneficiaryPercentage": "10", + "blockPruneInterval": "360", + "maxTransactionsPerBlock": "6'000" + }, + "plugins": { + "accountlink": { + "dummy": "to trigger plugin load" + }, + "aggregate": { + "maxTransactionsPerAggregate": "1'000", + "maxCosignaturesPerAggregate": "25", + "enableStrictCosignatureCheck": false, + "enableBondedAggregateSupport": true, + "maxBondedTransactionLifetime": "48h" + }, + "lockhash": { + "lockedFundsPerAggregate": "10'000'000", + "maxHashLockDuration": "2d" + }, + "locksecret": { + "maxSecretLockDuration": "30d", + "minProofSize": "1", + "maxProofSize": "1000" + }, + "metadata": { + "maxValueSize": "1024" + }, + "mosaic": { + "maxMosaicsPerAccount": "1'000", + "maxMosaicDuration": "3650d", + "maxMosaicDivisibility": "6", + "mosaicRentalFeeSinkPublicKey": "53E140B5947F104CABC2D6FE8BAEDBC30EF9A0609C717D9613DE593EC2A266D3", + "mosaicRentalFee": "500" + }, + "multisig": { + "maxMultisigDepth": "3", + "maxCosignatoriesPerAccount": "25", + "maxCosignedAccountsPerAccount": "25" + }, + "namespace": { + "maxNameSize": "64", + "maxChildNamespaces": "256", + "maxNamespaceDepth": "3", + "minNamespaceDuration": "1m", + "maxNamespaceDuration": "365d", + "namespaceGracePeriodDuration": "30d", + "reservedRootNamespaceNames": "xem, nem, user, account, org, com, biz, net, edu, mil, gov, info", + "namespaceRentalFeeSinkPublicKey": "3E82E1C1E4A75ADAA3CBA8C101C3CD31D9817A2EB966EB3B511FB2ED45B8E262", + "rootNamespaceRentalFeePerBlock": "1", + "childNamespaceRentalFee": "100" + }, + "restrictionaccount": { + "maxAccountRestrictionValues": "512" + }, + "restrictionmosaic": { + "maxMosaicRestrictionValues": "20" + }, + "transfer": { + "maxMessageSize": "1024" + } + } + }`); + }; diff --git a/test/service/AggregateTransactionService.spec.ts b/test/service/AggregateTransactionService.spec.ts index e15a57f276..5808745618 100644 --- a/test/service/AggregateTransactionService.spec.ts +++ b/test/service/AggregateTransactionService.spec.ts @@ -24,8 +24,8 @@ import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; import { MultisigAccountGraphInfo } from '../../src/model/account/MultisigAccountGraphInfo'; import { MultisigAccountInfo } from '../../src/model/account/MultisigAccountInfo'; -import {NetworkType} from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; +import {NetworkType} from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { MultisigAccountModificationTransaction } from '../../src/model/transaction/MultisigAccountModificationTransaction'; diff --git a/test/service/BlockService.spec.ts b/test/service/BlockService.spec.ts index 23f8e65be4..8713cb7bda 100644 --- a/test/service/BlockService.spec.ts +++ b/test/service/BlockService.spec.ts @@ -25,7 +25,7 @@ import { Account } from '../../src/model/account/Account'; import { BlockInfo } from '../../src/model/blockchain/BlockInfo'; import { MerklePathItem } from '../../src/model/blockchain/MerklePathItem'; import { MerkleProofInfo } from '../../src/model/blockchain/MerkleProofInfo'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { UInt64 } from '../../src/model/UInt64'; import { BlockService } from '../../src/service/BlockService'; import { TestingAccount } from '../conf/conf.spec'; diff --git a/test/service/MetadataTransactionservice.spec.ts b/test/service/MetadataTransactionservice.spec.ts index 6a88a391f3..cc988efff8 100644 --- a/test/service/MetadataTransactionservice.spec.ts +++ b/test/service/MetadataTransactionservice.spec.ts @@ -20,12 +20,12 @@ import { deepEqual, instance, mock, when } from 'ts-mockito'; import { Convert } from '../../src/core/format/Convert'; import { MetadataRepository } from '../../src/infrastructure/MetadataRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { Metadata } from '../../src/model/metadata/Metadata'; import { MetadataEntry } from '../../src/model/metadata/MetadataEntry'; import { MetadataType } from '../../src/model/metadata/MetadataType'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AccountMetadataTransaction } from '../../src/model/transaction/AccountMetadataTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { MosaicMetadataTransaction } from '../../src/model/transaction/MosaicMetadataTransaction'; diff --git a/test/service/MosaicRestrictionTransactionservice.spec.ts b/test/service/MosaicRestrictionTransactionservice.spec.ts index cfa0f9ab74..4b629431e8 100644 --- a/test/service/MosaicRestrictionTransactionservice.spec.ts +++ b/test/service/MosaicRestrictionTransactionservice.spec.ts @@ -21,9 +21,9 @@ import { KeyGenerator } from '../../src/core/format/KeyGenerator'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { RestrictionMosaicRepository } from '../../src/infrastructure/RestrictionMosaicRepository'; import { Account } from '../../src/model/account/Account'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { MosaicId } from '../../src/model/mosaic/MosaicId'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { MosaicAddressRestriction } from '../../src/model/restriction/MosaicAddressRestriction'; import { MosaicGlobalRestriction } from '../../src/model/restriction/MosaicGlobalRestriction'; import { MosaicGlobalRestrictionItem } from '../../src/model/restriction/MosaicGlobalRestrictionItem'; diff --git a/test/service/NamespaceService.spec.ts b/test/service/NamespaceService.spec.ts index dda67196b7..30eda39e28 100644 --- a/test/service/NamespaceService.spec.ts +++ b/test/service/NamespaceService.spec.ts @@ -19,11 +19,11 @@ import { of as observableOf } from 'rxjs'; import { deepEqual, instance, mock, when } from 'ts-mockito'; import { NamespaceRepository } from '../../src/infrastructure/NamespaceRepository'; import { PublicAccount } from '../../src/model/account/PublicAccount'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { EmptyAlias } from '../../src/model/namespace/EmptyAlias'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; import { NamespaceInfo } from '../../src/model/namespace/NamespaceInfo'; import { NamespaceName } from '../../src/model/namespace/NamespaceName'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { UInt64 } from '../../src/model/UInt64'; import { NamespaceService } from '../../src/service/NamespaceService'; diff --git a/test/service/TransactionService.spec.ts b/test/service/TransactionService.spec.ts index 79e2ff1763..3825f76c56 100644 --- a/test/service/TransactionService.spec.ts +++ b/test/service/TransactionService.spec.ts @@ -24,11 +24,11 @@ import { TransactionRepository } from '../../src/infrastructure/TransactionRepos import { Account } from '../../src/model/account/Account'; import { Address } from '../../src/model/account/Address'; -import { NetworkType } from '../../src/model/blockchain/NetworkType'; import { PlainMessage } from '../../src/model/message/PlainMessage'; import { Mosaic } from '../../src/model/mosaic/Mosaic'; import { NetworkCurrencyLocal } from '../../src/model/mosaic/NetworkCurrencyLocal'; import { NamespaceId } from '../../src/model/namespace/NamespaceId'; +import { NetworkType } from '../../src/model/network/NetworkType'; import { AggregateTransaction } from '../../src/model/transaction/AggregateTransaction'; import { Deadline } from '../../src/model/transaction/Deadline'; import { HashLockTransaction } from '../../src/model/transaction/HashLockTransaction';