From 74aa7bcd13c11e8ee4949b6d7f85e69d0e3a000c Mon Sep 17 00:00:00 2001 From: Ukane philemon Date: Mon, 17 Jan 2022 11:50:46 +0100 Subject: [PATCH] Added alternate signing address to /ticketstatus response (#314) --- docs/api.md | 3 ++- webapi/ticketstatus.go | 14 ++++++++++++++ webapi/types.go | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/api.md b/docs/api.md index 041f9b5..6d90001 100644 --- a/docs/api.md +++ b/docs/api.md @@ -209,7 +209,8 @@ its `feetxstatus` is `confirmed`. "timestamp":1590509066, "ticketconfirmed":true, "feetxstatus":"broadcast", - "feetxhash": "e1c02b04b5bbdae66cf8e3c88366c4918d458a2d27a26144df37f54a2bc956ac", + "feetxhash":"e1c02b04b5bbdae66cf8e3c88366c4918d458a2d27a26144df37f54a2bc956ac", + "altsignaddress":"Tsfkn6k9AoYgVZRV6ZzcgmuVSgCdJQt9JY2", "votechoices":{"headercommitments":"no"}, "request": {""} } diff --git a/webapi/ticketstatus.go b/webapi/ticketstatus.go index d96f0ff..ef19cc0 100644 --- a/webapi/ticketstatus.go +++ b/webapi/ticketstatus.go @@ -34,12 +34,26 @@ func ticketStatus(c *gin.Context) { return } + // Get altSignAddress from database + altSignAddrData, err := db.AltSignAddrData(ticket.Hash) + if err != nil { + log.Errorf("%s: db.AltSignAddrData error (ticketHash=%s): %v", funcName, ticket.Hash, err) + sendError(errInternalError, c) + return + } + + altSignAddr := "" + if altSignAddrData != nil { + altSignAddr = altSignAddrData.AltSignAddr + } + sendJSONResponse(ticketStatusResponse{ Timestamp: time.Now().Unix(), Request: reqBytes, TicketConfirmed: ticket.Confirmed, FeeTxStatus: string(ticket.FeeTxStatus), FeeTxHash: ticket.FeeTxHash, + AltSignAddress: altSignAddr, VoteChoices: ticket.VoteChoices, }, c) } diff --git a/webapi/types.go b/webapi/types.go index 197f297..f71c288 100644 --- a/webapi/types.go +++ b/webapi/types.go @@ -68,6 +68,7 @@ type ticketStatusResponse struct { TicketConfirmed bool `json:"ticketconfirmed"` FeeTxStatus string `json:"feetxstatus"` FeeTxHash string `json:"feetxhash"` + AltSignAddress string `json:"altsignaddress"` VoteChoices map[string]string `json:"votechoices"` Request []byte `json:"request"` }