Skip to content

Commit 6cda101

Browse files
committed
chore: use PreRunE in cmd definitions
1 parent d8f548b commit 6cda101

File tree

1 file changed

+50
-21
lines changed

1 file changed

+50
-21
lines changed

cmd/ulxly/ulxly.go

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,18 +1174,48 @@ var ULxLyCmd = &cobra.Command{
11741174
var ulxlyBridgeAndClaimCmd = &cobra.Command{
11751175
Args: cobra.NoArgs,
11761176
Hidden: true,
1177+
PreRunE: func(cmd *cobra.Command, args []string) error {
1178+
if err := cmd.MarkPersistentFlagRequired(ArgPrivateKey); err != nil {
1179+
return err
1180+
}
1181+
if err := cmd.MarkPersistentFlagRequired(ArgRPCURL); err != nil {
1182+
return err
1183+
}
1184+
if err := cmd.MarkPersistentFlagRequired(ArgBridgeAddress); err != nil {
1185+
return err
1186+
}
1187+
return nil
1188+
},
11771189
}
11781190

11791191
var ulxlyBridgeCmd = &cobra.Command{
11801192
Use: "bridge",
11811193
Short: "Commands for moving funds and sending messages from one chain to another",
11821194
Args: cobra.NoArgs,
1195+
PreRunE: func(cmd *cobra.Command, args []string) error {
1196+
if err := cmd.MarkPersistentFlagRequired(ArgDestNetwork); err != nil {
1197+
return err
1198+
}
1199+
return nil
1200+
},
11831201
}
11841202

11851203
var ulxlyClaimCmd = &cobra.Command{
11861204
Use: "claim",
11871205
Short: "Commands for claiming deposits on a particular chain",
11881206
Args: cobra.NoArgs,
1207+
PreRunE: func(cmd *cobra.Command, args []string) error {
1208+
if err := cmd.MarkPersistentFlagRequired(ArgDepositCount); err != nil {
1209+
return err
1210+
}
1211+
if err := cmd.MarkPersistentFlagRequired(ArgDepositNetwork); err != nil {
1212+
return err
1213+
}
1214+
if err := cmd.MarkPersistentFlagRequired(ArgBridgeServiceURL); err != nil {
1215+
return err
1216+
}
1217+
return nil
1218+
},
11891219
}
11901220

11911221
var bridgeAssetCmd = &cobra.Command{
@@ -1238,9 +1268,14 @@ var claimMessageCmd = &cobra.Command{
12381268
},
12391269
}
12401270
var claimEverythingCmd = &cobra.Command{
1241-
Use: "claim-everything",
1242-
Short: "Attempt to claim as many deposits and messages as possible",
1243-
PreRunE: prepInputs,
1271+
Use: "claim-everything",
1272+
Short: "Attempt to claim as many deposits and messages as possible",
1273+
PreRunE: func(cmd *cobra.Command, args []string) error {
1274+
if err := cmd.MarkFlagRequired(ArgBridgeMappings); err != nil {
1275+
return err
1276+
}
1277+
return prepInputs(cmd, args)
1278+
},
12441279
RunE: func(cmd *cobra.Command, args []string) error {
12451280
return claimEverything(cmd)
12461281
},
@@ -1282,6 +1317,18 @@ var getDepositCmd = &cobra.Command{
12821317
Use: "get-deposits",
12831318
Short: "Generate ndjson for each bridge deposit over a particular range of blocks",
12841319
Long: depositGetUsage,
1320+
PreRunE: func(cmd *cobra.Command, args []string) error {
1321+
if err := cmd.MarkFlagRequired(ArgFromBlock); err != nil {
1322+
return err
1323+
}
1324+
if err := cmd.MarkFlagRequired(ArgToBlock); err != nil {
1325+
return err
1326+
}
1327+
if err := cmd.MarkFlagRequired(ArgRPCURL); err != nil {
1328+
return err
1329+
}
1330+
return nil
1331+
},
12851332
RunE: func(cmd *cobra.Command, args []string) error {
12861333
return readDeposit(cmd)
12871334
},
@@ -1387,13 +1434,6 @@ func prepInputs(cmd *cobra.Command, args []string) error {
13871434
return nil
13881435
}
13891436

1390-
func fatalIfError(err error) {
1391-
if err == nil {
1392-
return
1393-
}
1394-
log.Fatal().Err(err).Msg("Unexpected error occurred")
1395-
}
1396-
13971437
func init() {
13981438
// Arguments for both bridge and claim
13991439
inputUlxlyArgs.rpcURL = ulxlyBridgeAndClaimCmd.PersistentFlags().String(ArgRPCURL, "", "the URL of the RPC to send the transaction")
@@ -1405,9 +1445,6 @@ func init() {
14051445
inputUlxlyArgs.timeout = ulxlyBridgeAndClaimCmd.PersistentFlags().Uint64(ArgTimeout, 60, "the amount of time to wait while trying to confirm a transaction receipt")
14061446
inputUlxlyArgs.gasPrice = ulxlyBridgeAndClaimCmd.PersistentFlags().String(ArgGasPrice, "", "the gas price to be used")
14071447
inputUlxlyArgs.dryRun = ulxlyBridgeAndClaimCmd.PersistentFlags().Bool(ArgDryRun, false, "do all of the transaction steps but do not send the transaction")
1408-
fatalIfError(ulxlyBridgeAndClaimCmd.MarkPersistentFlagRequired(ArgPrivateKey))
1409-
fatalIfError(ulxlyBridgeAndClaimCmd.MarkPersistentFlagRequired(ArgRPCURL))
1410-
fatalIfError(ulxlyBridgeAndClaimCmd.MarkPersistentFlagRequired(ArgBridgeAddress))
14111448

14121449
// bridge specific args
14131450
inputUlxlyArgs.forceUpdate = ulxlyBridgeCmd.PersistentFlags().Bool(ArgForceUpdate, true, "indicates if the new global exit root is updated or not")
@@ -1416,32 +1453,24 @@ func init() {
14161453
inputUlxlyArgs.tokenAddress = ulxlyBridgeCmd.PersistentFlags().String(ArgTokenAddress, "0x0000000000000000000000000000000000000000", "the address of an ERC20 token to be used")
14171454
inputUlxlyArgs.callData = ulxlyBridgeCmd.PersistentFlags().String(ArgCallData, "0x", "call data to be passed directly with bridge-message or as an ERC20 Permit")
14181455
inputUlxlyArgs.callDataFile = ulxlyBridgeCmd.PersistentFlags().String(ArgCallDataFile, "", "a file containing hex encoded call data")
1419-
fatalIfError(ulxlyBridgeCmd.MarkPersistentFlagRequired(ArgDestNetwork))
14201456

14211457
// Claim specific args
14221458
inputUlxlyArgs.depositCount = ulxlyClaimCmd.PersistentFlags().Uint64(ArgDepositCount, 0, "the deposit count of the bridge transaction")
14231459
inputUlxlyArgs.depositNetwork = ulxlyClaimCmd.PersistentFlags().Uint64(ArgDepositNetwork, 0, "the rollup id of the network where the deposit was initially made")
14241460
inputUlxlyArgs.bridgeServiceURL = ulxlyClaimCmd.PersistentFlags().String(ArgBridgeServiceURL, "", "the URL of the bridge service")
14251461
inputUlxlyArgs.globalIndex = ulxlyClaimCmd.PersistentFlags().String(ArgGlobalIndex, "", "an override of the global index value")
1426-
fatalIfError(ulxlyClaimCmd.MarkPersistentFlagRequired(ArgDepositCount))
1427-
fatalIfError(ulxlyClaimCmd.MarkPersistentFlagRequired(ArgDepositNetwork))
1428-
fatalIfError(ulxlyClaimCmd.MarkPersistentFlagRequired(ArgBridgeServiceURL))
14291462

14301463
// Claim Everything Helper Command
14311464
inputUlxlyArgs.bridgeServiceURLs = claimEverythingCmd.Flags().StringSlice(ArgBridgeMappings, nil, "Mappings between network ids and bridge service urls. E.g. '1=http://network-1-bridgeurl,7=http://network-2-bridgeurl'")
14321465
inputUlxlyArgs.bridgeLimit = claimEverythingCmd.Flags().Int(ArgBridgeLimit, 25, "Limit the number or responses returned by the bridge service when claiming")
14331466
inputUlxlyArgs.bridgeOffset = claimEverythingCmd.Flags().Int(ArgBridgeOffset, 0, "The offset to specify for pagination of the underlying bridge service deposits")
1434-
fatalIfError(claimEverythingCmd.MarkFlagRequired(ArgBridgeMappings))
14351467

14361468
// Args that are just for the get deposit command
14371469
inputUlxlyArgs.fromBlock = getDepositCmd.Flags().Uint64(ArgFromBlock, 0, "The start of the range of blocks to retrieve")
14381470
inputUlxlyArgs.toBlock = getDepositCmd.Flags().Uint64(ArgToBlock, 0, "The end of the range of blocks to retrieve")
14391471
inputUlxlyArgs.filterSize = getDepositCmd.Flags().Uint64(ArgFilterSize, 1000, "The batch size for individual filter queries")
14401472
getDepositCmd.Flags().String(ArgRPCURL, "", "The RPC URL to read deposit data")
14411473
getDepositCmd.Flags().String(ArgBridgeAddress, "", "The address of the ulxly bridge")
1442-
fatalIfError(getDepositCmd.MarkFlagRequired(ArgFromBlock))
1443-
fatalIfError(getDepositCmd.MarkFlagRequired(ArgToBlock))
1444-
fatalIfError(getDepositCmd.MarkFlagRequired(ArgRPCURL))
14451474

14461475
// Args for the proof command
14471476
inputUlxlyArgs.inputFileName = proofCmd.Flags().String(ArgFileName, "", "An ndjson file with deposit data")

0 commit comments

Comments
 (0)