package rest import ( "net/http" trc "custodial/pkg/tron" gin "github.com/gin-gonic/gin" ) type TronTransactionInfoRequest struct { TxID string `json:"tx_id"` } type TronTransactionInfoResponse struct { Id string `json:"id"` Status string `json:"status"` } // @BasePath /api/v1 // // AddressBalance godoc // // @Summary Get transaction info // @Schemes // @Description Get transaction info // @Tags Tron // @Accept json // @Produce json // @Security ApiKeyAuth // @Param message body TronTransactionInfoRequest true "Tx Info" // @Success 200 {object} TronTransactionInfoResponse // @Failure 400 {object} ErrorResponse // @Router /tron/tx-info [post] func TronTransactionInfoV1(c *gin.Context) { var req TronTransactionInfoRequest if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } tx, err := trc.GetTransactionByHash(req.TxID) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } status := "pending" ret := 9999 if tx != nil { ret = int(tx.Ret[0].ContractRet.Number()) } if ret != 1 && ret != 9999 { status = "failed" } else { status = "success" } res := TronTransactionInfoResponse{ Id: req.TxID, Status: status, } c.JSON(http.StatusOK, res) }