From f04bed66e234d9ffb3f92c4cdde677814f6d1820 Mon Sep 17 00:00:00 2001 From: Konstantin Shuplenkov Date: Wed, 1 Sep 2021 16:49:01 +0300 Subject: [PATCH] feat: use gRPC error codes for ABCI --- .../unserializeStateTransitionFactory.js | 2 +- package-lock.json | 5 ++--- package.json | 2 +- .../unserializeStateTransitionFactory.spec.js | 10 +++++----- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/abci/handlers/stateTransition/unserializeStateTransitionFactory.js b/lib/abci/handlers/stateTransition/unserializeStateTransitionFactory.js index 4c822660f..2e89a96c3 100644 --- a/lib/abci/handlers/stateTransition/unserializeStateTransitionFactory.js +++ b/lib/abci/handlers/stateTransition/unserializeStateTransitionFactory.js @@ -1,5 +1,5 @@ const InvalidStateTransitionError = require('@dashevo/dpp/lib/stateTransition/errors/InvalidStateTransitionError'); -const BalanceIsNotEnoughError = require('@dashevo/dpp/lib/errors/BalanceIsNotEnoughError'); +const BalanceIsNotEnoughError = require('@dashevo/dpp/lib/errors/consensus/fee/BalanceIsNotEnoughError'); const InvalidArgumentGrpcError = require('@dashevo/grpc-common/lib/server/error/InvalidArgumentGrpcError'); const ResourceExhaustedGrpcError = require('@dashevo/grpc-common/lib/server/error/ResourceExhaustedGrpcError'); diff --git a/package-lock.json b/package-lock.json index b36880a1a..e8d74fe0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -449,9 +449,8 @@ } }, "@dashevo/dpp": { - "version": "0.21.0-dev.3", - "resolved": "https://registry.npmjs.org/@dashevo/dpp/-/dpp-0.21.0-dev.3.tgz", - "integrity": "sha512-LhtwemScbTU6mwJKsVpYSZkXbGXJ73H2Zyo5bxfGnVNI1p4HAbTaMSiheG3g6OU+RV28fadq9plUPnM+lE10Ug==", + "version": "github:dashevo/js-dpp#736400bd8dcc669c271b65e09fd226ecfb937b62", + "from": "github:dashevo/js-dpp#error-necessary-data", "requires": { "@apidevtools/json-schema-ref-parser": "^8.0.0", "@dashevo/dashcore-lib": "~0.19.25", diff --git a/package.json b/package.json index 71bbbc6f7..677f487ce 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "@dashevo/dashcore-lib": "~0.19.25", "@dashevo/dashd-rpc": "^2.3.0", "@dashevo/dashd-zmq": "^1.2.0", - "@dashevo/dpp": "~0.21.0-dev.3", + "@dashevo/dpp": "github:dashevo/js-dpp#error-necessary-data", "@dashevo/feature-flags-contract": "~0.2.0", "@dashevo/grpc-common": "~0.4.0", "@dashevo/merk": "git+https://github.com/dashevo/node-merk.git", diff --git a/test/unit/abci/handlers/stateTransition/unserializeStateTransitionFactory.spec.js b/test/unit/abci/handlers/stateTransition/unserializeStateTransitionFactory.spec.js index be2ff5f6d..a35ffb82e 100644 --- a/test/unit/abci/handlers/stateTransition/unserializeStateTransitionFactory.spec.js +++ b/test/unit/abci/handlers/stateTransition/unserializeStateTransitionFactory.spec.js @@ -1,8 +1,8 @@ const getIdentityCreateTransitionFixture = require('@dashevo/dpp/lib/test/fixtures/getIdentityCreateTransitionFixture'); -const ConsensusError = require('@dashevo/dpp/lib/errors/ConsensusError'); +const InvalidStateTransitionTypeError = require('@dashevo/dpp/lib/errors/consensus/basic/stateTransition/InvalidStateTransitionTypeError'); const InvalidStateTransitionError = require('@dashevo/dpp/lib/stateTransition/errors/InvalidStateTransitionError'); -const BalanceNotEnoughError = require('@dashevo/dpp/lib/errors/BalanceIsNotEnoughError'); +const BalanceNotEnoughError = require('@dashevo/dpp/lib/errors/consensus/fee/BalanceIsNotEnoughError'); const ValidatorResult = require('@dashevo/dpp/lib/validation/ValidationResult'); const InvalidArgumentGrpcError = require('@dashevo/grpc-common/lib/server/error/InvalidArgumentGrpcError'); @@ -51,9 +51,9 @@ describe('unserializeStateTransitionFactory', () => { }); it('should throw InvalidArgumentAbciError if State Transition is invalid', async () => { - const consensusError = new ConsensusError('Invalid state transition'); + const dppError = new InvalidStateTransitionTypeError(-1); const error = new InvalidStateTransitionError( - [consensusError], + [dppError], stateTransitionFixture, ); @@ -68,7 +68,7 @@ describe('unserializeStateTransitionFactory', () => { expect(e.getMessage()).to.equal('State Transition is invalid'); expect(e.getCode()).to.equal(GrpcErrorCodes.INVALID_ARGUMENT); expect(e.getRawMetadata()).to.deep.equal({ - errors: [consensusError], + errors: [dppError], }); expect(dppMock.stateTransition.createFromBuffer).to.be.calledOnce();