Documentation
¶
Index ¶
- type CreateRandomRequest
- type Handler
- func (h *Handler) CreateRandomRequest(c *gin.Context)
- func (h *Handler) GenerateRandomNumber(c *gin.Context)
- func (h *Handler) GetRandomAnalysis(c *gin.Context)
- func (h *Handler) GetRandomNumber(c *gin.Context)
- func (h *Handler) GetRandomRequest(c *gin.Context)
- func (h *Handler) ListRandomRequests(c *gin.Context)
- func (h *Handler) Register(router *gin.RouterGroup)
- func (h *Handler) VerifyRandomNumber(c *gin.Context)
- type RandomResponse
- type VerifyRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateRandomRequest ¶
type CreateRandomRequest struct { CallbackAddress string `json:"callback_address"` CallbackMethod string `json:"callback_method"` Seed string `json:"seed"` NumBytes int `json:"num_bytes"` DelayBlocks int `json:"delay_blocks"` GasFee float64 `json:"gas_fee"` }
CreateRandomRequest is the request body for creating a random number request
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler handles random number generation API endpoints
func NewHandler ¶
NewHandler creates a new random handler
func (*Handler) CreateRandomRequest ¶
CreateRandomRequest creates a new random number request @Summary Create random request @Description Create a new random number request @Tags random @Accept json @Produce json @Param request body CreateRandomRequest true "Random Request" @Success 201 {object} RandomResponse @Failure 400 {object} common.ErrorResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/random/requests [post]
func (*Handler) GenerateRandomNumber ¶
GenerateRandomNumber generates a new random number (public API) @Summary Generate random number @Description Generate a new random number @Tags public @Accept json @Produce json @Param request body CreateRandomRequest true "Random Request" @Success 201 {object} RandomResponse @Failure 400 {object} common.ErrorResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/public/random [post]
func (*Handler) GetRandomAnalysis ¶
GetRandomAnalysis gets statistics for random number generation @Summary Get random analysis @Description Get statistics for random number generation @Tags random @Produce json @Success 200 {object} map[string]interface{} @Failure 500 {object} common.ErrorResponse @Router /api/v1/random/analysis [get]
func (*Handler) GetRandomNumber ¶
GetRandomNumber gets a random number by ID (public API) @Summary Get random number @Description Get a specific random number by ID @Tags public @Produce json @Param id path int true "Request ID" @Success 200 {object} RandomResponse @Failure 404 {object} common.ErrorResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/public/random/{id} [get]
func (*Handler) GetRandomRequest ¶
GetRandomRequest gets a random number request by ID @Summary Get random request @Description Get details of a specific random number request @Tags random @Produce json @Param id path int true "Request ID" @Success 200 {object} RandomResponse @Failure 404 {object} common.ErrorResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/random/requests/{id} [get]
func (*Handler) ListRandomRequests ¶
ListRandomRequests lists all random number requests for a user @Summary List random requests @Description Get a list of random number requests for the authenticated user @Tags random @Produce json @Param page query int false "Page number" default(1) @Param limit query int false "Items per page" default(20) @Success 200 {array} RandomResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/random/requests [get]
func (*Handler) Register ¶
func (h *Handler) Register(router *gin.RouterGroup)
Register registers random number generation routes with the given router
func (*Handler) VerifyRandomNumber ¶
VerifyRandomNumber verifies a random number (public API) @Summary Verify random number @Description Verify a random number against its commitment @Tags public @Accept json @Produce json @Param id path int true "Request ID" @Param request body VerifyRequest true "Verification Data" @Success 200 {object} map[string]bool @Failure 400 {object} common.ErrorResponse @Failure 404 {object} common.ErrorResponse @Failure 500 {object} common.ErrorResponse @Router /api/v1/public/random/{id}/verify [get]
type RandomResponse ¶
type RandomResponse struct { ID int `json:"id"` Status string `json:"status"` RandomNumber string `json:"random_number,omitempty"` CommitmentHash string `json:"commitment_hash,omitempty"` CallbackAddress string `json:"callback_address,omitempty"` NumBytes int `json:"num_bytes"` CreatedAt string `json:"created_at"` RevealedAt string `json:"revealed_at,omitempty"` }
RandomResponse is the response body for a random number
type VerifyRequest ¶
type VerifyRequest struct { RandomNumber string `json:"random_number"` Proof string `json:"proof"` }
VerifyRequest is the request body for verifying a random number