Upcoming changes constitute breaking public API changes to both the client and types modules, therefore this bumps the version numbers of both modules and adds local replacements to go.mod files such that the new versions can be used before they are publicly tagged.
107 lines
4.0 KiB
Go
107 lines
4.0 KiB
Go
// Copyright (c) 2020-2024 The Decred developers
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package types
|
|
|
|
type ErrorResponse struct {
|
|
Code ErrorCode `json:"code"`
|
|
Message string `json:"message"`
|
|
}
|
|
|
|
func (e ErrorResponse) Error() string { return e.Message }
|
|
|
|
type VspInfoResponse struct {
|
|
APIVersions []int64 `json:"apiversions"`
|
|
Timestamp int64 `json:"timestamp"`
|
|
PubKey []byte `json:"pubkey"`
|
|
FeePercentage float64 `json:"feepercentage"`
|
|
VspClosed bool `json:"vspclosed"`
|
|
VspClosedMsg string `json:"vspclosedmsg"`
|
|
Network string `json:"network"`
|
|
VspdVersion string `json:"vspdversion"`
|
|
Voting int64 `json:"voting"`
|
|
Voted int64 `json:"voted"`
|
|
TotalVotingWallets int64 `json:"totalvotingwallets"`
|
|
VotingWalletsOnline int64 `json:"votingwalletsonline"`
|
|
// Deprecated: Revoked will be removed in the next major version bump.
|
|
// Revoked is simply the sum of Expired and Missed, so use those instead.
|
|
Revoked int64 `json:"revoked"`
|
|
Expired int64 `json:"expired"`
|
|
Missed int64 `json:"missed"`
|
|
BlockHeight uint32 `json:"blockheight"`
|
|
NetworkProportion float32 `json:"estimatednetworkproportion"`
|
|
}
|
|
|
|
type FeeAddressRequest struct {
|
|
Timestamp int64 `json:"timestamp" binding:"required"`
|
|
TicketHash string `json:"tickethash" binding:"required"`
|
|
TicketHex string `json:"tickethex" binding:"required"`
|
|
ParentHex string `json:"parenthex" binding:"required"`
|
|
}
|
|
|
|
type FeeAddressResponse struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
FeeAddress string `json:"feeaddress"`
|
|
FeeAmount int64 `json:"feeamount"`
|
|
Expiration int64 `json:"expiration"`
|
|
Request []byte `json:"request"`
|
|
}
|
|
|
|
type PayFeeRequest struct {
|
|
Timestamp int64 `json:"timestamp" binding:"required"`
|
|
TicketHash string `json:"tickethash" binding:"required"`
|
|
FeeTx string `json:"feetx" binding:"required"`
|
|
VotingKey string `json:"votingkey" binding:"required"`
|
|
VoteChoices map[string]string `json:"votechoices" binding:"required"`
|
|
TSpendPolicy map[string]string `json:"tspendpolicy" binding:"max=3"`
|
|
TreasuryPolicy map[string]string `json:"treasurypolicy" binding:"max=3"`
|
|
}
|
|
|
|
type PayFeeResponse struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
Request []byte `json:"request"`
|
|
}
|
|
|
|
type SetVoteChoicesRequest struct {
|
|
Timestamp int64 `json:"timestamp" binding:"required"`
|
|
TicketHash string `json:"tickethash" binding:"required"`
|
|
VoteChoices map[string]string `json:"votechoices" binding:"required"`
|
|
TSpendPolicy map[string]string `json:"tspendpolicy" binding:"max=3"`
|
|
TreasuryPolicy map[string]string `json:"treasurypolicy" binding:"max=3"`
|
|
}
|
|
|
|
type SetVoteChoicesResponse struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
Request []byte `json:"request"`
|
|
}
|
|
|
|
type TicketStatusRequest struct {
|
|
TicketHash string `json:"tickethash" binding:"required"`
|
|
}
|
|
|
|
type TicketStatusResponse struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
TicketConfirmed bool `json:"ticketconfirmed"`
|
|
FeeTxStatus string `json:"feetxstatus"`
|
|
FeeTxHash string `json:"feetxhash"`
|
|
AltSignAddress string `json:"altsignaddress"`
|
|
VoteChoices map[string]string `json:"votechoices"`
|
|
TSpendPolicy map[string]string `json:"tspendpolicy"`
|
|
TreasuryPolicy map[string]string `json:"treasurypolicy"`
|
|
Request []byte `json:"request"`
|
|
}
|
|
|
|
type SetAltSignAddrRequest struct {
|
|
Timestamp int64 `json:"timestamp" binding:"required"`
|
|
TicketHash string `json:"tickethash" binding:"required"`
|
|
TicketHex string `json:"tickethex" binding:"required"`
|
|
ParentHex string `json:"parenthex" binding:"required"`
|
|
AltSignAddress string `json:"altsignaddress" binding:"required"`
|
|
}
|
|
|
|
type SetAltSignAddrResponse struct {
|
|
Timestamp int64 `json:"timestamp"`
|
|
Request []byte `json:"request"`
|
|
}
|