@@ -10,35 +10,41 @@ import Data.Aeson qualified as JSON
1010import Data.Text (Text )
1111import Data.Text qualified as Text
1212import Data.UUID.V4 qualified as UUID
13- import Ledger (PubKeyHash )
14- import TimeDebugContract qualified
15-
1613import GHC.IO.Encoding
14+ import Ledger (PubKeyHash )
1715import Plutus.PAB.Core.ContractInstance.STM (Activity (Active ))
1816import Servant.Client (BaseUrl (BaseUrl ), Scheme (Http ))
1917import System.Directory (listDirectory )
20- import System.Environment (getEnv , setEnv )
18+ import System.Environment (getArgs , getEnv , setEnv )
2119import System.FilePath ((</>) )
20+ import TimeDebugContract qualified
2221import Wallet.Types (ContractInstanceId (ContractInstanceId ))
2322import Prelude
2423
2524testnetRun :: IO ()
2625testnetRun = do
2726 setLocaleEncoding utf8
28- -- [sockPath, clusterDir, cliDir] <- getArgs
29- let sockPath = " /home/mike/dev/mlabs/testnet-bpi-setup/socket/node.socket"
30- cliDir = " /home/mike/dev/iog/binaries"
31- bpiDir = " /home/mike/dev/mlabs/testnet-bpi-setup/data"
27+ [bpiDir, cliDir, sockPath, operation] <- getArgs -- /home/mike/dev/mlabs/net-setups/testnet-bpi-setup/data
3228 setEnv " CARDANO_NODE_SOCKET_PATH" sockPath
3329 getEnv " PATH" >>= \ p -> setEnv " PATH" (p ++ " :" ++ cliDir)
3430
3531 cEnv <- mkContractEnv bpiDir
3632
3733 putStrLn " Running contract"
38- -- res <- BPI.runContract cEnv TimeDebugContract.timeDebugLight
39- -- res <- BPI.runContract cEnv TimeDebugContract.splitUtxo
40- -- res <- BPI.runContract cEnv TimeDebugContract.lockAtScript
41- res <- BPI. runContract cEnv TimeDebugContract. unlockWithTimeCheck
34+ res <- case operation of
35+ " light" -> do
36+ putStrLn " Running loght debug"
37+ BPI. runContract cEnv TimeDebugContract. timeDebugLight
38+ " split" -> do
39+ putStrLn " Splitting whatever first utxo"
40+ fmap show <$> BPI. runContract cEnv TimeDebugContract. splitUtxo
41+ " lock" -> do
42+ putStrLn " Locking"
43+ BPI. runContract cEnv TimeDebugContract. lockAtScript
44+ " unlock" -> do
45+ putStrLn " Spending"
46+ BPI. runContract cEnv TimeDebugContract. unlockWithTimeCheck
47+ other -> error $ " Unsupported operation: " ++ other
4248
4349 putStrLn $ case res of
4450 Right r -> " === OK ===\n " ++ show r
@@ -57,32 +63,32 @@ mkContractEnv bpiDir = do
5763 pkhs <- getPkhs bpiDir
5864 return $
5965 ContractEnvironment
60- { cePABConfig = mkPabConf pparams (Text. pack paramsFile) bpiDir (head pkhs)
61- , ceContractState = contractState
62- , ceContractInstanceId = contractInstanceID
63- , ceContractStats = contractStats
66+ { cePABConfig = mkPabConf pparams (Text. pack paramsFile) bpiDir (head pkhs),
67+ ceContractState = contractState,
68+ ceContractInstanceId = contractInstanceID,
69+ ceContractStats = contractStats
6470 }
6571
6672mkPabConf :: ProtocolParameters -> Text -> FilePath -> PubKeyHash -> PABConfig
6773mkPabConf pparams pparamsFile bpiDir ownPkh =
6874 PABConfig
69- { pcCliLocation = Local
70- , pcNetwork = Testnet (NetworkMagic 1097911063 )
71- , pcChainIndexUrl = BaseUrl Http " localhost" 9083 " "
72- , pcPort = 9080
73- , pcProtocolParams = pparams
74- , pcTipPollingInterval = 1_000_000
75- , pcOwnPubKeyHash = ownPkh
76- , pcOwnStakePubKeyHash = Nothing
77- , pcScriptFileDir = Text. pack $ bpiDir </> " scripts"
78- , pcSigningKeyFileDir = Text. pack $ bpiDir </> " signing-keys"
79- , pcTxFileDir = Text. pack $ bpiDir </> " txs"
80- , pcDryRun = False
81- , pcLogLevel = Error
82- , pcProtocolParamsFile = pparamsFile
83- , pcEnableTxEndpoint = True
84- , pcCollectStats = True
85- , pcMetadataDir = Text. pack $ bpiDir </> " metadata"
75+ { pcCliLocation = Local ,
76+ pcNetwork = Testnet (NetworkMagic 1097911063 ),
77+ pcChainIndexUrl = BaseUrl Http " localhost" 9083 " " ,
78+ pcPort = 9080 ,
79+ pcProtocolParams = pparams,
80+ pcTipPollingInterval = 1_000_000 ,
81+ pcOwnPubKeyHash = ownPkh,
82+ pcOwnStakePubKeyHash = Nothing ,
83+ pcScriptFileDir = Text. pack $ bpiDir </> " scripts" ,
84+ pcSigningKeyFileDir = Text. pack $ bpiDir </> " signing-keys" ,
85+ pcTxFileDir = Text. pack $ bpiDir </> " txs" ,
86+ pcDryRun = False ,
87+ pcLogLevel = Error ,
88+ pcProtocolParamsFile = pparamsFile,
89+ pcEnableTxEndpoint = True ,
90+ pcCollectStats = True ,
91+ pcMetadataDir = Text. pack $ bpiDir </> " metadata"
8692 }
8793
8894getPkhs :: FilePath -> IO [PubKeyHash ]
0 commit comments