code: func (b *blockManager) getCheckpts(lastHash *chainhash.Hash,
  	fType wire.FilterType) map[string][]*chainhash.Hash {
  
  	checkpoints := make(map[string][]*chainhash.Hash)
  	getCheckptMsg := wire.NewMsgGetCFCheckpt(fType, lastHash)
  	b.server.queryAllPeers(
  		getCheckptMsg,
  		func(sp *ServerPeer, resp wire.Message, quit chan<- struct{},
  			peerQuit chan<- struct{}) {
  			switch m := resp.(type) {
  			case *wire.MsgCFCheckpt:
  				if m.FilterType == fType &&
  					m.StopHash == *lastHash {
  					checkpoints[sp.Addr()] = m.FilterHeaders
  					close(peerQuit)
  				}
  			}
  		},
  	)
  	return checkpoints
  }
docs: // getCheckpts runs a query for cfcheckpts against all peers and returns a map
  // of responses.