Documentation ¶
Index ¶
- Constants
- Variables
- func EncodeBestBlock(bb BestBlock) ([]byte, error)
- func EncodeBestBlockReply(bbr BestBlockReply) ([]byte, error)
- func EncodeCensorComment(cc CensorComment) ([]byte, error)
- func EncodeCensorCommentReply(ccr CensorCommentReply) ([]byte, error)
- func EncodeComment(c Comment) ([]byte, error)
- func EncodeGetComments(gc GetComments) ([]byte, error)
- func EncodeGetCommentsReply(gcr GetCommentsReply) ([]byte, error)
- func EncodeNewComment(nc NewComment) ([]byte, error)
- func EncodeNewCommentReply(ncr NewCommentReply) ([]byte, error)
- type BestBlock
- type BestBlockReply
- type CensorComment
- type CensorCommentReply
- type Comment
- type ErrorStatusT
- type GetComments
- type GetCommentsReply
- type NewComment
- type NewCommentReply
Constants ¶
const ( Version = "1" ID = "decred" CmdBestBlock = "bestblock" CmdNewComment = "newcomment" CmdCensorComment = "censorcomment" CmdGetComments = "getcomments" )
Plugin settings, kinda doesn;t go here but for now it is fine
Variables ¶
var ( // ErrorStatus converts error status codes to human readable text. ErrorStatus = map[ErrorStatusT]string{ ErrorStatusInvalid: "invalid error status", ErrorStatusInternalError: "internal error", ErrorStatusProposalNotFound: "proposal not found", ErrorStatusInvalidVoteBit: "invalid vote bit", ErrorStatusVoteHasEnded: "vote has ended", ErrorStatusDuplicateVote: "duplicate vote", ErrorStatusIneligibleTicket: "ineligbile ticket", } )
Functions ¶
func EncodeBestBlock ¶
EncodeBestBlock encodes an BestBlock into a JSON byte slice.
func EncodeBestBlockReply ¶
func EncodeBestBlockReply(bbr BestBlockReply) ([]byte, error)
EncodeBestBlockReply encodes an BestBlockReply into a JSON byte slice.
func EncodeCensorComment ¶
func EncodeCensorComment(cc CensorComment) ([]byte, error)
EncodeCensorComment encodes CensorComment into a JSON byte slice.
func EncodeCensorCommentReply ¶
func EncodeCensorCommentReply(ccr CensorCommentReply) ([]byte, error)
EncodeCensorCommentReply encodes CensorCommentReply into a JSON byte slice.
func EncodeComment ¶
EncodeComment encodes Comment into a JSON byte slice.
func EncodeGetComments ¶
func EncodeGetComments(gc GetComments) ([]byte, error)
EncodeGetComments encodes GetCommentsReply into a JSON byte slice.
func EncodeGetCommentsReply ¶
func EncodeGetCommentsReply(gcr GetCommentsReply) ([]byte, error)
EncodeGetCommentsReply encodes GetCommentsReply into a JSON byte slice.
func EncodeNewComment ¶
func EncodeNewComment(nc NewComment) ([]byte, error)
EncodeNewComment encodes NewComment into a JSON byte slice.
func EncodeNewCommentReply ¶
func EncodeNewCommentReply(ncr NewCommentReply) ([]byte, error)
EncodeNewCommentReply encodes NewCommentReply into a JSON byte slice.
Types ¶
type BestBlock ¶
type BestBlock struct{}
BestBlock is a command to request the best block data.
func DecodeBestBlock ¶
DecodeBestBlock decodes a JSON byte slice into a BestBlock.
type BestBlockReply ¶
type BestBlockReply struct {
Height uint32 `json:"height"`
}
BestBlockReply is the reply to the BestBlock command.
func DecodeBestBlockReply ¶
func DecodeBestBlockReply(payload []byte) (*BestBlockReply, error)
DecodeBestBlockReply decodes a JSON byte slice into a BestBlockReply.
type CensorComment ¶
type CensorComment struct { Token string `json:"token"` // Proposal censorship token CommentID string `json:"commentid"` // Comment ID Reason string `json:"reason"` // Reason comment was censored Signature string `json:"signature"` // Client signature of Token+CommentID+Reason PublicKey string `json:"publickey"` // Pubkey used for signature // Generated by decredplugin Receipt string `json:"receipt,omitempty"` // Server signature of client signature Timestamp int64 `json:"timestamp,omitempty"` // Received UNIX timestamp }
CensorComment is a journal entry for a censored comment. The signature and public key are from the admin that censored this comment.
func DecodeCensorComment ¶
func DecodeCensorComment(payload []byte) (*CensorComment, error)
DecodeCensorComment decodes a JSON byte slice into a CensorComment.
type CensorCommentReply ¶
type CensorCommentReply struct {
Receipt string `json:"receipt"` // Server signature of client signature
}
CommentCensorReply returns the receipt for the censoring action. The receipt is the server side signature of CommentCensor.Signature.
func DecodeCensorCommentReply ¶
func DecodeCensorCommentReply(payload []byte) (*CensorCommentReply, error)
DecodeCensorComment decodes a JSON byte slice into a CensorCommentReply.
type Comment ¶
type Comment struct { // Data generated by client Token string `json:"token"` // Censorship token ParentID string `json:"parentid"` // Parent comment ID Comment string `json:"comment"` // Comment Signature string `json:"signature"` // Client Signature of Token+ParentID+Comment PublicKey string `json:"publickey"` // Pubkey used for Signature // Metadata generated by decred plugin CommentID string `json:"commentid"` // Comment ID Receipt string `json:"receipt"` // Server signature of the client Signature Timestamp int64 `json:"timestamp"` // Received UNIX timestamp TotalVotes uint64 `json:"totalvotes"` // Total number of up/down votes ResultVotes int64 `json:"resultvotes"` // Vote score Censored bool `json:"censored"` // Has this comment been censored }
Comment is the structure that describes the full server side content. It includes server side meta-data as well. Note that the receipt is the server side.
func DecodeComment ¶
DecodeComment decodes a JSON byte slice into a Comment
type ErrorStatusT ¶
type ErrorStatusT int
ErrorStatusT represents decredplugin errors that result from casting a vote.
These are part of the www/v1 API and must stay in until the deprecated cast votes route is removed.
const ( ErrorStatusInvalid ErrorStatusT = 0 ErrorStatusInternalError ErrorStatusT = 1 ErrorStatusProposalNotFound ErrorStatusT = 2 ErrorStatusInvalidVoteBit ErrorStatusT = 3 ErrorStatusVoteHasEnded ErrorStatusT = 4 ErrorStatusDuplicateVote ErrorStatusT = 5 ErrorStatusIneligibleTicket ErrorStatusT = 6 ErrorStatusLast ErrorStatusT = 7 )
type GetComments ¶
type GetComments struct {
Token string `json:"token"` // Proposal ID
}
GetComments retrieve all comments for a given proposal. This call returns the cooked comments; deleted/censored comments are not returned.
func DecodeGetComments ¶
func DecodeGetComments(payload []byte) (*GetComments, error)
DecodeGetComments decodes a JSON byte slice into a GetComments.
type GetCommentsReply ¶
type GetCommentsReply struct {
Comments []Comment `json:"comments"` // Comments
}
GetCommentsReply returns the provided number of comments.
func DecodeGetCommentsReply ¶
func DecodeGetCommentsReply(payload []byte) (*GetCommentsReply, error)
DecodeGetCommentsReply decodes a JSON byte slice into a GetCommentsReply.
type NewComment ¶
type NewComment struct { Token string `json:"token"` // Censorship token ParentID string `json:"parentid"` // Parent comment ID Comment string `json:"comment"` // Comment Signature string `json:"signature"` // Signature of Token+ParentID+Comment PublicKey string `json:"publickey"` // Pubkey used for Signature }
NewComment sends a comment from a user to a specific proposal. Note that the user is implied by the session.
func DecodeNewComment ¶
func DecodeNewComment(payload []byte) (*NewComment, error)
DecodeNewComment decodes a JSON byte slice into a NewComment
type NewCommentReply ¶
type NewCommentReply struct { CommentID string `json:"commentid"` // Comment ID Receipt string `json:"receipt"` // Server signature of the client Signature Timestamp int64 `json:"timestamp"` // Received UNIX timestamp }
NewCommentReply returns the metadata generated by decred plugin for the new comment.
func DecodeNewCommentReply ¶
func DecodeNewCommentReply(payload []byte) (*NewCommentReply, error)
DecodeNewCommentReply decodes a JSON byte slice into a NewCommentReply.