From 3ec14d2e8f5e0161d945bca20436ff996f474e81 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Wed, 5 Mar 2025 19:14:28 +0300 Subject: [PATCH] *: extend NotaryRequest verification errors This change is compatible with the old protocol. Signed-off-by: Anna Shaleva --- pkg/core/blockchain.go | 2 +- pkg/network/server.go | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/core/blockchain.go b/pkg/core/blockchain.go index 0c6b897dd..e722d420c 100644 --- a/pkg/core/blockchain.go +++ b/pkg/core/blockchain.go @@ -2849,7 +2849,7 @@ func (bc *Blockchain) PoolTxWithData(t *transaction.Transaction, data any, mp *m if verificationFunction != nil { err := verificationFunction(t, data) if err != nil { - return err + return fmt.Errorf("data verification failed: %w", err) } } return bc.verifyAndPoolTx(t, mp, feer, data) diff --git a/pkg/network/server.go b/pkg/network/server.go index 848b4f0c7..bc7decb0c 100644 --- a/pkg/network/server.go +++ b/pkg/network/server.go @@ -1325,7 +1325,11 @@ func (s *Server) RelayP2PNotaryRequest(r *payload.P2PNotaryRequest) error { // verifyAndPoolNotaryRequest verifies NotaryRequest payload and adds it to the payload mempool. func (s *Server) verifyAndPoolNotaryRequest(r *payload.P2PNotaryRequest) error { - return s.chain.PoolTxWithData(r.FallbackTransaction, r, s.notaryRequestPool, s.notaryFeer, s.verifyNotaryRequest) + err := s.chain.PoolTxWithData(r.FallbackTransaction, r, s.notaryRequestPool, s.notaryFeer, s.verifyNotaryRequest) + if err != nil { + return fmt.Errorf("failed to add fallback transaction to the notary pool: %w", err) + } + return nil } // verifyNotaryRequest is a function for state-dependant P2PNotaryRequest payload verification which is executed before ordinary blockchain's verification.