Skip to content

Commit b02718b

Browse files
authored
Merge pull request #1654 from Plutonomicon/dshuiski/cardano-testnet-startup
Fix startCardanoTestnet
2 parents 391dda3 + 5ceff62 commit b02718b

File tree

14 files changed

+350
-260
lines changed

14 files changed

+350
-260
lines changed

CHANGELOG.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,47 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
88
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
99

1010
- [[Unreleased]](#unreleased)
11+
- [Changed](#changed)
1112
- [Fixed](#fixed)
1213
- [[v9.3.1]](#v931)
1314
- [Fixed](#fixed-1)
1415
- [[v9.3.0]](#v930)
1516
- [Fixed](#fixed-2)
16-
- [Changed](#changed)
17+
- [Changed](#changed-1)
1718
- [[v9.2.0]](#v920)
1819
- [Added](#added)
19-
- [Changed](#changed-1)
20+
- [Changed](#changed-2)
2021
- [Removed](#removed)
2122
- [Fixed](#fixed-3)
2223
- [[v9.1.0]](#v910)
2324
- [Added](#added-1)
24-
- [Changed](#changed-2)
25+
- [Changed](#changed-3)
2526
- [Removed](#removed-1)
2627
- [Fixed](#fixed-4)
2728
- [[v9.0.0]](#v900)
2829
- [Deprecated](#deprecated)
2930
- [Added](#added-2)
3031
- [Removed](#removed-2)
31-
- [Changed](#changed-3)
32+
- [Changed](#changed-4)
3233
- [Fixed](#fixed-5)
3334
- [[v8.0.0]](#v800)
3435
- [Added](#added-3)
35-
- [Changed](#changed-4)
36+
- [Changed](#changed-5)
3637
- [Fixed](#fixed-6)
3738
- [Removed](#removed-3)
3839
- [[v7.0.0]](#v700)
3940
- [Added](#added-4)
40-
- [Changed](#changed-5)
41+
- [Changed](#changed-6)
4142
- [Fixed](#fixed-7)
4243
- [Removed](#removed-4)
4344
- [[v6.0.0]](#v600)
4445
- [Added](#added-5)
45-
- [Changed](#changed-6)
46+
- [Changed](#changed-7)
4647
- [Fixed](#fixed-8)
4748
- [Removed](#removed-5)
4849
- [[v5.0.0]](#v500)
4950
- [Added](#added-6)
50-
- [Changed](#changed-7)
51+
- [Changed](#changed-8)
5152
- [Removed](#removed-6)
5253
- [Fixed](#fixed-9)
5354
- [Runtime Dependencies](#runtime-dependencies)
@@ -57,25 +58,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
5758
- [Added](#added-7)
5859
- [[v4.0.0] - 2022-12-15](#v400---2022-12-15)
5960
- [Added](#added-8)
60-
- [Changed](#changed-8)
61+
- [Changed](#changed-9)
6162
- [Removed](#removed-7)
6263
- [Fixed](#fixed-11)
6364
- [Runtime Dependencies](#runtime-dependencies-1)
6465
- [[3.0.0] - 2022-11-21](#300---2022-11-21)
6566
- [Added](#added-9)
66-
- [Changed](#changed-9)
67+
- [Changed](#changed-10)
6768
- [Removed](#removed-8)
6869
- [Fixed](#fixed-12)
6970
- [Runtime Dependencies](#runtime-dependencies-2)
7071
- [[2.0.0] - 2022-09-12](#200---2022-09-12)
7172
- [Added](#added-10)
72-
- [Changed](#changed-10)
73+
- [Changed](#changed-11)
7374
- [Removed](#removed-9)
7475
- [Fixed](#fixed-13)
7576
- [[2.0.0-alpha] - 2022-07-05](#200-alpha---2022-07-05)
7677
- [Added](#added-11)
7778
- [Removed](#removed-10)
78-
- [Changed](#changed-11)
79+
- [Changed](#changed-12)
7980
- [Fixed](#fixed-14)
8081
- [[1.1.0] - 2022-06-30](#110---2022-06-30)
8182
- [Fixed](#fixed-15)
@@ -87,9 +88,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
8788

8889
## [Unreleased]
8990

91+
### Changed
92+
93+
- `cardano-serialization-lib` has been updated to `v13.2.0` ([#1656](https://github.com/Plutonomicon/cardano-transaction-lib/pull/1656))
94+
9095
### Fixed
9196

9297
- Fixed transaction witness set 'attach' functions. Previously, the updated witness set was incorrectly appended to the existing set, causing performance degradation when processing constraints for complex transactions. ([#1653](https://github.com/Plutonomicon/cardano-transaction-lib/pull/1653))
98+
- Updating to CSL `v13.2.0` should resolve the issue of occasional transaction script integrity hash mismatches on tx submission ([#1656](https://github.com/Plutonomicon/cardano-transaction-lib/pull/1656))
9399

94100
## [v9.3.1]
95101

package-lock.json

Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"license": "MIT",
3333
"dependencies": {
3434
"@mlabs-haskell/cardano-message-signing": "^1.0.1",
35-
"@mlabs-haskell/cardano-serialization-lib-gc": "12.0.0",
35+
"@mlabs-haskell/cardano-serialization-lib-gc": "13.2.0",
3636
"@mlabs-haskell/json-bigint": "2.0.0",
3737
"@mlabs-haskell/uplc-apply-args": "1.0.29-alpha",
3838
"@noble/secp256k1": "^1.7.0",

packages.dhall

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ let additions =
214214
]
215215
, repo =
216216
"https://github.com/mlabs-haskell/purescript-cardano-serialization-lib"
217-
, version = "v2.0.0"
217+
, version = "v3.0.0"
218218
}
219219
, cardano-plutus-data-schema =
220220
{ dependencies = [ "prelude" ]
@@ -372,7 +372,7 @@ let additions =
372372
, "unsafe-coerce"
373373
]
374374
, repo = "https://github.com/mlabs-haskell/purescript-cardano-types"
375-
, version = "v3.0.0"
375+
, version = "v4.0.0"
376376
}
377377
, cardano-message-signing =
378378
{ dependencies =

spago-packages.nix

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Internal/Spawn.purs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,15 @@ spawn' cmd args opts mbFilter cont = do
9090
child <- ChildProcess.spawn cmd args opts
9191
let fullCmd = cmd <> foldMap (" " <> _) args
9292
closedAVar <- AVar.empty
93-
interface <- RL.createInterface (stdout child) mempty
93+
stdoutInterfaceRef <- Ref.new Nothing
9494
stderrInterface <- RL.createInterface (stderr child) mempty
9595
flip RL.setLineHandler stderrInterface \str -> do
9696
traceM $ "stderr: " <> str
9797
outputRef <- Ref.new ""
9898
ChildProcess.onClose child \code -> do
99-
RL.close interface
99+
stdoutInterface <- Ref.read stdoutInterfaceRef
100+
traverse_ RL.close stdoutInterface
101+
RL.close stderrInterface
100102
void $ AVar.tryPut code closedAVar
101103
output <- Ref.read outputRef
102104
cont $ Left $ error
@@ -113,16 +115,18 @@ spawn' cmd args opts mbFilter cont = do
113115
case mbFilter of
114116
Nothing -> cont (pure mp)
115117
Just filter -> do
116-
flip RL.setLineHandler interface
118+
stdoutInterface <- RL.createInterface (stdout child) mempty
119+
Ref.write (Just stdoutInterface) stdoutInterfaceRef
120+
flip RL.setLineHandler stdoutInterface
117121
\str -> do
118122
output <- Ref.modify (_ <> str <> "\n") outputRef
119123
filter { output, line: str } >>= case _ of
120124
Success -> do
121-
clearLineHandler interface
125+
clearLineHandler stdoutInterface
122126
cont (pure mp)
123127
Cancel -> do
124128
kill SIGINT child
125-
clearLineHandler interface
129+
clearLineHandler stdoutInterface
126130
cont $ Left $ error
127131
$ "Process cancelled because output received: "
128132
<> str

src/Internal/Testnet/Contract.purs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ module Ctl.Internal.Testnet.Contract
99
import Contract.Prelude
1010

1111
import Cardano.Serialization.Lib (privateKey_generateEd25519) as Csl
12-
import Cardano.Types (NetworkId(TestnetId))
1312
import Cardano.Types.Address (Address, getPaymentCredential, getStakeCredential)
1413
import Cardano.Types.Address (toBech32) as Address
1514
import Cardano.Types.BigInt (BigInt)
@@ -65,6 +64,7 @@ import Ctl.Internal.Testnet.DistributeFunds (Tx(Tx)) as DistrFunds
6564
import Ctl.Internal.Testnet.Server
6665
( StartedTestnetCluster
6766
, makeClusterContractEnv
67+
, mkLogging
6868
, startTestnetCluster
6969
)
7070
import Ctl.Internal.Testnet.Types (TestnetConfig)
@@ -242,13 +242,13 @@ startTestnetContractEnv
242242
}
243243
startTestnetContractEnv cfg distr cleanupRef = do
244244
_ <- cleanupOnExit cleanupRef
245-
cluster <- startTestnetCluster cfg cleanupRef
246-
{ env, printLogs, clearLogs } <- makeClusterContractEnv cleanupRef cfg
247-
let env' = env { networkId = TestnetId }
248-
wallets <- mkWallets env' cluster
245+
logging@{ logger } <- liftEffect $ mkLogging cfg
246+
cluster <- startTestnetCluster cfg cleanupRef logger
247+
{ env, printLogs, clearLogs } <- makeClusterContractEnv cleanupRef logging
248+
wallets <- mkWallets env cluster
249249
pure
250250
{ cluster
251-
, env: env'
251+
, env
252252
, wallets
253253
, printLogs
254254
, clearLogs

0 commit comments

Comments
 (0)