diff --git a/ot-node.js b/ot-node.js index 754425752..4ce41e5af 100644 --- a/ot-node.js +++ b/ot-node.js @@ -78,12 +78,6 @@ class OTNode { this.config, ); - await MigrationExecutor.executeServiceAgreementPruningMigration( - this.container, - this.logger, - this.config, - ); - await this.initializeRouters(); await this.startNetworkModule(); this.startTelemetryModule(); @@ -96,6 +90,12 @@ class OTNode { this.config, ); + MigrationExecutor.executeServiceAgreementPruningMigration( + this.container, + this.logger, + this.config, + ); + MigrationExecutor.executeRemoveDuplicateServiceAgreementMigration( this.container, this.logger, diff --git a/package-lock.json b/package-lock.json index 4e48f8bd3..bc8afa769 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "origintrail_node", - "version": "6.5.1+hotfix.2", + "version": "6.5.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "origintrail_node", - "version": "6.5.1+hotfix.2", + "version": "6.5.1", "license": "ISC", "dependencies": { "@comunica/query-sparql": "^2.4.3", diff --git a/package.json b/package.json index 4b5d7d5a6..e7f54dafa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "origintrail_node", - "version": "6.5.1+hotfix.2", + "version": "6.5.1", "description": "OTNode V6", "main": "index.js", "type": "module", diff --git a/src/migration/remove-duplicate-service-agreement-migration.js b/src/migration/remove-duplicate-service-agreement-migration.js index 8e646606c..489596173 100644 --- a/src/migration/remove-duplicate-service-agreement-migration.js +++ b/src/migration/remove-duplicate-service-agreement-migration.js @@ -23,15 +23,19 @@ class RemoveDuplicateServiceAgreementMigration extends BaseMigration { blockchainId, ); for (const serviceAgreement of findDuplicateServiceAgreements) { - const blockchainAssertionId = - // eslint-disable-next-line no-await-in-loop - await this.blockchainModuleManager.getAssertionIdByIndex( - blockchainId, - serviceAgreement.assetStorageContractAddress, - serviceAgreement.tokenId, - serviceAgreement.stateIndex, - ); - if (serviceAgreement.assertionId !== blockchainAssertionId) { + try { + const blockchainAssertionId = + // eslint-disable-next-line no-await-in-loop + await this.blockchainModuleManager.getAssertionIdByIndex( + blockchainId, + serviceAgreement.assetStorageContractAddress, + serviceAgreement.tokenId, + serviceAgreement.stateIndex, + ); + if (serviceAgreement.assertionId !== blockchainAssertionId) { + incorrectServiceAgreementId.push(serviceAgreement.agreementId); + } + } catch (error) { incorrectServiceAgreementId.push(serviceAgreement.agreementId); } } diff --git a/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js b/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js index c8fbdc56b..844a523dc 100644 --- a/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js +++ b/src/modules/repository/implementation/sequelize/repositories/service-agreement-repository.js @@ -303,10 +303,10 @@ class ServiceAgreementRepository { const query = ` DELETE FROM service_agreement WHERE blockchain_id = '${blockchainId}' - AND asset_storage_contract_address = '${contract}' + AND asset_storage_contract_address != '${contract}' LIMIT 100000; `; - await this.model.query(query, { + await this.sequelize.query(query, { type: Sequelize.QueryTypes.DELETE, }); }