Skip to content

Commit

Permalink
feat: updated privnet to Conway, fix privnet tests
Browse files Browse the repository at this point in the history
Related to #326.
  • Loading branch information
sourabhxyz committed Aug 21, 2024
1 parent edaa3cf commit ccf8681
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 17 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/haskell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,10 @@ jobs:
run: cabal build --only-dependencies --enable-tests --enable-benchmarks
- name: Build all targets (cabal)
run: cabal build --enable-tests --enable-benchmarks all
- name: Symlink cardano-node binaries
run: cabal install --package-env=$(pwd) --overwrite-policy=always cardano-cli cardano-node
- name: Run privnet tests
run: cabal run atlas-privnet-tests -- -j1 --hide-successes
- name: Run all tests (cabal)
run: cabal run atlas-tests -- -j1 --hide-successes
- name: Run doctest (docspec)
Expand All @@ -182,10 +186,6 @@ jobs:
echo "===========================[ RUN DOCSPEC ]==========================="
./cabal-docspec -q --ignore-trailing-space
echo " ============================[ FINISHED ]============================"
- name: Symlink cardano-node binaries
run: cabal install --package-env=$(pwd) --overwrite-policy=always cardano-cli cardano-node
- name: Run privnet tests
run: cabal run atlas-privnet-tests -- -j1 --hide-successes
- name: Run checks (cabal)
run: cabal check
- name: Create source distribution file (cabal)
Expand Down
2 changes: 1 addition & 1 deletion src/GeniusYield/Providers/Blockfrost.hs
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ blockfrostEraHistory proj = do
{ eraEpochSize = CSlot.EpochSize $ fromIntegral _parametersEpochLength
, eraSlotLength = CTime.mkSlotLength _parametersSlotLength
, eraSafeZone = Ouroboros.StandardSafeZone _parametersSafeZone
, eraGenesisWin = 0
, eraGenesisWin = 0 -- We don't make use of it.
}
mkEra Blockfrost.NetworkEraSummary {_networkEraStart, _networkEraEnd, _networkEraParameters} = Ouroboros.EraSummary
{ eraStart = mkBound _networkEraStart
Expand Down
2 changes: 1 addition & 1 deletion src/GeniusYield/Providers/Maestro.hs
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ maestroEraHistory env = do
{ eraEpochSize = CSlot.EpochSize $ fromIntegral eraParametersEpochLength
, eraSlotLength = CTime.mkSlotLength $ Maestro.epochSlotLengthMilliseconds eraParametersSlotLength / 1000
, eraSafeZone = Ouroboros.StandardSafeZone $ fromJust eraParametersSafeZone
, eraGenesisWin = 0
, eraGenesisWin = 0 -- We don't make use of it.
}
mkEra Maestro.EraSummary {eraSummaryStart, eraSummaryEnd, eraSummaryParameters} = Ouroboros.EraSummary
{ eraStart = mkBound eraSummaryStart
Expand Down
3 changes: 3 additions & 0 deletions src/GeniusYield/Test/Privnet/Setup.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ module GeniusYield.Test.Privnet.Setup (
mkPrivnetTestFor',
-- * "Cardano.Testnet" re-exports
cardanoDefaultTestnetOptions,
cardanoDefaultTestnetOptionsConway,
cardanoDefaultTestnetNodeOptions,
CardanoTestnetOptions (..),
TestnetNodeOptions (..),
Expand Down Expand Up @@ -65,6 +66,8 @@ import Testnet.Types
-- The first argument is the log severity filter. Only logs of this severity or higher will be passed on to the second argument, which is a logging action.
newtype Setup = Setup (GYLogSeverity -> (String -> IO ()) -> (Ctx -> IO ()) -> IO ())

cardanoDefaultTestnetOptionsConway :: CardanoTestnetOptions
cardanoDefaultTestnetOptionsConway = cardanoDefaultTestnetOptions {cardanoNodeEra = Api.AnyCardanoEra Api.ConwayEra}
data PrivnetRuntime = PrivnetRuntime
{ runtimeNodeSocket :: !FilePath
, runtimeNetworkInfo :: !GYNetworkInfo
Expand Down
8 changes: 5 additions & 3 deletions src/GeniusYield/Types/TxCert.hs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ module GeniusYield.Types.TxCert (
) where

import GeniusYield.Types.Certificate
import GeniusYield.Types.Credential (GYStakeCredential)
import GeniusYield.Types.Credential (GYStakeCredential (..))
import GeniusYield.Types.Delegatee (GYDelegatee)
import GeniusYield.Types.TxCert.Internal

mkStakeAddressRegistrationCertificate :: GYStakeCredential -> GYTxCert v
mkStakeAddressRegistrationCertificate sc = GYTxCert (GYStakeAddressRegistrationCertificatePB sc) Nothing
{-| Post conway, newer stake address registration certificate also require a witness.
-}
mkStakeAddressRegistrationCertificate :: GYStakeCredential -> GYTxCertWitness v -> GYTxCert v
mkStakeAddressRegistrationCertificate sc wit = GYTxCert (GYStakeAddressRegistrationCertificatePB sc) (Just wit)

{-| Note that deregistration certificate requires following preconditions:
Expand Down
4 changes: 2 additions & 2 deletions tests-privnet/GeniusYield/Test/Privnet/Stake/Utils.hs
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ registerStakeCredentialSteps strat user mstakeValHash info ctx = do
pp <- ctxGetParams ctx & gyGetProtocolParameters'
info $ "-- Protocol parameters --\n" <> show pp <> "\n-- x --\n"
txBodyReg <- ctxRun ctx user $ do
buildTxBodyWithStrategy strat $ mustHaveCertificate (mkStakeAddressRegistrationCertificate (resolveStakeCredential user mstakeValHash))
buildTxBodyWithStrategy strat $ mustHaveCertificate (mkStakeAddressRegistrationCertificate (resolveStakeCredential user mstakeValHash) (resolveCertWitness (isJust mstakeValHash)))
info $ "-- Registration tx body --\n" <> show txBodyReg <> "\n-- x --\n"
ctxRun ctx user $ signAndSubmitConfirmed_ txBodyReg
ctxRun ctx user $ submitTxBodyConfirmed_ txBodyReg $ resolveSigningRequirement user mstakeValHash

delegateStakeCredentialSteps :: GYCoinSelectionStrategy -> User -> Maybe GYStakeValidatorHash -> GYStakePoolId -> (String -> IO ()) -> Ctx -> IO ()
delegateStakeCredentialSteps strat user mstakeValHash spId info ctx = do
Expand Down
8 changes: 4 additions & 4 deletions tests-privnet/atlas-privnet-tests.hs
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ module Main (main) where

import GeniusYield.Imports

import Test.Tasty (defaultMain, testGroup)
import Test.Tasty.HUnit (testCaseSteps)
import Test.Tasty (defaultMain, testGroup)
import Test.Tasty.HUnit (testCaseSteps)

import GeniusYield.CardanoApi.EraHistory
import GeniusYield.Types

import GeniusYield.Test.Privnet.Ctx
import qualified GeniusYield.Test.Privnet.Examples
import GeniusYield.Test.Privnet.Setup
import qualified GeniusYield.Test.Privnet.Stake
import qualified GeniusYield.Test.Privnet.SimpleScripts
import qualified GeniusYield.Test.Privnet.Stake
import GeniusYield.TxBuilder

main :: IO ()
main = do
withPrivnet cardanoDefaultTestnetOptions $ \setup ->
withPrivnet cardanoDefaultTestnetOptionsConway $ \setup ->
defaultMain $ testGroup "atlas-privnet-tests"
[ testCaseSteps "Balances" $ \info -> withSetup info setup $ \ctx -> do
forM_ (zip [(1 :: Integer) ..] (ctxUserF ctx : ctxUsers ctx))
Expand Down
5 changes: 3 additions & 2 deletions tests-unified/atlas-unified-tests.hs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ module Main
( main
) where

import Test.Tasty (defaultMain, testGroup)
import Test.Tasty (defaultMain,
testGroup)

import GeniusYield.Test.Privnet.Setup

import GeniusYield.Test.Unified.BetRef.PlaceBet
import GeniusYield.Test.Unified.BetRef.TakePot

main :: IO ()
main = withPrivnet cardanoDefaultTestnetOptions $ \setup ->
main = withPrivnet cardanoDefaultTestnetOptionsConway $ \setup ->
defaultMain $ testGroup "BetRef" [placeBetTests setup, takeBetPotTests setup]

0 comments on commit ccf8681

Please sign in to comment.