Skip to content

Commit

Permalink
Added support for mainnet.
Browse files Browse the repository at this point in the history
  • Loading branch information
bwbush committed Feb 6, 2023
1 parent bb4980d commit 43a14a1
Show file tree
Hide file tree
Showing 9 changed files with 43 additions and 50 deletions.
2 changes: 1 addition & 1 deletion marlowe-cli/src/Language/Marlowe/CLI/Command.hs
Expand Up @@ -159,5 +159,5 @@ versionOption :: String -- ^ The tool version.
-> O.Parser (a -> a) -- ^ The option parseCommand.
versionOption version =
O.infoOption
("marlowe-cli " <> version)
("marlowe-cli " <> version <> " «mainnet»")
(O.long "version" <> O.help "Show version.")
6 changes: 3 additions & 3 deletions marlowe-cli/src/Language/Marlowe/CLI/Command/Contract.hs
Expand Up @@ -170,7 +170,7 @@ exportMarloweOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser ContractCommand
exportMarloweOptions network =
Export
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")
<$> parseNetworkId network
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )
<*> (O.optional . O.option parseCurrencySymbol) (O.long "roles-currency" <> O.metavar "CURRENCY_SYMBOL" <> O.help "The currency symbol for roles, if any." )
<*> protocolVersionOpt
Expand All @@ -195,7 +195,7 @@ exportAddressOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser ContractCommand
exportAddressOptions network =
ExportAddress
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")
<$> parseNetworkId network
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )


Expand All @@ -213,7 +213,7 @@ exportValidatorOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser ContractCommand
exportValidatorOptions network =
ExportValidator
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")
<$> parseNetworkId network
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )
<*> protocolVersionOpt
<*> (O.optional . O.strOption) (O.long "out-file" <> O.metavar "OUTPUT_FILE" <> O.help "JSON output file for validator." )
Expand Down
8 changes: 6 additions & 2 deletions marlowe-cli/src/Language/Marlowe/CLI/Command/Parse.hs
Expand Up @@ -111,8 +111,12 @@ import Plutus.V1.Ledger.ProtocolVersions (alonzoPV, vasilPV)


-- | Parser for network ID.
parseNetworkId :: O.ReadM NetworkId
parseNetworkId = Testnet . NetworkMagic . toEnum <$> O.auto
parseNetworkId :: O.Mod O.OptionFields NetworkId -> O.Parser NetworkId
parseNetworkId network =
parseMainnet <|> parseTestnet
where
parseMainnet = O.flag' Mainnet (O.long "mainnet" <> O.help "Execute on mainnet.")
parseTestnet = O.option (Testnet . NetworkMagic . toEnum <$> O.auto) (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")


-- | Parser for stake address reference.
Expand Down
4 changes: 2 additions & 2 deletions marlowe-cli/src/Language/Marlowe/CLI/Command/Role.hs
Expand Up @@ -124,7 +124,7 @@ exportAddressOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser RoleCommand
exportAddressOptions network =
ExportAddress
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")
<$> parseNetworkId network
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )


