Skip to content

Commit ade0394

Browse files
author
Kadena Kadena
committed
Accept only new post-fork nodes in the peer db after the fork time
1 parent abab307 commit ade0394

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

src/Chainweb/NodeVersion.hs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
--
2323
module Chainweb.NodeVersion
2424
( NodeVersion(..)
25-
, minAcceptedVersion
2625
, isAcceptedVersion
2726
, getNodeVersion
2827

@@ -58,6 +57,7 @@ import qualified Network.HTTP.Types as HTTP
5857

5958
import Chainweb.HostAddress
6059
import Chainweb.RestAPI.Utils
60+
import Chainweb.Time
6161
import Chainweb.Utils
6262
import Chainweb.Version
6363

@@ -84,12 +84,13 @@ instance FromJSON NodeVersion where
8484
parseJSON = parseJsonFromText "NodeVersion"
8585
{-# INLINE parseJSON #-}
8686

87-
minAcceptedVersion :: NodeVersion
88-
minAcceptedVersion = NodeVersion [1,2]
89-
{-# INLINE minAcceptedVersion #-}
90-
91-
isAcceptedVersion :: NodeVersion -> Bool
92-
isAcceptedVersion = (<=) minAcceptedVersion
87+
isAcceptedVersion :: NodeVersion -> IO Bool
88+
isAcceptedVersion v = do
89+
let forkTime = fromJuste $ parseTimeMicros "2025-11-07T04:00:00"
90+
now <- getCurrentTimeIntegral
91+
return $! now < forkTime || v >= forkVersion
92+
where
93+
forkVersion = NodeVersion [3, 0]
9394
{-# INLINE isAcceptedVersion #-}
9495

9596
-- -------------------------------------------------------------------------- --

src/P2P/Node.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,9 @@ guardPeerDb v nid peerDb pinf = do
381381
| isReserved -> return $ Left $ IsReservedHostAddress
382382
| otherwise -> canConnect >>= \case
383383
Left e -> return $ Left $ IsNotReachable e
384-
Right nodeVersion -> if isAcceptedVersion nodeVersion
384+
Right nodeVersion -> do
385+
accepted <- isAcceptedVersion nodeVersion
386+
if accepted
385387
then return $ Right pinf
386388
else return $ Left $ NodeVersionNotAccepted nodeVersion
387389
where

0 commit comments

Comments
 (0)