Merge pull request #1001 from nspcc-dev/net-panic-fix

network: fix panic and Inv types
This commit is contained in:
Roman Khimov 2020-05-29 16:15:51 +03:00 committed by GitHub
commit 52ad387866
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 9 deletions

View file

@ -65,6 +65,7 @@ func (c *Capability) DecodeBinary(br *io.BinReader) {
c.Data = &Server{} c.Data = &Server{}
default: default:
br.Err = errors.New("unknown node capability type") br.Err = errors.New("unknown node capability type")
return
} }
c.Data.DecodeBinary(br) c.Data.DecodeBinary(br)
} }

View file

@ -68,9 +68,9 @@ const (
CMDGetData CommandType = 0x28 CMDGetData CommandType = 0x28
CMDGetBlockData CommandType = 0x29 CMDGetBlockData CommandType = 0x29
CMDUnknown CommandType = 0x2a CMDUnknown CommandType = 0x2a
CMDTX CommandType = 0x2b CMDTX = CommandType(payload.TXType)
CMDBlock CommandType = 0x2c CMDBlock = CommandType(payload.BlockType)
CMDConsensus CommandType = 0x2d CMDConsensus = CommandType(payload.ConsensusType)
CMDReject CommandType = 0x2f CMDReject CommandType = 0x2f
// SPV protocol // SPV protocol

View file

@ -14,11 +14,11 @@ type InventoryType uint8
// String implements the Stringer interface. // String implements the Stringer interface.
func (i InventoryType) String() string { func (i InventoryType) String() string {
switch i { switch i {
case 0x01: case TXType:
return "TX" return "TX"
case 0x02: case BlockType:
return "block" return "block"
case 0xe0: case ConsensusType:
return "consensus" return "consensus"
default: default:
return "unknown inventory type" return "unknown inventory type"
@ -32,9 +32,9 @@ func (i InventoryType) Valid() bool {
// List of valid InventoryTypes. // List of valid InventoryTypes.
const ( const (
TXType InventoryType = 0x01 // 1 TXType InventoryType = 0x2b
BlockType InventoryType = 0x02 // 2 BlockType InventoryType = 0x2c
ConsensusType InventoryType = 0xe0 // 224 ConsensusType InventoryType = 0x2d
) )
// Inventory payload. // Inventory payload.