Skip to content

Commit

Permalink
Correctly set value for script deposit
Browse files Browse the repository at this point in the history
  • Loading branch information
ffakenz authored and v0d1ch committed Oct 25, 2024
1 parent 5873c91 commit 5c771c7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 14 deletions.
14 changes: 8 additions & 6 deletions hydra-cluster/src/Hydra/Cluster/Faucet.hs
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,14 @@ createOutputAtAddress node@RunningNode{networkId, nodeSocket} atAddress datum va
pparams <- queryProtocolParameters networkId nodeSocket QueryTip
let collateralTxIns = mempty
let output =
mkTxOutAutoBalance
pparams
atAddress
val
datum
ReferenceScriptNone
-- TODO: improve this so we don't autobalance and then reset the value
modifyTxOutValue (const val) $
mkTxOutAutoBalance
pparams
atAddress
val
datum
ReferenceScriptNone
buildTransaction
networkId
nodeSocket
Expand Down
11 changes: 6 additions & 5 deletions hydra-cluster/src/Hydra/Cluster/Scenarios.hs
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ singlePartyCommitsScriptBlueprint tracer workDir node hydraScriptsTxId =
send n1 $ input "Init" []
headId <- waitMatch (10 * blockTime) n1 $ headIsInitializingWith (Set.fromList [alice])

(clientPayload, scriptUTxO) <- prepareScriptPayload
(clientPayload, scriptUTxO) <- prepareScriptPayload 3_000_000

res <-
runReq defaultHttpConfig $
Expand All @@ -418,7 +418,7 @@ singlePartyCommitsScriptBlueprint tracer workDir node hydraScriptsTxId =
pure $ v ^? key "utxo"
lockedUTxO `shouldBe` Just (toJSON scriptUTxO)
-- incrementally commit script to a running Head
(clientPayload', scriptUTxO') <- prepareScriptPayload
(clientPayload', scriptUTxO') <- prepareScriptPayload 2_000_000

res' <-
runReq defaultHttpConfig $
Expand All @@ -444,12 +444,12 @@ singlePartyCommitsScriptBlueprint tracer workDir node hydraScriptsTxId =
waitFor hydraTracer 10 [n1] $
output "GetUTxOResponse" ["headId" .= headId, "utxo" .= (scriptUTxO <> scriptUTxO')]
where
prepareScriptPayload = do
prepareScriptPayload val = do
let script = alwaysSucceedingNAryFunction 3
let serializedScript = PlutusScriptSerialised script
let scriptAddress = mkScriptAddress networkId serializedScript
let datumHash = mkTxOutDatumHash ()
(scriptIn, scriptOut) <- createOutputAtAddress node scriptAddress datumHash (lovelaceToValue 0)
(scriptIn, scriptOut) <- createOutputAtAddress node scriptAddress datumHash (lovelaceToValue val)
let scriptUTxO = UTxO.singleton (scriptIn, scriptOut)

let scriptWitness =
Expand Down Expand Up @@ -804,7 +804,8 @@ canRecoverDeposit tracer workDir node hydraScriptsTxId =

let path = BSC.unpack $ urlEncode False $ encodeUtf8 $ T.pack $ show (getTxId $ getTxBody tx)
-- NOTE: we need to wait for the deadline to pass before we can recover the deposit
threadDelay $ fromIntegral (deadline * 2)
-- NOTE: for some reason threadDelay on MacOS behaves differently than on Linux so we need + 1 here
threadDelay $ fromIntegral (deadline * 2 + 1)

recoverResp <-
parseUrlThrow ("DELETE " <> hydraNodeBaseUrl n1 <> "/commits/" <> path)
Expand Down
6 changes: 3 additions & 3 deletions hydra-tx/src/Hydra/Tx/Increment.hs
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ incrementTx scriptRegistry vk headId headParameters (headInput, headOutput) snap
, version = toInteger version + 1
}

depositedValue = txOutValue depositOut
depositedValue = foldMap (txOutValue . snd) $ UTxO.pairs (fromMaybe mempty utxoToCommit)

depositScript = fromPlutusScript @PlutusScriptV2 Deposit.validatorScript

-- NOTE: we expect always a single output from a deposit tx
(depositIn, depositOut) = List.head $ UTxO.pairs depositScriptUTxO
(depositIn, _) = List.head $ UTxO.pairs depositScriptUTxO

depositRedeemer = toScriptData $ Deposit.Claim $ headIdToCurrencySymbol headId

Expand All @@ -110,4 +110,4 @@ incrementTx scriptRegistry vk headId headParameters (headInput, headOutput) snap
ScriptWitness scriptWitnessInCtx $
mkScriptWitness depositScript InlineScriptDatum depositRedeemer

Snapshot{utxo, version, number} = snapshot
Snapshot{utxo, utxoToCommit, version, number} = snapshot

0 comments on commit 5c771c7

Please sign in to comment.