Skip to content

Commit

Permalink
Add missing pact 5 case to initializeCoinContract
Browse files Browse the repository at this point in the history
  • Loading branch information
edmundnoble committed Sep 17, 2024
1 parent 0edd24c commit 9e02db4
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions src/Chainweb/Pact/PactService.hs
Original file line number Diff line number Diff line change
Expand Up @@ -268,15 +268,17 @@ initializeCoinContract v cid pwo = do
logWarnPact "initializeCoinContract: Checkpointer returned no latest block. Starting from genesis."
validateGenesis
Just currentBlockHeader -> do
if
_parentHeader currentBlockHeader /= genesisHeader &&
not (pact5 v cid $ _blockHeight genesisHeader)
then do
!mc <- readFrom (Just currentBlockHeader) (SomeBlockM $ Pair Pact4.readInitModules (error "pact5")) >>= \case
NoHistory -> throwM $ BlockHeaderLookupFailure
$ "initializeCoinContract: internal error: latest block not found: " <> sshow currentBlockHeader
Historical mc -> return mc
Pact4.updateInitCache mc currentBlockHeader
if currentBlockHeader /= ParentHeader genesisHeader
then
if not (pact5 v cid $ _blockHeight genesisHeader)
then do
!mc <- readFrom (Just currentBlockHeader) (SomeBlockM $ Pair Pact4.readInitModules (error "pact5")) >>= \case
NoHistory -> throwM $ BlockHeaderLookupFailure
$ "initializeCoinContract: internal error: latest block not found: " <> sshow currentBlockHeader
Historical mc -> return mc
Pact4.updateInitCache mc currentBlockHeader
else
return ()
else do
logWarnPact "initializeCoinContract: Starting from genesis."
validateGenesis
Expand Down

0 comments on commit 9e02db4

Please sign in to comment.