2023-01-30 05:20:38 -08:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
"github.com/spf13/cobra"
|
2023-01-30 05:20:38 -08:00
|
|
|
)
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
func main() {
|
|
|
|
execute()
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
func execute() error {
|
|
|
|
root := &cobra.Command{
|
|
|
|
Use: "backfiller",
|
|
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
|
|
if len(args) == 0 {
|
|
|
|
cmd.Help()
|
|
|
|
os.Exit(0)
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
2023-06-15 05:57:39 -07:00
|
|
|
},
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
addVaaBackfillerCommand(root)
|
|
|
|
addTxHashCommand(root)
|
|
|
|
addTxHashEncodingCommand(root)
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
return root.Execute()
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
func addVaaBackfillerCommand(root *cobra.Command) {
|
2023-10-18 07:18:32 -07:00
|
|
|
var mongoUri, mongoDb, filename, awsRegion, awsAccessKeyId, awsSecretKey, AwsEndpoint, AwsSnsURL string
|
2023-06-15 05:57:39 -07:00
|
|
|
var workerCount int
|
2023-10-18 07:18:32 -07:00
|
|
|
var notifyEnabled bool
|
2023-06-15 05:57:39 -07:00
|
|
|
|
|
|
|
vaaBackfillerCommand := &cobra.Command{
|
|
|
|
Use: "vaa",
|
|
|
|
Short: "Run vaa backfiller",
|
|
|
|
Run: func(_ *cobra.Command, _ []string) {
|
|
|
|
workerConfiguration := WorkerConfiguration{
|
2023-10-18 07:18:32 -07:00
|
|
|
MongoURI: mongoUri,
|
|
|
|
MongoDatabase: mongoDb,
|
|
|
|
Filename: filename,
|
|
|
|
WorkerCount: workerCount,
|
|
|
|
NotifyEnabled: notifyEnabled,
|
|
|
|
AwsRegion: awsRegion,
|
|
|
|
AwsAccessKeyId: awsAccessKeyId,
|
|
|
|
AwsSecretKey: awsSecretKey,
|
|
|
|
AwsEndpoint: AwsEndpoint,
|
|
|
|
AwsSnsURL: AwsSnsURL,
|
2023-06-15 05:57:39 -07:00
|
|
|
}
|
|
|
|
RunBackfiller(workerConfiguration, workerVaa)
|
|
|
|
},
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
2023-06-15 05:57:39 -07:00
|
|
|
vaaBackfillerCommand.Flags().StringVar(&mongoUri, "mongo-uri", "", "Mongo connection")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&mongoDb, "mongo-database", "", "Mongo database")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&filename, "filename", "", "vaa backfiller filename")
|
|
|
|
vaaBackfillerCommand.Flags().IntVar(&workerCount, "worker-count", 100, "backfiller worker count")
|
2023-10-18 07:18:32 -07:00
|
|
|
vaaBackfillerCommand.Flags().BoolVar(¬ifyEnabled, "notify-enabled", true, "backfiller notify pipeline")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&awsRegion, "aws-region", "", "AWS region")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&awsAccessKeyId, "aws-access-key-id", "", "AWS access key id")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&awsSecretKey, "aws-secret-access-key", "", "AWS secret access key")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&AwsEndpoint, "aws-endpoint", "", "AWS endpoint")
|
|
|
|
vaaBackfillerCommand.Flags().StringVar(&AwsSnsURL, "aws-sns-url", "", "AWS SNS URL")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
vaaBackfillerCommand.MarkFlagRequired("mongo-uri")
|
|
|
|
vaaBackfillerCommand.MarkFlagRequired("mongo-database")
|
|
|
|
vaaBackfillerCommand.MarkFlagRequired("filename")
|
2023-10-18 07:18:32 -07:00
|
|
|
vaaBackfillerCommand.MarkFlagRequired("aws-region")
|
|
|
|
vaaBackfillerCommand.MarkFlagRequired("aws-sns-url")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
root.AddCommand(vaaBackfillerCommand)
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
}
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
func addTxHashCommand(root *cobra.Command) {
|
2023-10-18 07:18:32 -07:00
|
|
|
var mongoUri, mongoDb, filename, awsRegion, awsAccessKeyId, awsSecretKey, AwsEndpoint, AwsSnsURL string
|
2023-06-15 05:57:39 -07:00
|
|
|
var workerCount int
|
2023-10-18 07:18:32 -07:00
|
|
|
var notifyEnabled bool
|
2023-06-15 05:57:39 -07:00
|
|
|
|
|
|
|
txHashBackfillerCommand := &cobra.Command{
|
|
|
|
Use: "txhash",
|
|
|
|
Short: "Run txhash backfiller",
|
|
|
|
Run: func(_ *cobra.Command, _ []string) {
|
|
|
|
workerConfiguration := WorkerConfiguration{
|
2023-10-18 07:18:32 -07:00
|
|
|
MongoURI: mongoUri,
|
|
|
|
MongoDatabase: mongoDb,
|
|
|
|
Filename: filename,
|
|
|
|
WorkerCount: workerCount,
|
|
|
|
AwsRegion: awsRegion,
|
|
|
|
AwsAccessKeyId: awsAccessKeyId,
|
|
|
|
AwsSecretKey: awsSecretKey,
|
|
|
|
AwsEndpoint: AwsEndpoint,
|
|
|
|
AwsSnsURL: AwsSnsURL,
|
2023-06-15 05:57:39 -07:00
|
|
|
}
|
|
|
|
RunBackfiller(workerConfiguration, workerTxHash)
|
|
|
|
},
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
2023-06-15 05:57:39 -07:00
|
|
|
txHashBackfillerCommand.Flags().StringVar(&mongoUri, "mongo-uri", "", "Mongo connection")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&mongoDb, "mongo-database", "", "Mongo database")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&filename, "filename", "", "vaa backfiller filename")
|
|
|
|
txHashBackfillerCommand.Flags().IntVar(&workerCount, "worker-count", 100, "backfiller worker count")
|
2023-10-18 07:18:32 -07:00
|
|
|
txHashBackfillerCommand.Flags().BoolVar(¬ifyEnabled, "notify-enabled", false, "backfiller notify pipeline")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&awsRegion, "aws-region", "", "AWS region")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&awsAccessKeyId, "aws-access-key-id", "", "AWS access key id")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&awsSecretKey, "aws-secret-access-key", "", "AWS secret access key")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&AwsEndpoint, "aws-endpoint", "", "AWS endpoint")
|
|
|
|
txHashBackfillerCommand.Flags().StringVar(&AwsSnsURL, "aws-sns-url", "", "AWS SNS URL")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
txHashBackfillerCommand.MarkFlagRequired("mongo-uri")
|
|
|
|
txHashBackfillerCommand.MarkFlagRequired("mongo-database")
|
|
|
|
txHashBackfillerCommand.MarkFlagRequired("filename")
|
2023-10-18 07:18:32 -07:00
|
|
|
txHashBackfillerCommand.MarkFlagRequired("aws-region")
|
|
|
|
txHashBackfillerCommand.MarkFlagRequired("aws-sns-url")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
root.AddCommand(txHashBackfillerCommand)
|
|
|
|
}
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
func addTxHashEncodingCommand(root *cobra.Command) {
|
|
|
|
var logLevel, mongoUri, mongoDb string
|
|
|
|
var chainID uint16
|
|
|
|
var pageSize int64
|
|
|
|
txHashFixEncodingCommand := &cobra.Command{
|
|
|
|
Use: "txHashEncoding",
|
|
|
|
Short: "Run txHash encoding backfiller",
|
|
|
|
Run: func(_ *cobra.Command, _ []string) {
|
|
|
|
cfg := TxHashEncondingConfig{
|
|
|
|
LogLevel: logLevel,
|
|
|
|
MongoURI: mongoUri,
|
|
|
|
MongoDatabase: mongoDb,
|
|
|
|
ChainID: chainID,
|
|
|
|
PageSize: pageSize,
|
|
|
|
}
|
|
|
|
RunTxHashEncoding(cfg)
|
|
|
|
},
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
txHashFixEncodingCommand.Flags().StringVar(&logLevel, "log-level", "info", "Log level")
|
|
|
|
txHashFixEncodingCommand.Flags().StringVar(&mongoUri, "mongo-uri", "", "Mongo connection")
|
|
|
|
txHashFixEncodingCommand.Flags().StringVar(&mongoDb, "mongo-database", "", "Mongo database")
|
|
|
|
txHashFixEncodingCommand.Flags().Uint16Var(&chainID, "chain-id", 0, "Chain ID")
|
|
|
|
txHashFixEncodingCommand.Flags().Int64Var(&pageSize, "page-size", 100, "Page size")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
txHashFixEncodingCommand.MarkFlagRequired("mongo-uri")
|
|
|
|
txHashFixEncodingCommand.MarkFlagRequired("mongo-database")
|
|
|
|
txHashFixEncodingCommand.MarkFlagRequired("chain-id")
|
2023-01-30 05:20:38 -08:00
|
|
|
|
2023-06-15 05:57:39 -07:00
|
|
|
root.AddCommand(txHashFixEncodingCommand)
|
2023-01-30 05:20:38 -08:00
|
|
|
}
|