Expand All @@ -142,7 +142,7 @@ exportValidatorOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser RoleCommand
exportValidatorOptions network =
ExportValidator
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value.")
<$> parseNetworkId network
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )
<*> protocolVersionOpt
<*> (O.optional . O.strOption) (O.long "out-file" <> O.metavar "OUTPUT_FILE" <> O.help "JSON output file for validator." )
Expand Down
28 changes: 11 additions & 17 deletions marlowe-cli/src/Language/Marlowe/CLI/Command/Run.hs
Expand Up @@ -34,8 +34,7 @@ import Cardano.Api
, StakeAddressReference(..)
, TxIn
)
import Control.Monad (when)
import Control.Monad.Except (MonadError, MonadIO, liftIO, throwError)
import Control.Monad.Except (MonadError, MonadIO, liftIO)
import Data.Foldable (asum)
import Data.Maybe (fromMaybe)
import Language.Marlowe.CLI.Analyze (analyze)
Expand Down Expand Up @@ -199,7 +198,6 @@ runRunCommand command =
marloweParams' = maybe defaultMarloweParams marloweParams $ rolesCurrency command
stake' = fromMaybe NoStakeAddress $ stake command
printTxId = liftIO . putStrLn . ("TxId " <>) . show
guardMainnet = when (network' == Mainnet) $ throwError "Mainnet usage is not supported."
padTxOut (address, value) = (address, Nothing, value)
outputs' = padTxOut <$> outputs command
case command of
Expand Down Expand Up @@ -227,8 +225,7 @@ runRunCommand command =
maximumTime
outputFile
printStats
Run{..} -> guardMainnet
>> runTransaction
Run{..} -> runTransaction
connection
marloweIn
marloweOut
Expand All @@ -242,8 +239,7 @@ runRunCommand command =
printStats
invalid
>>= printTxId
Withdraw{..} -> guardMainnet
>> withdrawFunds
Withdraw{..} -> withdrawFunds
connection
marloweOut
roleName
Expand All @@ -258,8 +254,7 @@ runRunCommand command =
printStats
invalid
>>= printTxId
AutoRun{..} -> guardMainnet
>> autoRunTransaction
AutoRun{..} -> autoRunTransaction
connection
marloweIn'
marloweOut
Expand All @@ -271,8 +266,7 @@ runRunCommand command =
printStats
invalid
>>= printTxId
AutoWithdraw{..} -> guardMainnet
>> autoWithdrawFunds
AutoWithdraw{..} -> autoWithdrawFunds
connection
marloweOut
roleName
Expand Down Expand Up @@ -330,7 +324,7 @@ initializeOptions :: IsShelleyBasedEra era
-> O.Parser (RunCommand era)
initializeOptions network socket =
Initialize
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> (O.optional . O.option parseStakeAddressReference) (O.long "stake-address" <> O.metavar "ADDRESS" <> O.help "Stake address, if any." )
<*> (O.optional . O.option parseCurrencySymbol) (O.long "roles-currency" <> O.metavar "CURRENCY_SYMBOL" <> O.help "The currency symbol for roles, if any." )
Expand Down Expand Up @@ -379,7 +373,7 @@ runOptions :: IsShelleyBasedEra era
-> O.Parser (RunCommand era)
runOptions network socket =
Run
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.optional parseMarloweIn
<*> O.strOption (O.long "marlowe-out-file"<> O.metavar "MARLOWE_FILE" <> O.help "JSON file with the Marlowe inputs, final state, and final contract." )
Expand Down Expand Up @@ -418,7 +412,7 @@ withdrawOptions :: IsShelleyBasedEra era => O.Mod O.OptionFields NetworkId
-> O.Parser (RunCommand era)
withdrawOptions network socket =
Withdraw
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.strOption (O.long "marlowe-file" <> O.metavar "MARLOWE_FILE" <> O.help "JSON file with the Marlowe inputs, final state, and final contract." )
<*> O.option parseTokenName (O.long "role-name" <> O.metavar "TOKEN_NAME" <> O.help "The role name for the withdrawal." )
Expand Down Expand Up @@ -453,7 +447,7 @@ autoRunOptions :: IsShelleyBasedEra era
-> O.Parser (RunCommand era)
autoRunOptions network socket =
AutoRun
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.optional parseMarloweIn
<*> O.strOption (O.long "marlowe-out-file"<> O.metavar "MARLOWE_FILE" <> O.help "JSON file with the Marlowe inputs, final state, and final contract." )
Expand Down Expand Up @@ -488,7 +482,7 @@ autoWithdrawOptions :: IsShelleyBasedEra era => O.Mod O.OptionFields NetworkId
-> O.Parser (RunCommand era)
autoWithdrawOptions network socket =
AutoWithdraw
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.strOption (O.long "marlowe-file" <> O.metavar "MARLOWE_FILE" <> O.help "JSON file with the Marlowe inputs, final state, and final contract." )
<*> O.option parseTokenName (O.long "role-name" <> O.metavar "TOKEN_NAME" <> O.help "The role name for the withdrawal." )
Expand Down Expand Up @@ -517,7 +511,7 @@ analyzeOptions :: O.Mod O.OptionFields NetworkId
-> O.Parser (RunCommand era)
analyzeOptions network socket =
Analyze
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.strOption (O.long "marlowe-file" <> O.metavar "MARLOWE_FILE" <> O.help "JSON file with the state and contract." )
<*> O.switch (O.long "preconditions" <> O.help "Whether to check preconditions for valid Marlowe state." )
Expand Down
2 changes: 1 addition & 1 deletion marlowe-cli/src/Language/Marlowe/CLI/Command/Test.hs
Expand Up @@ -82,7 +82,7 @@ scriptsOptions :: IsShelleyBasedEra era
-> O.Parser (TestCommand era)
scriptsOptions network socket =
ScriptTests
<$> O.option parseNetworkId (O.long "testnet-magic" <> O.metavar "INTEGER" <> network <> O.help "Network magic. Defaults to the CARDANO_TESTNET_MAGIC environment variable's value." )
<$> parseNetworkId network
<*> O.strOption (O.long "socket-path" <> O.metavar "SOCKET_FILE" <> socket <> O.help "Location of the cardano-node socket file. Defaults to the CARDANO_NODE_SOCKET_PATH environment variable's value.")
<*> O.strOption (O.long "faucet-key" <> O.metavar "SIGNING_FILE" <> O.help "The file containing the signing key for the faucet." )
<*> O.option parseAddress (O.long "faucet-address" <> O.metavar "ADDRESS" <> O.help "The address of the faucet." )
Expand Down

0 comments on commit 43a14a1

Please sign in to comment.