text: package types
  
  import (
  	"bytes"
  	"sort"
  )
  
  //------------------------------------------------------------------------------
  
  // ValidatorUpdates is a list of validators that implements the Sort interface
  type ValidatorUpdates []ValidatorUpdate
  
  var _ sort.Interface = (ValidatorUpdates)(nil)
  
  // All these methods for ValidatorUpdates:
  //    Len, Less and Swap
  // are for ValidatorUpdates to implement sort.Interface
  // which will be used by the sort package.
  // See Issue https://github.com/tendermint/abci/issues/212
  
  func (v ValidatorUpdates) Len() int {
  	return len(v)
  }
  
  // XXX: doesn't distinguish same validator with different power
  func (v ValidatorUpdates) Less(i, j int) bool {
  	return bytes.Compare(v[i].PubKey.Data, v[j].PubKey.Data) <= 0
  }
  
  func (v ValidatorUpdates) Swap(i, j int) {
  	v1 := v[i]
  	v[i] = v[j]
  	v[j] = v1
  }
  