git.gammaspectra.live/P2Pool/consensus@v0.0.0-20240403173234-a039820b20c9/p2pool/types/api.go (about) 1 package types 2 3 import ( 4 "git.gammaspectra.live/P2Pool/consensus/types" 5 ) 6 7 type P2PoolSideChainStateResult struct { 8 TipHeight uint64 `json:"tip_height"` 9 TipId types.Hash `json:"tip_id"` 10 Chain []P2PoolBinaryBlockResult `json:"chain"` 11 Uncles []P2PoolBinaryBlockResult `json:"uncles"` 12 } 13 14 type P2PoolBinaryBlockResult struct { 15 Version int `json:"version"` 16 Blob types.Bytes `json:"blob"` 17 Error string `json:"error,omitempty"` 18 } 19 20 type P2PoolSpecialBinaryBlockResult struct { 21 Version int `json:"version"` 22 Blob types.Bytes `json:"blob"` 23 Error string `json:"error,omitempty"` 24 } 25 26 type P2PoolSideChainStatusResult struct { 27 Synchronized bool `json:"synchronized"` 28 Height uint64 `json:"tip_height"` 29 Id types.Hash `json:"tip_id"` 30 Difficulty types.Difficulty `json:"difficulty"` 31 CumulativeDifficulty types.Difficulty `json:"cumulative_difficulty"` 32 Blocks int `json:"blocks"` 33 } 34 35 type P2PoolServerStatusResult struct { 36 PeerId uint64 `json:"peer_id"` 37 SoftwareId string `json:"software_id"` 38 SoftwareVersion string `json:"software_version"` 39 ProtocolVersion string `json:"protocol_version"` 40 ListenPort uint16 `json:"listen_port"` 41 } 42 43 type P2PoolServerPeerResult struct { 44 PeerId uint64 `json:"peer_id"` 45 Incoming bool `json:"incoming"` 46 Address string `json:"address"` 47 SoftwareId string `json:"software_id"` 48 SoftwareVersion string `json:"software_version"` 49 ProtocolVersion string `json:"protocol_version"` 50 ConnectionTime uint64 `json:"connection_time"` 51 ListenPort uint32 `json:"listen_port"` 52 Latency uint64 `json:"latency"` 53 } 54 55 type P2PoolConnectionCheckInformation[TipType any] struct { 56 Address string `json:"address"` 57 Port uint16 `json:"port"` 58 ListenPort uint16 `json:"listen_port"` 59 PeerId uint64 `json:"peer_id"` 60 SoftwareId string `json:"software_id"` 61 SoftwareVersion string `json:"software_version"` 62 ProtocolVersion string `json:"protocol_version"` 63 ConnectionTime uint64 `json:"connection_time"` 64 Latency uint64 `json:"latency"` 65 LastActive uint64 `json:"last_active"` 66 Incoming bool `json:"incoming"` 67 BroadcastTime uint64 `json:"broadcast_time"` 68 BroadcastHeight uint64 `json:"broadcast_height"` 69 // Tip is a sidechain.PoolBlock 70 Tip TipType `json:"tip,omitempty"` 71 Closed bool `json:"closed"` 72 AlreadyConnected bool `json:"already_connected"` 73 HandshakeComplete bool `json:"handshake_complete"` 74 Banned bool `json:"banned"` 75 Error string `json:"error,omitempty"` 76 BanError string `json:"ban_error,omitempty"` 77 }