Skip to content

Commit 542751f

Browse files
committed
Change OnDepositTx to not use POSIXTime
1 parent e543075 commit 542751f

File tree

6 files changed

+14
-37
lines changed

6 files changed

+14
-37
lines changed

hydra-node/hydra-node.cabal

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ library
136136
, http-types
137137
, hydra-cardano-api
138138
, hydra-plutus
139-
, hydra-plutus-extras
140139
, hydra-prelude
141140
, hydra-tx
142141
, hydra-tx:testlib
@@ -373,7 +372,6 @@ test-suite tests
373372
, hydra-node:examples
374373
, hydra-node:testlib
375374
, hydra-plutus
376-
, hydra-plutus-extras
377375
, hydra-prelude
378376
, hydra-test-utils
379377
, hydra-tx

hydra-node/src/Hydra/Chain/Direct/Handlers.hs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ import Hydra.Chain.Direct.Wallet (
6565
)
6666
import Hydra.Ledger.Cardano (adjustUTxO, fromChainSlot)
6767
import Hydra.Logging (Tracer, traceWith)
68-
import Hydra.Plutus.Extras (posixToUTCTime)
6968
import Hydra.Tx (
7069
CommitBlueprintTx (..),
7170
HeadParameters (..),
@@ -339,14 +338,7 @@ convertObservation TimeHandle{slotToUTCTime} = \case
339338
pure OnCollectComTx{headId}
340339
Deposit DepositObservation{headId, depositTxId, deposited, created, deadline} -> do
341340
createdTime <- either (const Nothing) Just $ slotToUTCTime created
342-
pure $
343-
OnDepositTx
344-
{ headId
345-
, depositTxId
346-
, deposited
347-
, created = createdTime
348-
, deadline = posixToUTCTime deadline
349-
}
341+
pure $ OnDepositTx{headId, depositTxId, deposited, created = createdTime, deadline}
350342
Recover RecoverObservation{headId, recoveredTxId, recoveredUTxO} ->
351343
pure OnRecoverTx{headId, recoveredTxId, recoveredUTxO}
352344
Increment IncrementObservation{headId, newVersion, depositTxId} ->

hydra-node/src/Hydra/Chain/Direct/State.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ import Hydra.Ledger.Cardano (adjustUTxO)
7474
import Hydra.Ledger.Cardano.Evaluate (genPointInTimeBefore, genValidityBoundsFromContestationPeriod, slotLength, systemStart)
7575
import Hydra.Ledger.Cardano.Time (slotNoFromUTCTime)
7676
import Hydra.Plutus (commitValidatorScript, depositValidatorScript, initialValidatorScript)
77-
import Hydra.Plutus.Extras (posixToUTCTime)
7877
import Hydra.Tx (
7978
CommitBlueprintTx (..),
8079
ConfirmedSnapshot (..),
@@ -1155,7 +1154,7 @@ genRecoverTx = do
11551154
(_, _, depositedUTxO, txDeposit) <- genDepositTx maximumNumberOfParties
11561155
let DepositObservation{deposited, deadline} =
11571156
fromJust $ observeDepositTx testNetworkId txDeposit
1158-
let slotNo = slotNoFromUTCTime systemStart slotLength (posixToUTCTime deadline)
1157+
let slotNo = slotNoFromUTCTime systemStart slotLength deadline
11591158
slotNo' <- arbitrary
11601159
let tx = recoverTx (getTxId $ getTxBody txDeposit) deposited (slotNo + slotNo')
11611160
pure (depositedUTxO, tx)
@@ -1168,7 +1167,7 @@ genIncrementTx numParties = do
11681167
let openUTxO = getKnownUTxO st
11691168
let version = 0
11701169
snapshot <- genConfirmedSnapshot headId version 1 openUTxO (Just deposited) Nothing (ctxHydraSigningKeys ctx)
1171-
let slotNo = slotNoFromUTCTime systemStart slotLength (posixToUTCTime deadline)
1170+
let slotNo = slotNoFromUTCTime systemStart slotLength deadline
11721171
pure
11731172
( cctx
11741173
, st

hydra-node/test/Hydra/Chain/Direct/StateSpec.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ import Hydra.Ledger.Cardano.Evaluate (
9595
)
9696
import Hydra.Ledger.Cardano.Time (slotNoFromUTCTime)
9797
import Hydra.Plutus (initialValidatorScript)
98-
import Hydra.Plutus.Extras.Time (posixToUTCTime)
9998
import Hydra.Tx.ContestationPeriod (toNominalDiffTime)
10099
import Hydra.Tx.Deposit (DepositObservation (..), observeDepositTx)
101100
import Hydra.Tx.Observe (
@@ -540,7 +539,7 @@ prop_incrementObservesCorrectUTxO = monadicIO $ do
540539
Nothing -> assertWith False "Deposit not observed"
541540
Just DepositObservation{depositTxId = depositedTxId, deadline} -> do
542541
cctx <- pickBlind $ pickChainContext ctx
543-
let slotNo = slotNoFromUTCTime systemStart slotLength (posixToUTCTime deadline)
542+
let slotNo = slotNoFromUTCTime systemStart slotLength deadline
544543
let version = 0
545544
let openUTxO = getKnownUTxO st
546545
-- NOTE: Use second deposit utxo deliberately here to test that the

hydra-node/test/Hydra/Events/RotationSpec.hs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import Test.Hydra.Prelude
66
import Data.List qualified as List
77
import Hydra.Chain (OnChainTx (..))
88
import Hydra.Chain.ChainState (ChainSlot (..), IsChainState)
9-
import Hydra.Data.ContestationPeriod (addContestationPeriod)
109
import Hydra.Events (EventSink (..), HasEventId (..), getEvents)
1110
import Hydra.Events.Rotation (EventStore (..), RotationConfig (..), newRotatedEventStore)
1211
import Hydra.HeadLogic (HeadState (..), IdleState (..), StateChanged (..), aggregate)
@@ -15,8 +14,7 @@ import Hydra.Ledger.Simple (SimpleChainState (..), simpleLedger)
1514
import Hydra.Logging (showLogsOnFailure)
1615
import Hydra.Node (hydrate)
1716
import Hydra.NodeSpec (createMockEventStore, inputsToOpenHead, notConnect, observationInput, primeWith, runToCompletion)
18-
import Hydra.Plutus.Extras (posixFromUTCTime, posixToUTCTime)
19-
import Hydra.Tx.ContestationPeriod (toChain)
17+
import Hydra.Tx.ContestationPeriod (toNominalDiffTime)
2018
import Test.Hydra.Node.Fixture (testEnvironment, testHeadId)
2119
import Test.Hydra.Tx.Fixture (cperiod)
2220
import Test.QuickCheck (Positive (..))
@@ -56,8 +54,8 @@ spec = parallel $ do
5654
>>= primeWith inputsToOpenHead
5755
>>= runToCompletion
5856
now <- getCurrentTime
59-
let contestationDeadline = addContestationPeriod (posixFromUTCTime now) (toChain cperiod)
60-
let closeInput = observationInput $ OnCloseTx testHeadId 0 (posixToUTCTime contestationDeadline)
57+
let contestationDeadline = toNominalDiffTime cperiod `addUTCTime` now
58+
let closeInput = observationInput $ OnCloseTx testHeadId 0 contestationDeadline
6159
testHydrate rotatingEventStore []
6260
>>= notConnect
6361
>>= primeWith [closeInput]
@@ -69,8 +67,8 @@ spec = parallel $ do
6967
it "a rotated and non-rotated node have consistent state" $ \testHydrate -> do
7068
-- prepare inputs
7169
now <- getCurrentTime
72-
let contestationDeadline = addContestationPeriod (posixFromUTCTime now) (toChain cperiod)
73-
let closeInput = observationInput $ OnCloseTx testHeadId 0 (posixToUTCTime contestationDeadline)
70+
let contestationDeadline = toNominalDiffTime cperiod `addUTCTime` now
71+
let closeInput = observationInput $ OnCloseTx testHeadId 0 contestationDeadline
7472
let inputs = inputsToOpenHead ++ [closeInput]
7573
failAfter 1 $
7674
do

hydra-tx/src/Hydra/Tx/Deposit.hs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module Hydra.Tx.Deposit where
22

3+
import Hydra.Cardano.Api
34
import Hydra.Prelude hiding (toList)
45

56
import Cardano.Api.UTxO qualified as UTxO
@@ -9,11 +10,10 @@ import Data.Maybe.Strict (StrictMaybe (..))
910
import Data.Sequence.Strict qualified as StrictSeq
1011
import Data.Set qualified as Set
1112
import GHC.IsList (toList)
12-
import Hydra.Cardano.Api
1313
import Hydra.Contract.Commit qualified as Commit
1414
import Hydra.Contract.Deposit qualified as Deposit
1515
import Hydra.Plutus (depositValidatorScript)
16-
import Hydra.Plutus.Extras.Time (posixFromUTCTime)
16+
import Hydra.Plutus.Extras.Time (posixFromUTCTime, posixToUTCTime)
1717
import Hydra.Tx (CommitBlueprintTx (..), HeadId, currencySymbolToHeadId, headIdToCurrencySymbol, txId)
1818
import Hydra.Tx.Utils (addMetadata, mkHydraHeadV1TxName)
1919
import PlutusLedgerApi.V3 (POSIXTime)
@@ -79,19 +79,10 @@ data DepositObservation = DepositObservation
7979
, depositTxId :: TxId
8080
, deposited :: UTxO
8181
, created :: SlotNo
82-
, deadline :: POSIXTime
82+
, deadline :: UTCTime
8383
}
8484
deriving stock (Show, Eq, Generic)
85-
86-
instance ToJSON DepositObservation where
87-
toJSON = undefined -- TODO: ToJSON POSIXTime?
88-
89-
instance FromJSON DepositObservation where
90-
parseJSON = undefined -- TODO: FromJSON POSIXTime?
91-
92-
instance Arbitrary DepositObservation where
93-
arbitrary = undefined -- TODO: Arbitrary TxId and UTxO
94-
shrink = undefined -- TODO: Arbitrary TxId and UTxO
85+
deriving anyclass (ToJSON, FromJSON)
9586

9687
-- | Observe a deposit transaction by decoding the target head id, deposit
9788
-- deadline and deposited utxo in the datum.
@@ -116,7 +107,7 @@ observeDepositTx networkId tx = do
116107
, depositTxId = txId tx
117108
, deposited
118109
, created
119-
, deadline
110+
, deadline = posixToUTCTime deadline
120111
}
121112
where
122113
spendsAll = all (`elem` txIns' tx) . UTxO.inputSet

0 commit comments

Comments
 (0)