From 5e6ad1758f3b313a9d4973bb2bbd7c685fa6987c Mon Sep 17 00:00:00 2001 From: chris-4chain <152964795+chris-4chain@users.noreply.github.com> Date: Fri, 11 Oct 2024 10:59:18 +0200 Subject: [PATCH] fix(SPV-000): proper error on SPV failure (#125) --- dns_sec_test.go | 2 -- errors/definitions.go | 3 +++ server/p2p_receive_transaction.go | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dns_sec_test.go b/dns_sec_test.go index c6ff3a6..6341a03 100644 --- a/dns_sec_test.go +++ b/dns_sec_test.go @@ -24,10 +24,8 @@ func TestClient_CheckDNSSEC(t *testing.T) { {"---", true}, {"---.---", true}, {"*.---", true}, - {"moneybutton", true}, {"asdfadfasdfasdfasdf10909.com", true}, {"google.com", false}, - {"moneybutton.com", true}, // {"relayx.io", false}, // Disabled for timeout issues {"cloudflare.com", false}, {"mrz1836.com", false}, diff --git a/errors/definitions.go b/errors/definitions.go index 0dc39e4..cc52547 100644 --- a/errors/definitions.go +++ b/errors/definitions.go @@ -134,4 +134,7 @@ var ( // ErrNoMatchingTransactionsForInput is when no matching transaction for input can be found ErrNoMatchingTransactionsForInput = SPVError{Message: "invalid parent transactions, no matching transactions for input", StatusCode: 417, Code: "error-spv-bump-ancestor-not-present"} + + // ErrSPVFailed is when the SPV returns an error + ErrSPVFailed = SPVError{Message: "simplified payment verification has failed", StatusCode: 417, Code: "error-spv-failed"} ) diff --git a/server/p2p_receive_transaction.go b/server/p2p_receive_transaction.go index f6a2044..cc85b85 100644 --- a/server/p2p_receive_transaction.go +++ b/server/p2p_receive_transaction.go @@ -93,7 +93,7 @@ func (c *Configuration) p2pReceiveBeefTx(context *gin.Context) { err = spv.ExecuteSimplifiedPaymentVerification(context.Request.Context(), dBeef, c.actions) if err != nil { - errors.ErrorResponse(context, errors.ErrNoOutputs) + errors.ErrorResponse(context, errors.ErrSPVFailed) return }