func (pool *BlockPool) BlockAndPeerAtHeight(height int64) (bData *BlockData, err error) {
	peerID := pool.blocks[height]
	peer := pool.peers[peerID]
	if peer == nil {
		return nil, errMissingBlock
	}

	block, err := peer.BlockAtHeight(height)
	if err != nil {
		return nil, err
	}

	return &BlockData{peer: peer, block: block}, nil

}
// BlockAndPeerAtHeight retrieves the block and delivery peer at specified height.
// Returns errMissingBlock if a block was not found
BlockAndPeerAtHeight retrieves the block and delivery peer at specified height.
Returns errMissingBlock if a block was not found
// BlockAndPeerAtHeight retrieves the block and delivery peer at specified height . // Returns errMissingBlock if a block was not found
func (pool *BlockPool) BlockAndPeerAtHeight(height int64) (bData *BlockData, err error) {
	peerID := pool.blocks[height]
	peer := pool.peers[peerID]
	if peer == nil {
		return nil, errMissingBlock
	}
	block, err := peer.BlockAtHeight(height)
	if err != nil {
		return nil, err
	}
	return &BlockData{peer: peer, block: block}, nil
}
func ( pool * BlockPool ) BlockAndPeerAtHeight ( height int64 ) ( bData * BlockData , err error ) { peerID := pool . blocks [ height ] peer := pool . peers [ peerID ] if peer == nil { return nil , errMissingBlock } block , err := peer . BlockAtHeight ( height ) if err != nil { return nil , err } return & BlockData { peer : peer , block : block } , nil }
BlockAndPeerAtHeight retrieves the block and delivery peer at specified height.
BlockAndPeerAtHeight retrieves the block and delivery peer at specified height .