|
4 | 4 | "fmt" |
5 | 5 | "math/big" |
6 | 6 | "strconv" |
| 7 | + "time" |
7 | 8 |
|
8 | 9 | "github.com/cosmos/cosmos-sdk/client" |
9 | 10 | "github.com/cosmos/cosmos-sdk/client/flags" |
@@ -146,14 +147,25 @@ func NewProducerDowntimeCmd() *cobra.Command { |
146 | 147 | return fmt.Errorf("producer address is invalid: %w", err) |
147 | 148 | } |
148 | 149 |
|
149 | | - startTimeUTC := viper.GetInt(FlagStartTimestampUTC) |
150 | | - if startTimeUTC <= 0 { |
151 | | - return fmt.Errorf("start timestamp utc is invalid") |
| 150 | + if (viper.IsSet(FlagStartTimestampUTC) && !viper.IsSet(FlagEndTimestampUTC)) || |
| 151 | + (!viper.IsSet(FlagStartTimestampUTC) && viper.IsSet(FlagEndTimestampUTC)) { |
| 152 | + return fmt.Errorf("both start-timestamp-utc and end-timestamp-utc must be set") |
152 | 153 | } |
153 | 154 |
|
154 | | - endTimeUTC := viper.GetInt(FlagEndTimestampUTC) |
155 | | - if endTimeUTC <= 0 { |
156 | | - return fmt.Errorf("end timestamp utc is invalid") |
| 155 | + var startTimeUTC, endTimeUTC int |
| 156 | + if viper.IsSet(FlagStartTimestampUTC) && viper.IsSet(FlagEndTimestampUTC) { |
| 157 | + startTimeUTC = viper.GetInt(FlagStartTimestampUTC) |
| 158 | + if startTimeUTC <= 0 { |
| 159 | + return fmt.Errorf("start timestamp utc is invalid") |
| 160 | + } |
| 161 | + |
| 162 | + endTimeUTC = viper.GetInt(FlagEndTimestampUTC) |
| 163 | + if endTimeUTC <= 0 { |
| 164 | + return fmt.Errorf("end timestamp utc is invalid") |
| 165 | + } |
| 166 | + } else { |
| 167 | + startTimeUTC = int(time.Now().UTC().Unix()) + 360 // default to 6 minutes from now |
| 168 | + endTimeUTC = startTimeUTC + 360 // default to 6 minutes duration |
157 | 169 | } |
158 | 170 |
|
159 | 171 | if endTimeUTC <= startTimeUTC { |
@@ -210,14 +222,6 @@ func NewProducerDowntimeCmd() *cobra.Command { |
210 | 222 | fmt.Printf("NewProducerDowntimeCmd | MarkFlagRequired | FlagProducerAddress Error: %v", err) |
211 | 223 | } |
212 | 224 |
|
213 | | - if err := cmd.MarkFlagRequired(FlagStartTimestampUTC); err != nil { |
214 | | - fmt.Printf("NewProducerDowntimeCmd | MarkFlagRequired | FlagStartTimestampUTC Error: %v", err) |
215 | | - } |
216 | | - |
217 | | - if err := cmd.MarkFlagRequired(FlagEndTimestampUTC); err != nil { |
218 | | - fmt.Printf("NewProducerDowntimeCmd | MarkFlagRequired | FlagEndTimestampUTC Error: %v", err) |
219 | | - } |
220 | | - |
221 | 225 | return cmd |
222 | 226 | } |
223 | 227 |
|
|
0 commit comments