github.com/status-im/status-go@v1.1.0/waku/common/bloomfilter.go (about) 1 package common 2 3 func IsFullNode(bloom []byte) bool { 4 if bloom == nil { 5 return true 6 } 7 for _, b := range bloom { 8 if b != 255 { 9 return false 10 } 11 } 12 return true 13 } 14 15 func BloomFilterMatch(filter, sample []byte) bool { 16 if filter == nil { 17 return true 18 } 19 20 for i := 0; i < BloomFilterSize; i++ { 21 f := filter[i] 22 s := sample[i] 23 if (f | s) != f { 24 return false 25 } 26 } 27 28 return true 29 } 30 31 func MakeFullNodeBloom() []byte { 32 bloom := make([]byte, BloomFilterSize) 33 for i := 0; i < BloomFilterSize; i++ { 34 bloom[i] = 0xFF 35 } 36 return bloom 37 }