github.com/klaytn/klaytn@v1.12.1/cmd/utils/nodeflags.go (about) 1 // Modifications Copyright 2019 The klaytn Authors 2 // Copyright 2016 The go-ethereum Authors 3 // This file is part of go-ethereum. 4 // 5 // go-ethereum is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // go-ethereum is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with go-ethereum. If not, see <http://www.gnu.org/licenses/>. 17 // 18 // This file is derived from cmd/geth/main.go (2018/06/04). 19 // Modified and improved for the klaytn development. 20 21 package utils 22 23 import ( 24 "github.com/klaytn/klaytn/api/debug" 25 "github.com/urfave/cli/v2" 26 "github.com/urfave/cli/v2/altsrc" 27 ) 28 29 // TODO-Klaytn: Check whether all flags are registered in utils.FlagGroups 30 31 func AllNodeFlags() []cli.Flag { 32 nodeFlags := []cli.Flag{} 33 nodeFlags = append(nodeFlags, CommonNodeFlags...) 34 nodeFlags = append(nodeFlags, CommonRPCFlags...) 35 nodeFlags = append(nodeFlags, ConsoleFlags...) 36 nodeFlags = append(nodeFlags, debug.Flags...) 37 nodeFlags = append(nodeFlags, ChainDataFetcherFlags...) 38 nodeFlags = union(nodeFlags, SnapshotFlags) 39 nodeFlags = union(nodeFlags, DBMigrationSrcFlags) 40 nodeFlags = union(nodeFlags, DBMigrationDstFlags) 41 nodeFlags = union(nodeFlags, BNFlags) 42 nodeFlags = union(nodeFlags, KCNFlags) 43 nodeFlags = union(nodeFlags, KPNFlags) 44 nodeFlags = union(nodeFlags, KENFlags) 45 nodeFlags = union(nodeFlags, KSCNFlags) 46 nodeFlags = union(nodeFlags, KSPNFlags) 47 nodeFlags = union(nodeFlags, KSENFlags) 48 return nodeFlags 49 } 50 51 func contains(list []cli.Flag, item cli.Flag) bool { 52 for _, flag := range list { 53 if flag.Names()[0] == item.Names()[0] { 54 return true 55 } 56 } 57 return false 58 } 59 60 func union(list1, list2 []cli.Flag) []cli.Flag { 61 for _, item := range list2 { 62 if !contains(list1, item) { 63 list1 = append(list1, item) 64 } 65 } 66 return list1 67 } 68 69 // All flags used for each node type 70 func KcnNodeFlags() []cli.Flag { 71 return append(CommonNodeFlags, KCNFlags...) 72 } 73 74 func KpnNodeFlags() []cli.Flag { 75 return append(CommonNodeFlags, KPNFlags...) 76 } 77 78 func KenNodeFlags() []cli.Flag { 79 return append(CommonNodeFlags, KENFlags...) 80 } 81 82 func KscnNodeFlags() []cli.Flag { 83 return append(CommonNodeFlags, KSCNFlags...) 84 } 85 86 func KspnNodeFlags() []cli.Flag { 87 return append(CommonNodeFlags, KSPNFlags...) 88 } 89 90 func KsenNodeFlags() []cli.Flag { 91 return append(CommonNodeFlags, KSENFlags...) 92 } 93 94 func BNAppFlags() []cli.Flag { 95 flags := append([]cli.Flag{}, BNFlags...) 96 flags = append(flags, debug.Flags...) 97 flags = append(flags, CommonRPCFlags...) 98 return flags 99 } 100 101 func KcnAppFlags() []cli.Flag { 102 flags := append([]cli.Flag{}, KcnNodeFlags()...) 103 flags = append(flags, CommonRPCFlags...) 104 flags = append(flags, ConsoleFlags...) 105 flags = append(flags, debug.Flags...) 106 flags = append(flags, DBMigrationDstFlags...) 107 return flags 108 } 109 110 func KpnAppFlags() []cli.Flag { 111 flags := append([]cli.Flag{}, KpnNodeFlags()...) 112 flags = append(flags, CommonRPCFlags...) 113 flags = append(flags, ConsoleFlags...) 114 flags = append(flags, debug.Flags...) 115 flags = append(flags, DBMigrationDstFlags...) 116 flags = append(flags, ChainDataFetcherFlags...) 117 return flags 118 } 119 120 func KenAppFlags() []cli.Flag { 121 flags := append([]cli.Flag{}, KenNodeFlags()...) 122 flags = append(flags, CommonRPCFlags...) 123 flags = append(flags, ConsoleFlags...) 124 flags = append(flags, debug.Flags...) 125 flags = append(flags, DBMigrationDstFlags...) 126 flags = append(flags, ChainDataFetcherFlags...) 127 return flags 128 } 129 130 func KscnAppFlags() []cli.Flag { 131 flags := append([]cli.Flag{}, KscnNodeFlags()...) 132 flags = append(flags, CommonRPCFlags...) 133 flags = append(flags, ConsoleFlags...) 134 flags = append(flags, debug.Flags...) 135 return flags 136 } 137 138 func KspnAppFlags() []cli.Flag { 139 flags := append([]cli.Flag{}, KspnNodeFlags()...) 140 flags = append(flags, CommonRPCFlags...) 141 flags = append(flags, ConsoleFlags...) 142 flags = append(flags, debug.Flags...) 143 flags = append(flags, ChainDataFetcherFlags...) 144 return flags 145 } 146 147 func KsenAppFlags() []cli.Flag { 148 flags := append([]cli.Flag{}, KsenNodeFlags()...) 149 flags = append(flags, CommonRPCFlags...) 150 flags = append(flags, ConsoleFlags...) 151 flags = append(flags, debug.Flags...) 152 flags = append(flags, ChainDataFetcherFlags...) 153 return flags 154 } 155 156 var ConsoleFlags = []cli.Flag{ 157 altsrc.NewStringFlag(JSpathFlag), 158 altsrc.NewStringFlag(ExecFlag), 159 altsrc.NewStringFlag(PreloadJSFlag), 160 } 161 162 // Common flags that configure the node 163 var CommonNodeFlags = []cli.Flag{ 164 ConfFlag, 165 altsrc.NewBoolFlag(NtpDisableFlag), 166 altsrc.NewStringFlag(NtpServerFlag), 167 altsrc.NewPathFlag(DocRootFlag), 168 altsrc.NewStringFlag(BootnodesFlag), 169 altsrc.NewStringFlag(IdentityFlag), 170 altsrc.NewStringFlag(UnlockedAccountFlag), 171 altsrc.NewStringFlag(PasswordFileFlag), 172 altsrc.NewStringFlag(DbTypeFlag), 173 altsrc.NewPathFlag(DataDirFlag), 174 altsrc.NewPathFlag(ChainDataDirFlag), 175 altsrc.NewBoolFlag(OverwriteGenesisFlag), 176 altsrc.NewUint64Flag(StartBlockNumberFlag), 177 altsrc.NewPathFlag(KeyStoreDirFlag), 178 altsrc.NewBoolFlag(TxPoolNoLocalsFlag), 179 altsrc.NewBoolFlag(TxPoolAllowLocalAnchorTxFlag), 180 altsrc.NewBoolFlag(TxPoolDenyRemoteTxFlag), 181 altsrc.NewStringFlag(TxPoolJournalFlag), 182 altsrc.NewDurationFlag(TxPoolJournalIntervalFlag), 183 altsrc.NewUint64Flag(TxPoolPriceLimitFlag), 184 altsrc.NewUint64Flag(TxPoolPriceBumpFlag), 185 altsrc.NewUint64Flag(TxPoolExecSlotsAccountFlag), 186 altsrc.NewUint64Flag(TxPoolExecSlotsAllFlag), 187 altsrc.NewUint64Flag(TxPoolNonExecSlotsAccountFlag), 188 altsrc.NewUint64Flag(TxPoolNonExecSlotsAllFlag), 189 altsrc.NewDurationFlag(TxPoolLifetimeFlag), 190 altsrc.NewBoolFlag(TxPoolKeepLocalsFlag), 191 NewWrappedTextMarshalerFlag(SyncModeFlag), 192 altsrc.NewStringFlag(GCModeFlag), 193 altsrc.NewBoolFlag(LightKDFFlag), 194 altsrc.NewBoolFlag(SingleDBFlag), 195 altsrc.NewUintFlag(NumStateTrieShardsFlag), 196 altsrc.NewIntFlag(LevelDBCompressionTypeFlag), 197 altsrc.NewBoolFlag(LevelDBNoBufferPoolFlag), 198 altsrc.NewBoolFlag(DBNoPerformanceMetricsFlag), 199 altsrc.NewBoolFlag(RocksDBSecondaryFlag), 200 altsrc.NewUint64Flag(RocksDBCacheSizeFlag), 201 altsrc.NewBoolFlag(RocksDBDumpMallocStatFlag), 202 altsrc.NewStringFlag(RocksDBCompressionTypeFlag), 203 altsrc.NewStringFlag(RocksDBBottommostCompressionTypeFlag), 204 altsrc.NewStringFlag(RocksDBFilterPolicyFlag), 205 altsrc.NewBoolFlag(RocksDBDisableMetricsFlag), 206 altsrc.NewIntFlag(RocksDBMaxOpenFilesFlag), 207 altsrc.NewBoolFlag(RocksDBCacheIndexAndFilterFlag), 208 altsrc.NewStringFlag(DynamoDBTableNameFlag), 209 altsrc.NewStringFlag(DynamoDBRegionFlag), 210 altsrc.NewBoolFlag(DynamoDBIsProvisionedFlag), 211 altsrc.NewInt64Flag(DynamoDBReadCapacityFlag), 212 altsrc.NewInt64Flag(DynamoDBWriteCapacityFlag), 213 altsrc.NewBoolFlag(DynamoDBReadOnlyFlag), 214 altsrc.NewIntFlag(LevelDBCacheSizeFlag), 215 altsrc.NewBoolFlag(NoParallelDBWriteFlag), 216 altsrc.NewBoolFlag(SenderTxHashIndexingFlag), 217 altsrc.NewIntFlag(TrieMemoryCacheSizeFlag), 218 altsrc.NewUintFlag(TrieBlockIntervalFlag), 219 altsrc.NewUint64Flag(TriesInMemoryFlag), 220 altsrc.NewBoolFlag(LivePruningFlag), 221 altsrc.NewUint64Flag(LivePruningRetentionFlag), 222 altsrc.NewIntFlag(CacheTypeFlag), 223 altsrc.NewIntFlag(CacheScaleFlag), 224 altsrc.NewStringFlag(CacheUsageLevelFlag), 225 altsrc.NewIntFlag(MemorySizeFlag), 226 altsrc.NewStringFlag(TrieNodeCacheTypeFlag), 227 altsrc.NewIntFlag(NumFetcherPrefetchWorkerFlag), 228 altsrc.NewBoolFlag(UseSnapshotForPrefetchFlag), 229 altsrc.NewIntFlag(TrieNodeCacheLimitFlag), 230 altsrc.NewDurationFlag(TrieNodeCacheSavePeriodFlag), 231 altsrc.NewStringSliceFlag(TrieNodeCacheRedisEndpointsFlag), 232 altsrc.NewBoolFlag(TrieNodeCacheRedisClusterFlag), 233 altsrc.NewBoolFlag(TrieNodeCacheRedisPublishBlockFlag), 234 altsrc.NewBoolFlag(TrieNodeCacheRedisSubscribeBlockFlag), 235 altsrc.NewIntFlag(ListenPortFlag), 236 altsrc.NewIntFlag(SubListenPortFlag), 237 altsrc.NewBoolFlag(MultiChannelUseFlag), 238 altsrc.NewIntFlag(MaxConnectionsFlag), 239 altsrc.NewIntFlag(MaxRequestContentLengthFlag), 240 altsrc.NewIntFlag(MaxPendingPeersFlag), 241 altsrc.NewUint64Flag(TargetGasLimitFlag), 242 altsrc.NewStringFlag(NATFlag), 243 altsrc.NewBoolFlag(NoDiscoverFlag), 244 altsrc.NewDurationFlag(RWTimerWaitTimeFlag), 245 altsrc.NewUint64Flag(RWTimerIntervalFlag), 246 altsrc.NewStringFlag(NetrestrictFlag), 247 altsrc.NewStringFlag(NodeKeyFileFlag), 248 altsrc.NewStringFlag(NodeKeyHexFlag), 249 altsrc.NewStringFlag(BlsNodeKeyFileFlag), 250 altsrc.NewStringFlag(BlsNodeKeyHexFlag), 251 altsrc.NewBoolFlag(VMEnableDebugFlag), 252 altsrc.NewIntFlag(VMLogTargetFlag), 253 altsrc.NewBoolFlag(VMTraceInternalTxFlag), 254 altsrc.NewBoolFlag(VMOpDebugFlag), 255 altsrc.NewUint64Flag(NetworkIdFlag), 256 altsrc.NewBoolFlag(MetricsEnabledFlag), 257 altsrc.NewBoolFlag(PrometheusExporterFlag), 258 altsrc.NewIntFlag(PrometheusExporterPortFlag), 259 altsrc.NewStringFlag(ExtraDataFlag), 260 altsrc.NewStringFlag(SrvTypeFlag), 261 altsrc.NewBoolFlag(AutoRestartFlag), 262 altsrc.NewDurationFlag(RestartTimeOutFlag), 263 altsrc.NewStringFlag(DaemonPathFlag), 264 altsrc.NewStringFlag(ConfigFileFlag), 265 altsrc.NewIntFlag(APIFilterGetLogsMaxItemsFlag), 266 altsrc.NewDurationFlag(APIFilterGetLogsDeadlineFlag), 267 altsrc.NewUint64Flag(OpcodeComputationCostLimitFlag), 268 altsrc.NewBoolFlag(SnapshotFlag), 269 altsrc.NewIntFlag(SnapshotCacheSizeFlag), 270 altsrc.NewBoolFlag(SnapshotAsyncGen), 271 } 272 273 // Common RPC flags 274 var CommonRPCFlags = []cli.Flag{ 275 altsrc.NewBoolFlag(RPCEnabledFlag), 276 altsrc.NewStringFlag(RPCListenAddrFlag), 277 altsrc.NewIntFlag(RPCPortFlag), 278 altsrc.NewStringFlag(RPCApiFlag), 279 altsrc.NewUint64Flag(RPCGlobalGasCap), 280 altsrc.NewFloat64Flag(RPCGlobalEthTxFeeCapFlag), 281 altsrc.NewStringFlag(RPCCORSDomainFlag), 282 altsrc.NewStringFlag(RPCVirtualHostsFlag), 283 altsrc.NewBoolFlag(RPCNonEthCompatibleFlag), 284 altsrc.NewDurationFlag(RPCGlobalEVMTimeoutFlag), 285 altsrc.NewBoolFlag(WSEnabledFlag), 286 altsrc.NewStringFlag(WSListenAddrFlag), 287 altsrc.NewIntFlag(WSPortFlag), 288 altsrc.NewBoolFlag(GRPCEnabledFlag), 289 altsrc.NewStringFlag(GRPCListenAddrFlag), 290 altsrc.NewIntFlag(GRPCPortFlag), 291 altsrc.NewIntFlag(RPCConcurrencyLimit), 292 altsrc.NewStringFlag(WSApiFlag), 293 altsrc.NewStringFlag(WSAllowedOriginsFlag), 294 altsrc.NewIntFlag(WSMaxSubscriptionPerConn), 295 altsrc.NewInt64Flag(WSReadDeadLine), 296 altsrc.NewInt64Flag(WSWriteDeadLine), 297 altsrc.NewIntFlag(WSMaxConnections), 298 altsrc.NewBoolFlag(IPCDisabledFlag), 299 altsrc.NewPathFlag(IPCPathFlag), 300 altsrc.NewIntFlag(RPCReadTimeout), 301 altsrc.NewIntFlag(RPCWriteTimeoutFlag), 302 altsrc.NewIntFlag(RPCIdleTimeoutFlag), 303 altsrc.NewIntFlag(RPCExecutionTimeoutFlag), 304 altsrc.NewBoolFlag(UnsafeDebugDisableFlag), 305 altsrc.NewIntFlag(HeavyDebugRequestLimitFlag), 306 altsrc.NewDurationFlag(StateRegenerationTimeLimitFlag), 307 altsrc.NewStringFlag(RPCUpstreamArchiveENFlag), 308 } 309 310 var BNFlags = []cli.Flag{ 311 altsrc.NewStringFlag(SrvTypeFlag), 312 altsrc.NewPathFlag(DataDirFlag), 313 altsrc.NewStringFlag(GenKeyFlag), 314 altsrc.NewStringFlag(NodeKeyFileFlag), 315 altsrc.NewStringFlag(NodeKeyHexFlag), 316 altsrc.NewBoolFlag(WriteAddressFlag), 317 altsrc.NewStringFlag(BNAddrFlag), 318 altsrc.NewStringFlag(NATFlag), 319 altsrc.NewStringFlag(NetrestrictFlag), 320 altsrc.NewBoolFlag(MetricsEnabledFlag), 321 altsrc.NewBoolFlag(PrometheusExporterFlag), 322 altsrc.NewIntFlag(PrometheusExporterPortFlag), 323 altsrc.NewStringFlag(AuthorizedNodesFlag), 324 altsrc.NewUint64Flag(NetworkIdFlag), 325 } 326 327 var KCNFlags = []cli.Flag{ 328 altsrc.NewStringFlag(RewardbaseFlag), 329 altsrc.NewBoolFlag(CypressFlag), 330 altsrc.NewBoolFlag(BaobabFlag), 331 altsrc.NewInt64Flag(BlockGenerationIntervalFlag), 332 altsrc.NewDurationFlag(BlockGenerationTimeLimitFlag), 333 } 334 335 var KPNFlags = []cli.Flag{ 336 altsrc.NewUint64Flag(TxResendIntervalFlag), 337 altsrc.NewIntFlag(TxResendCountFlag), 338 altsrc.NewBoolFlag(TxResendUseLegacyFlag), 339 altsrc.NewBoolFlag(CypressFlag), 340 altsrc.NewBoolFlag(BaobabFlag), 341 altsrc.NewBoolFlag(TxPoolSpamThrottlerDisableFlag), 342 } 343 344 var KENFlags = []cli.Flag{ 345 altsrc.NewStringFlag(ServiceChainSignerFlag), 346 altsrc.NewBoolFlag(CypressFlag), 347 altsrc.NewBoolFlag(BaobabFlag), 348 altsrc.NewBoolFlag(ChildChainIndexingFlag), 349 altsrc.NewBoolFlag(MainBridgeFlag), 350 altsrc.NewIntFlag(MainBridgeListenPortFlag), 351 altsrc.NewBoolFlag(KESNodeTypeServiceFlag), 352 // DBSyncer 353 altsrc.NewBoolFlag(EnableDBSyncerFlag), 354 altsrc.NewStringFlag(DBHostFlag), 355 altsrc.NewStringFlag(DBPortFlag), 356 altsrc.NewStringFlag(DBNameFlag), 357 altsrc.NewStringFlag(DBUserFlag), 358 altsrc.NewStringFlag(DBPasswordFlag), 359 altsrc.NewBoolFlag(EnabledLogModeFlag), 360 altsrc.NewIntFlag(MaxIdleConnsFlag), 361 altsrc.NewIntFlag(MaxOpenConnsFlag), 362 altsrc.NewDurationFlag(ConnMaxLifeTimeFlag), 363 altsrc.NewIntFlag(BlockSyncChannelSizeFlag), 364 altsrc.NewStringFlag(DBSyncerModeFlag), 365 altsrc.NewIntFlag(GenQueryThreadFlag), 366 altsrc.NewIntFlag(InsertThreadFlag), 367 altsrc.NewIntFlag(BulkInsertSizeFlag), 368 altsrc.NewStringFlag(EventModeFlag), 369 altsrc.NewUint64Flag(MaxBlockDiffFlag), 370 altsrc.NewUint64Flag(TxResendIntervalFlag), 371 altsrc.NewIntFlag(TxResendCountFlag), 372 altsrc.NewBoolFlag(TxResendUseLegacyFlag), 373 } 374 375 var KSCNFlags = []cli.Flag{ 376 altsrc.NewStringFlag(RewardbaseFlag), 377 altsrc.NewInt64Flag(BlockGenerationIntervalFlag), 378 altsrc.NewDurationFlag(BlockGenerationTimeLimitFlag), 379 altsrc.NewStringFlag(ServiceChainSignerFlag), 380 altsrc.NewUint64Flag(AnchoringPeriodFlag), 381 altsrc.NewUint64Flag(SentChainTxsLimit), 382 altsrc.NewBoolFlag(MainBridgeFlag), 383 altsrc.NewIntFlag(MainBridgeListenPortFlag), 384 altsrc.NewBoolFlag(ChildChainIndexingFlag), 385 altsrc.NewBoolFlag(SubBridgeFlag), 386 altsrc.NewIntFlag(SubBridgeListenPortFlag), 387 altsrc.NewIntFlag(ParentChainIDFlag), 388 altsrc.NewBoolFlag(VTRecoveryFlag), 389 altsrc.NewUint64Flag(VTRecoveryIntervalFlag), 390 altsrc.NewBoolFlag(ServiceChainNewAccountFlag), 391 altsrc.NewBoolFlag(ServiceChainAnchoringFlag), 392 altsrc.NewUint64Flag(ServiceChainParentOperatorTxGasLimitFlag), 393 altsrc.NewUint64Flag(ServiceChainChildOperatorTxGasLimitFlag), 394 // KAS 395 altsrc.NewBoolFlag(KASServiceChainAnchorFlag), 396 altsrc.NewUint64Flag(KASServiceChainAnchorPeriodFlag), 397 altsrc.NewStringFlag(KASServiceChainAnchorUrlFlag), 398 altsrc.NewStringFlag(KASServiceChainAnchorOperatorFlag), 399 altsrc.NewStringFlag(KASServiceChainSecretKeyFlag), 400 altsrc.NewStringFlag(KASServiceChainAccessKeyFlag), 401 altsrc.NewStringFlag(KASServiceChainXChainIdFlag), 402 altsrc.NewDurationFlag(KASServiceChainAnchorRequestTimeoutFlag), 403 } 404 405 var KSPNFlags = []cli.Flag{ 406 altsrc.NewUint64Flag(TxResendIntervalFlag), 407 altsrc.NewIntFlag(TxResendCountFlag), 408 altsrc.NewBoolFlag(TxResendUseLegacyFlag), 409 altsrc.NewBoolFlag(TxPoolSpamThrottlerDisableFlag), 410 altsrc.NewStringFlag(ServiceChainSignerFlag), 411 altsrc.NewUint64Flag(AnchoringPeriodFlag), 412 altsrc.NewUint64Flag(SentChainTxsLimit), 413 altsrc.NewBoolFlag(MainBridgeFlag), 414 altsrc.NewIntFlag(MainBridgeListenPortFlag), 415 altsrc.NewBoolFlag(ChildChainIndexingFlag), 416 altsrc.NewBoolFlag(SubBridgeFlag), 417 altsrc.NewIntFlag(SubBridgeListenPortFlag), 418 altsrc.NewIntFlag(ParentChainIDFlag), 419 altsrc.NewBoolFlag(VTRecoveryFlag), 420 altsrc.NewUint64Flag(VTRecoveryIntervalFlag), 421 altsrc.NewBoolFlag(ServiceChainNewAccountFlag), 422 altsrc.NewBoolFlag(ServiceChainAnchoringFlag), 423 altsrc.NewUint64Flag(ServiceChainParentOperatorTxGasLimitFlag), 424 altsrc.NewUint64Flag(ServiceChainChildOperatorTxGasLimitFlag), 425 // KAS 426 altsrc.NewBoolFlag(KASServiceChainAnchorFlag), 427 altsrc.NewUint64Flag(KASServiceChainAnchorPeriodFlag), 428 altsrc.NewStringFlag(KASServiceChainAnchorUrlFlag), 429 altsrc.NewStringFlag(KASServiceChainAnchorOperatorFlag), 430 altsrc.NewStringFlag(KASServiceChainSecretKeyFlag), 431 altsrc.NewStringFlag(KASServiceChainAccessKeyFlag), 432 altsrc.NewStringFlag(KASServiceChainXChainIdFlag), 433 altsrc.NewDurationFlag(KASServiceChainAnchorRequestTimeoutFlag), 434 } 435 436 var KSENFlags = []cli.Flag{ 437 altsrc.NewStringFlag(ServiceChainSignerFlag), 438 altsrc.NewBoolFlag(ChildChainIndexingFlag), 439 altsrc.NewBoolFlag(MainBridgeFlag), 440 altsrc.NewIntFlag(MainBridgeListenPortFlag), 441 altsrc.NewBoolFlag(SubBridgeFlag), 442 altsrc.NewIntFlag(SubBridgeListenPortFlag), 443 altsrc.NewUint64Flag(AnchoringPeriodFlag), 444 altsrc.NewUint64Flag(SentChainTxsLimit), 445 altsrc.NewIntFlag(ParentChainIDFlag), 446 altsrc.NewBoolFlag(VTRecoveryFlag), 447 altsrc.NewUint64Flag(VTRecoveryIntervalFlag), 448 altsrc.NewBoolFlag(ServiceChainAnchoringFlag), 449 altsrc.NewBoolFlag(KESNodeTypeServiceFlag), 450 altsrc.NewUint64Flag(ServiceChainParentOperatorTxGasLimitFlag), 451 altsrc.NewUint64Flag(ServiceChainChildOperatorTxGasLimitFlag), 452 // KAS 453 altsrc.NewBoolFlag(KASServiceChainAnchorFlag), 454 altsrc.NewUint64Flag(KASServiceChainAnchorPeriodFlag), 455 altsrc.NewStringFlag(KASServiceChainAnchorUrlFlag), 456 altsrc.NewStringFlag(KASServiceChainAnchorOperatorFlag), 457 altsrc.NewStringFlag(KASServiceChainSecretKeyFlag), 458 altsrc.NewStringFlag(KASServiceChainAccessKeyFlag), 459 altsrc.NewStringFlag(KASServiceChainXChainIdFlag), 460 altsrc.NewDurationFlag(KASServiceChainAnchorRequestTimeoutFlag), 461 // DBSyncer 462 altsrc.NewBoolFlag(EnableDBSyncerFlag), 463 altsrc.NewStringFlag(DBHostFlag), 464 altsrc.NewStringFlag(DBPortFlag), 465 altsrc.NewStringFlag(DBNameFlag), 466 altsrc.NewStringFlag(DBUserFlag), 467 altsrc.NewStringFlag(DBPasswordFlag), 468 altsrc.NewBoolFlag(EnabledLogModeFlag), 469 altsrc.NewIntFlag(MaxIdleConnsFlag), 470 altsrc.NewIntFlag(MaxOpenConnsFlag), 471 altsrc.NewDurationFlag(ConnMaxLifeTimeFlag), 472 altsrc.NewIntFlag(BlockSyncChannelSizeFlag), 473 altsrc.NewStringFlag(DBSyncerModeFlag), 474 altsrc.NewIntFlag(GenQueryThreadFlag), 475 altsrc.NewIntFlag(InsertThreadFlag), 476 altsrc.NewIntFlag(BulkInsertSizeFlag), 477 altsrc.NewStringFlag(EventModeFlag), 478 altsrc.NewUint64Flag(MaxBlockDiffFlag), 479 altsrc.NewUint64Flag(TxResendIntervalFlag), 480 altsrc.NewIntFlag(TxResendCountFlag), 481 altsrc.NewBoolFlag(TxResendUseLegacyFlag), 482 } 483 484 var SnapshotFlags = []cli.Flag{ 485 altsrc.NewStringFlag(DbTypeFlag), 486 altsrc.NewPathFlag(DataDirFlag), 487 altsrc.NewPathFlag(ChainDataDirFlag), 488 altsrc.NewBoolFlag(SingleDBFlag), 489 altsrc.NewUintFlag(NumStateTrieShardsFlag), 490 altsrc.NewStringFlag(DynamoDBTableNameFlag), 491 altsrc.NewStringFlag(DynamoDBRegionFlag), 492 altsrc.NewBoolFlag(DynamoDBIsProvisionedFlag), 493 altsrc.NewInt64Flag(DynamoDBReadCapacityFlag), 494 altsrc.NewInt64Flag(DynamoDBWriteCapacityFlag), 495 altsrc.NewIntFlag(LevelDBCompressionTypeFlag), 496 altsrc.NewBoolFlag(RocksDBSecondaryFlag), 497 altsrc.NewUint64Flag(RocksDBCacheSizeFlag), 498 altsrc.NewBoolFlag(RocksDBDumpMallocStatFlag), 499 altsrc.NewStringFlag(RocksDBFilterPolicyFlag), 500 altsrc.NewStringFlag(RocksDBCompressionTypeFlag), 501 altsrc.NewStringFlag(RocksDBBottommostCompressionTypeFlag), 502 altsrc.NewBoolFlag(RocksDBDisableMetricsFlag), 503 altsrc.NewIntFlag(RocksDBMaxOpenFilesFlag), 504 altsrc.NewBoolFlag(RocksDBCacheIndexAndFilterFlag), 505 } 506 507 var DBMigrationSrcFlags = []cli.Flag{ 508 altsrc.NewStringFlag(DbTypeFlag), 509 altsrc.NewPathFlag(DataDirFlag), 510 altsrc.NewBoolFlag(SingleDBFlag), 511 altsrc.NewIntFlag(LevelDBCacheSizeFlag), 512 altsrc.NewUintFlag(NumStateTrieShardsFlag), 513 altsrc.NewStringFlag(DynamoDBTableNameFlag), 514 altsrc.NewStringFlag(DynamoDBRegionFlag), 515 altsrc.NewBoolFlag(DynamoDBIsProvisionedFlag), 516 altsrc.NewInt64Flag(DynamoDBReadCapacityFlag), 517 altsrc.NewInt64Flag(DynamoDBWriteCapacityFlag), 518 altsrc.NewIntFlag(LevelDBCompressionTypeFlag), 519 altsrc.NewBoolFlag(DBNoPerformanceMetricsFlag), 520 altsrc.NewBoolFlag(RocksDBSecondaryFlag), 521 altsrc.NewUint64Flag(RocksDBCacheSizeFlag), 522 altsrc.NewBoolFlag(RocksDBDumpMallocStatFlag), 523 altsrc.NewStringFlag(RocksDBFilterPolicyFlag), 524 altsrc.NewStringFlag(RocksDBCompressionTypeFlag), 525 altsrc.NewStringFlag(RocksDBBottommostCompressionTypeFlag), 526 altsrc.NewBoolFlag(RocksDBDisableMetricsFlag), 527 altsrc.NewIntFlag(RocksDBMaxOpenFilesFlag), 528 altsrc.NewBoolFlag(RocksDBCacheIndexAndFilterFlag), 529 } 530 531 var DBMigrationDstFlags = []cli.Flag{ 532 altsrc.NewStringFlag(DstDbTypeFlag), 533 altsrc.NewPathFlag(DstDataDirFlag), 534 altsrc.NewBoolFlag(DstSingleDBFlag), 535 altsrc.NewIntFlag(DstLevelDBCacheSizeFlag), 536 altsrc.NewIntFlag(DstLevelDBCompressionTypeFlag), 537 altsrc.NewUintFlag(DstNumStateTrieShardsFlag), 538 altsrc.NewStringFlag(DstDynamoDBTableNameFlag), 539 altsrc.NewStringFlag(DstDynamoDBRegionFlag), 540 altsrc.NewBoolFlag(DstDynamoDBIsProvisionedFlag), 541 altsrc.NewInt64Flag(DstDynamoDBReadCapacityFlag), 542 altsrc.NewInt64Flag(DstDynamoDBWriteCapacityFlag), 543 altsrc.NewUint64Flag(DstRocksDBCacheSizeFlag), 544 altsrc.NewBoolFlag(DstRocksDBDumpMallocStatFlag), 545 altsrc.NewBoolFlag(DstRocksDBDisableMetricsFlag), 546 altsrc.NewBoolFlag(DstRocksDBSecondaryFlag), 547 altsrc.NewStringFlag(DstRocksDBCompressionTypeFlag), 548 altsrc.NewStringFlag(DstRocksDBBottommostCompressionTypeFlag), 549 altsrc.NewStringFlag(DstRocksDBFilterPolicyFlag), 550 altsrc.NewIntFlag(DstRocksDBMaxOpenFilesFlag), 551 altsrc.NewBoolFlag(DstRocksDBCacheIndexAndFilterFlag), 552 } 553 554 var ChainDataFetcherFlags = []cli.Flag{ 555 altsrc.NewBoolFlag(EnableChainDataFetcherFlag), 556 altsrc.NewStringFlag(ChainDataFetcherMode), 557 altsrc.NewBoolFlag(ChainDataFetcherNoDefault), 558 altsrc.NewIntFlag(ChainDataFetcherNumHandlers), 559 altsrc.NewIntFlag(ChainDataFetcherJobChannelSize), 560 altsrc.NewIntFlag(ChainDataFetcherChainEventSizeFlag), 561 altsrc.NewIntFlag(ChainDataFetcherMaxProcessingDataSize), 562 altsrc.NewStringFlag(ChainDataFetcherKASDBHostFlag), 563 altsrc.NewStringFlag(ChainDataFetcherKASDBPortFlag), 564 altsrc.NewStringFlag(ChainDataFetcherKASDBNameFlag), 565 altsrc.NewStringFlag(ChainDataFetcherKASDBUserFlag), 566 altsrc.NewStringFlag(ChainDataFetcherKASDBPasswordFlag), 567 altsrc.NewBoolFlag(ChainDataFetcherKASCacheUse), 568 altsrc.NewStringFlag(ChainDataFetcherKASCacheURLFlag), 569 altsrc.NewStringFlag(ChainDataFetcherKASXChainIdFlag), 570 altsrc.NewStringFlag(ChainDataFetcherKASBasicAuthParamFlag), 571 altsrc.NewInt64Flag(ChainDataFetcherKafkaReplicasFlag), 572 altsrc.NewStringSliceFlag(ChainDataFetcherKafkaBrokersFlag), 573 altsrc.NewIntFlag(ChainDataFetcherKafkaPartitionsFlag), 574 altsrc.NewStringFlag(ChainDataFetcherKafkaTopicResourceFlag), 575 altsrc.NewStringFlag(ChainDataFetcherKafkaTopicEnvironmentFlag), 576 altsrc.NewIntFlag(ChainDataFetcherKafkaMaxMessageBytesFlag), 577 altsrc.NewIntFlag(ChainDataFetcherKafkaSegmentSizeBytesFlag), 578 altsrc.NewIntFlag(ChainDataFetcherKafkaRequiredAcksFlag), 579 altsrc.NewStringFlag(ChainDataFetcherKafkaMessageVersionFlag), 580 altsrc.NewStringFlag(ChainDataFetcherKafkaProducerIdFlag), 581 }