diff options
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{ |