Skip to content

Commit 4dab402

Browse files
authored
Merge pull request #57 from cloudstruct/feature/better-reject-reason-handling
feat: better handling of reject reason parse failure
2 parents 4403a2c + 866627c commit 4dab402

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.17
55
require (
66
github.com/Bitrue-exchange/libada-go v0.0.1-rc.0.20220817020305-79d8b4c4dd9c
77
github.com/cloudstruct/go-cardano-ledger v0.2.1
8-
github.com/cloudstruct/go-ouroboros-network v0.14.0
8+
github.com/cloudstruct/go-ouroboros-network v0.16.1
99
github.com/fxamacker/cbor/v2 v2.4.0
1010
github.com/gin-contrib/zap v0.0.2
1111
github.com/gin-gonic/gin v1.8.1

go.sum

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR
6161
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
6262
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
6363
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
64+
github.com/cloudstruct/go-cardano-ledger v0.1.0/go.mod h1:EBB9JG+3nBs3IV0p751yz1468XYkzJce1/A2X+xH8L8=
6465
github.com/cloudstruct/go-cardano-ledger v0.2.1 h1:J5DAs5GiP4iROwnukEgQhRdSh94cFFGifjnFNnFBSgU=
6566
github.com/cloudstruct/go-cardano-ledger v0.2.1/go.mod h1:EBB9JG+3nBs3IV0p751yz1468XYkzJce1/A2X+xH8L8=
66-
github.com/cloudstruct/go-ouroboros-network v0.14.0 h1:1X56wtgo2a8BLYNuCADjWH1mC6Z0NjkkYrfNtXbyzE0=
67-
github.com/cloudstruct/go-ouroboros-network v0.14.0/go.mod h1:06ggUMerJLwKJkVi5DLX1QMDz8r+R8o92rht7Z4ss9k=
67+
github.com/cloudstruct/go-ouroboros-network v0.16.1 h1:iAYviR5keS3/rbAnJp2slXsTcEAE04ut8WDcRYzK6qM=
68+
github.com/cloudstruct/go-ouroboros-network v0.16.1/go.mod h1:/Rz+GYS+ItV7e5F4rXfZuCVuHa+SkFfaH3zgqjVN3eI=
6869
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
6970
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
7071
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@@ -350,7 +351,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
350351
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
351352
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
352353
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
353-
golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
354354
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
355355
golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d h1:3qF+Z8Hkrw9sOhrFHti9TlB1Hkac1x+DNRkv0XQiFjo=
356356
golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=

internal/api/api.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,13 @@ func handleSubmitTx(c *gin.Context) {
226226
_ = ginmetrics.GetMonitor().GetMetric("tx_submit_count").Inc(nil)
227227
return nil
228228
},
229-
RejectTxFunc: func(reason interface{}) error {
230-
c.String(400, fmt.Sprintf("transaction rejected by node: %#v", reason))
229+
RejectTxFunc: func(reasonCbor []byte) error {
230+
var reason interface{}
231+
if err := cbor.Unmarshal(reasonCbor, &reason); err == nil {
232+
c.String(400, fmt.Sprintf("transaction rejected by node: %v (raw CBOR: %x)", reason, reasonCbor))
233+
} else {
234+
c.String(400, fmt.Sprintf("transaction rejected by node, but the 'reason' data could not be parsed (raw CBOR: %x)", reasonCbor))
235+
}
231236
doneChan <- true
232237
// Increment custom metric
233238
_ = ginmetrics.GetMonitor().GetMetric("tx_failure_count").Inc(nil)

0 commit comments

Comments
 (0)