code.vegaprotocol.io/vega@v0.79.0/cmd/vegawallet/commands/key.go (about) 1 // Copyright (C) 2023 Gobalsky Labs Limited 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 package cmd 17 18 import ( 19 "fmt" 20 "io" 21 22 "code.vegaprotocol.io/vega/cmd/vegawallet/commands/printer" 23 "code.vegaprotocol.io/vega/wallet/wallet" 24 25 "github.com/spf13/cobra" 26 ) 27 28 func NewCmdKey(w io.Writer, rf *RootFlags) *cobra.Command { 29 cmd := &cobra.Command{ 30 Use: "key", 31 Short: "Manage Vega wallets' keys", 32 Long: "Manage Vega wallets' keys", 33 } 34 35 cmd.AddCommand(NewCmdAnnotateKey(w, rf)) 36 cmd.AddCommand(NewCmdGenerateKey(w, rf)) 37 cmd.AddCommand(NewCmdIsolateKey(w, rf)) 38 cmd.AddCommand(NewCmdListKeys(w, rf)) 39 cmd.AddCommand(NewCmdDescribeKey(w, rf)) 40 cmd.AddCommand(NewCmdTaintKey(w, rf)) 41 cmd.AddCommand(NewCmdUntaintKey(w, rf)) 42 cmd.AddCommand(NewCmdRotateKey(w, rf)) 43 return cmd 44 } 45 46 func printMeta(str *printer.FormattedString, meta []wallet.Metadata) { 47 padding := 0 48 for _, m := range meta { 49 keyLen := len(m.Key) 50 if keyLen > padding { 51 padding = keyLen 52 } 53 } 54 55 for _, m := range meta { 56 str.WarningText(fmt.Sprintf("%-*s", padding, m.Key)).Text(" | ").WarningText(m.Value).NextLine() 57 } 58 }