79 lines
3 KiB
Go
79 lines
3 KiB
Go
package main
|
|
|
|
import (
|
|
"git.gammaspectra.live/P2Pool/consensus/v4/p2pool/sidechain"
|
|
"git.gammaspectra.live/P2Pool/consensus/v4/types"
|
|
)
|
|
|
|
type P2PoolSideChainStateResult struct {
|
|
TipHeight uint64 `json:"tip_height"`
|
|
TipId types.Hash `json:"tip_id"`
|
|
Chain []P2PoolBinaryBlockResult `json:"chain"`
|
|
Uncles []P2PoolBinaryBlockResult `json:"uncles"`
|
|
}
|
|
|
|
type P2PoolBinaryBlockResult struct {
|
|
Version int `json:"version"`
|
|
Blob types.Bytes `json:"blob"`
|
|
Metadata sidechain.PoolBlockReceptionMetadata `json:"metadata,omitempty"`
|
|
Error string `json:"error,omitempty"`
|
|
}
|
|
|
|
type P2PoolSpecialBinaryBlockResult struct {
|
|
Version int `json:"version"`
|
|
Blob types.Bytes `json:"blob"`
|
|
Error string `json:"error,omitempty"`
|
|
}
|
|
|
|
type P2PoolSideChainStatusResult struct {
|
|
Synchronized bool `json:"synchronized"`
|
|
Height uint64 `json:"tip_height"`
|
|
Id types.Hash `json:"tip_id"`
|
|
Difficulty types.Difficulty `json:"difficulty"`
|
|
CumulativeDifficulty types.Difficulty `json:"cumulative_difficulty"`
|
|
Blocks int `json:"blocks"`
|
|
}
|
|
|
|
type P2PoolServerStatusResult struct {
|
|
PeerId uint64 `json:"peer_id"`
|
|
SoftwareId string `json:"software_id"`
|
|
SoftwareVersion string `json:"software_version"`
|
|
ProtocolVersion string `json:"protocol_version"`
|
|
ListenPort uint16 `json:"listen_port"`
|
|
}
|
|
|
|
type P2PoolServerPeerResult struct {
|
|
PeerId uint64 `json:"peer_id"`
|
|
Incoming bool `json:"incoming"`
|
|
Address string `json:"address"`
|
|
SoftwareId string `json:"software_id"`
|
|
SoftwareVersion string `json:"software_version"`
|
|
ProtocolVersion string `json:"protocol_version"`
|
|
ConnectionTime uint64 `json:"connection_time"`
|
|
ListenPort uint32 `json:"listen_port"`
|
|
Latency uint64 `json:"latency"`
|
|
}
|
|
|
|
type P2PoolConnectionCheckInformation[TipType any] struct {
|
|
Address string `json:"address"`
|
|
Port uint16 `json:"port"`
|
|
ListenPort uint16 `json:"listen_port"`
|
|
PeerId uint64 `json:"peer_id"`
|
|
SoftwareId string `json:"software_id"`
|
|
SoftwareVersion string `json:"software_version"`
|
|
ProtocolVersion string `json:"protocol_version"`
|
|
ConnectionTime uint64 `json:"connection_time"`
|
|
Latency uint64 `json:"latency"`
|
|
LastActive uint64 `json:"last_active"`
|
|
Incoming bool `json:"incoming"`
|
|
BroadcastTime uint64 `json:"broadcast_time"`
|
|
BroadcastHeight uint64 `json:"broadcast_height"`
|
|
// Tip is a sidechain.PoolBlock
|
|
Tip TipType `json:"tip,omitempty"`
|
|
Closed bool `json:"closed"`
|
|
AlreadyConnected bool `json:"already_connected"`
|
|
HandshakeComplete bool `json:"handshake_complete"`
|
|
Banned bool `json:"banned"`
|
|
Error string `json:"error,omitempty"`
|
|
BanError string `json:"ban_error,omitempty"`
|
|
}
|