github.com/ChainSafe/chainbridge-core@v1.4.2/chains/evm/cli/admin/remove-relayer.go (about) 1 package admin 2 3 import ( 4 "fmt" 5 6 "github.com/ChainSafe/chainbridge-core/chains/evm/cli/flags" 7 "github.com/ChainSafe/chainbridge-core/chains/evm/cli/logger" 8 "github.com/ChainSafe/chainbridge-core/util" 9 "github.com/ethereum/go-ethereum/common" 10 "github.com/rs/zerolog/log" 11 "github.com/spf13/cobra" 12 ) 13 14 var removeRelayerCmd = &cobra.Command{ 15 Use: "remove-relayer", 16 Short: "Remove an existing relayer", 17 Long: "The remove-relayer subcommand removes an existing relayer", 18 PreRun: func(cmd *cobra.Command, args []string) { 19 logger.LoggerMetadata(cmd.Name(), cmd.Flags()) 20 }, 21 PersistentPreRunE: func(cmd *cobra.Command, args []string) error { 22 return util.CallPersistentPreRun(cmd, args) 23 }, 24 RunE: removeRelayer, 25 Args: func(cmd *cobra.Command, args []string) error { 26 err := ValidateRemoveRelayerFlags(cmd, args) 27 if err != nil { 28 return err 29 } 30 return nil 31 }, 32 } 33 34 func BindRemoveRelayerFlags(cmd *cobra.Command) { 35 cmd.Flags().StringVar(&Relayer, "relayer", "", "Address to remove") 36 cmd.Flags().StringVar(&Bridge, "bridge", "", "Bridge contract address") 37 flags.MarkFlagsAsRequired(cmd, "relayer", "bridge") 38 } 39 func init() { 40 BindRemoveRelayerFlags(removeRelayerCmd) 41 } 42 func ValidateRemoveRelayerFlags(cmd *cobra.Command, args []string) error { 43 if !common.IsHexAddress(Relayer) { 44 return fmt.Errorf("invalid relayer address %s", Relayer) 45 } 46 if !common.IsHexAddress(Bridge) { 47 return fmt.Errorf("invalid bridge address %s", Bridge) 48 } 49 return nil 50 } 51 52 func removeRelayer(cmd *cobra.Command, args []string) error { 53 log.Debug().Msgf(` 54 Removing relayer 55 Relayer address: %s 56 Bridge address: %s`, Relayer, Bridge) 57 return nil 58 } 59 60 /* 61 func removeRelayer(cctx *cli.Context) error { 62 url := cctx.String("url") 63 gasLimit := cctx.Uint64("gasLimit") 64 gasPrice := cctx.Uint64("gasPrice") 65 sender, err := cliutils.DefineSender(cctx) 66 if err != nil { 67 return err 68 } 69 bridgeAddress, err := cliutils.DefineBridgeAddress(cctx) 70 if err != nil { 71 return err 72 } 73 relayer := cctx.String("relayer") 74 if !common.IsHexAddress(relayer) { 75 return fmt.Errorf("invalid bridge address %s", relayer) 76 } 77 relayerAddress := common.HexToAddress(relayer) 78 ethClient, err := client.NewClient(url, false, sender, big.NewInt(0).SetUint64(gasLimit), big.NewInt(0).SetUint64(gasPrice), big.NewFloat(1)) 79 if err != nil { 80 return err 81 } 82 err = utils.AdminRemoveRelayer(ethClient, bridgeAddress, relayerAddress) 83 if err != nil { 84 return err 85 } 86 log.Info().Msgf("Address %s is relayer now", relayerAddress.String()) 87 return nil 88 } 89 */