From ee3a25b9bba7904080040433c9d29d7e99167a63 Mon Sep 17 00:00:00 2001 From: William Banfield Date: Mon, 1 Nov 2021 12:04:46 +0100 Subject: [PATCH] switch to using built in before function --- types/block.go | 8 ++++---- types/block_test.go | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/types/block.go b/types/block.go index 780c139ad..4cc68a725 100644 --- a/types/block.go +++ b/types/block.go @@ -100,15 +100,15 @@ func (b *Block) ValidateBasic() error { // Precision and MsgDelay parameters. // Specifically, a proposed block timestamp is considered timely if it is satisfies the following inequalities: // -// proposedBlockTime < validatorLocalTime + Precision + MsgDelay && proposedBlockTime > validatorLocaltime - Precision. +// proposedBlockTime > validatorLocaltime - Precision && proposedBlockTime < validatorLocalTime + Precision + MsgDelay. // // For more information on the meaning of 'timely', see the proposer-based timestamp specification: // https://github.com/tendermint/spec/tree/master/spec/consensus/proposer-based-timestamp func (b *Block) IsTimely(clock tmtime.Source, p TimestampParams) bool { lt := clock.Now() - lhs := lt.Add(-p.Precision).UnixMilli() - rhs := lt.Add(p.Precision).Add(p.MsgDelay).UnixMilli() - if lhs < b.Header.Time.UnixMilli() && b.Header.Time.UnixMilli() < rhs { + lhs := lt.Add(-p.Precision) + rhs := lt.Add(p.Precision).Add(p.MsgDelay) + if lhs.Before(b.Header.Time) && b.Header.Time.Before(rhs) { return true } return false diff --git a/types/block_test.go b/types/block_test.go index fa0f417b5..78b957324 100644 --- a/types/block_test.go +++ b/types/block_test.go @@ -1365,9 +1365,9 @@ func TestIsTimely(t *testing.T) { // 1 - 2 < 0 < 1 + 2 + 1 name: "basic timely", blockTime: genesisTime, - localTime: genesisTime.Add(1 * time.Millisecond), - precision: time.Millisecond * 2, - msgDelay: time.Millisecond, + localTime: genesisTime.Add(1 * time.Nanosecond), + precision: time.Nanosecond * 2, + msgDelay: time.Nanosecond, expectTimely: true, }, { @@ -1375,19 +1375,19 @@ func TestIsTimely(t *testing.T) { // 3 - 2 < 0 < 3 + 2 + 1 name: "local time too large", blockTime: genesisTime, - localTime: genesisTime.Add(3 * time.Millisecond), - precision: time.Millisecond * 2, - msgDelay: time.Millisecond, + localTime: genesisTime.Add(3 * time.Nanosecond), + precision: time.Nanosecond * 2, + msgDelay: time.Nanosecond, expectTimely: false, }, { // Checking that the following inequality evaluates to false: // 0 - 2 < 2 < 2 + 1 name: "block time too large", - blockTime: genesisTime.Add(4 * time.Millisecond), + blockTime: genesisTime.Add(4 * time.Nanosecond), localTime: genesisTime, - precision: time.Millisecond * 2, - msgDelay: time.Millisecond, + precision: time.Nanosecond * 2, + msgDelay: time.Nanosecond, expectTimely: false, }, }