diff --git a/lib/dataContract/validateDataContractFactory.js b/lib/dataContract/validateDataContractFactory.js index d64a9075e..f08f58d7b 100644 --- a/lib/dataContract/validateDataContractFactory.js +++ b/lib/dataContract/validateDataContractFactory.js @@ -9,13 +9,11 @@ const UndefinedIndexPropertyError = require('../errors/UndefinedIndexPropertyErr const InvalidIndexPropertyTypeError = require('../errors/InvalidIndexPropertyTypeError'); const SystemPropertyIndexAlreadyPresentError = require('../errors/SystemPropertyIndexAlreadyPresentError'); const UniqueIndicesLimitReachedError = require('../errors/UniqueIndicesLimitReachedError'); -const DataContractMaxByteSizeExceededError = require('../errors/DataContractMaxByteSizeExceededError'); const InvalidDataContractEntropyError = require('../errors/InvalidDataContractEntropyError'); const InvalidDataContractIdError = require('../errors/InvalidDataContractIdError'); const getPropertyDefinitionByPath = require('./getPropertyDefinitionByPath'); -const { encode } = require('../util/serializer'); const entropy = require('../util/entropy'); const systemProperties = ['$id', '$ownerId']; @@ -44,17 +42,6 @@ module.exports = function validateDataContractFactory( const result = new ValidationResult(); - // Validate Data Contract size - const serializedDataContract = encode(rawDataContract); - const serializedDataContractByteSize = Buffer.byteLength(serializedDataContract); - - if (serializedDataContractByteSize > DataContractMaxByteSizeExceededError.MAX_SIZE) { - result.addError( - new DataContractMaxByteSizeExceededError(rawDataContract), - ); - return result; - } - // Validate Data Contract schema result.merge( jsonSchemaValidator.validate( diff --git a/lib/errors/DataContractMaxByteSizeExceededError.js b/lib/errors/DataContractMaxByteSizeExceededError.js deleted file mode 100644 index ac32606cc..000000000 --- a/lib/errors/DataContractMaxByteSizeExceededError.js +++ /dev/null @@ -1,25 +0,0 @@ -const ConsensusError = require('./ConsensusError'); - -class DataContractMaxByteSizeExceededError extends ConsensusError { - /** - * @param {RawDataContract} dataContract - */ - constructor(dataContract) { - super(`Maximum Data Contract size of ${DataContractMaxByteSizeExceededError.MAX_SIZE} bytes is reached`); - - this.dataContract = dataContract; - } - - /** - * Get data contract - * - * @return {RawDataContract} - */ - getDataContract() { - return this.dataContract; - } -} - -DataContractMaxByteSizeExceededError.MAX_SIZE = 15 * 1024; // 15 Kb - -module.exports = DataContractMaxByteSizeExceededError; diff --git a/test/integration/dataContract/validateDataContractFactory.spec.js b/test/integration/dataContract/validateDataContractFactory.spec.js index 2eb33c3f2..e49c7bd65 100644 --- a/test/integration/dataContract/validateDataContractFactory.spec.js +++ b/test/integration/dataContract/validateDataContractFactory.spec.js @@ -18,7 +18,6 @@ const UndefinedIndexPropertyError = require('../../../lib/errors/UndefinedIndexP const InvalidIndexPropertyTypeError = require('../../../lib/errors/InvalidIndexPropertyTypeError'); const SystemPropertyIndexAlreadyPresentError = require('../../../lib/errors/SystemPropertyIndexAlreadyPresentError'); const UniqueIndicesLimitReachedError = require('../../../lib/errors/UniqueIndicesLimitReachedError'); -const DataContractMaxByteSizeExceededError = require('../../../lib/errors/DataContractMaxByteSizeExceededError'); const InvalidDataContractEntropyError = require('../../../lib/errors/InvalidDataContractEntropyError'); const InvalidDataContractIdError = require('../../../lib/errors/InvalidDataContractIdError'); @@ -1518,21 +1517,6 @@ describe('validateDataContractFactory', () => { }); }); - it('should return an invalid result if data contract byte size is bigger than 15 Kb', async () => { - const hugeDataContract = {}; - for (let i = 0; i < 2200; i++) { - hugeDataContract[i] = i; - } - - const result = await validateDataContract(hugeDataContract); - - expectValidationError(result, DataContractMaxByteSizeExceededError); - - const [error] = result.getErrors(); - - expect(error.getDataContract()).to.deep.equal(hugeDataContract); - }); - it('should return invalid result with circular $ref pointer', async () => { rawDataContract.definitions.object = { $ref: '#/definitions/object' };