diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2018-10-25 16:59:30 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-25 16:59:30 +0800 |
commit | 04eeac10e6c690e62ae57ef0e2bdf4618b8782d1 (patch) | |
tree | e0b95167d1f42a9304fb9e924378464edbb517e9 /core/types/position.go | |
parent | 233f1e8de99bf2a0023f05d1c67e48cc770621df (diff) | |
download | dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar.gz dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar.bz2 dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar.lz dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar.xz dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.tar.zst dexon-consensus-04eeac10e6c690e62ae57ef0e2bdf4618b8782d1.zip |
core: lattice sync (#257)
Diffstat (limited to 'core/types/position.go')
-rw-r--r-- | core/types/position.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/types/position.go b/core/types/position.go index f41be32..d821d16 100644 --- a/core/types/position.go +++ b/core/types/position.go @@ -57,6 +57,16 @@ func (pos *Position) Newer(other *Position) bool { (pos.Round == other.Round && pos.Height > other.Height) } +// Older checks if one block is older than another one on the same chain. +// If two blocks on different chain compared by this function, it would panic. +func (pos *Position) Older(other *Position) bool { + if pos.ChainID != other.ChainID { + panic(ErrComparePositionOnDifferentChains) + } + return pos.Round < other.Round || + (pos.Round == other.Round && pos.Height < other.Height) +} + // Clone a position instance. func (pos *Position) Clone() *Position { return &Position{ |