code.vegaprotocol.io/vega@v0.79.0/cmd/vegawallet/commands/disclaimer.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/cli" 23 24 "github.com/spf13/cobra" 25 ) 26 27 const disclaimerTxt = `The Vega Wallet is an application that allows users to, among other things, (i) access 28 other Vega applications; (ii) manage multiple wallets and keys; and (iii) sign 29 transactions on the Vega network. It is free, public and open source software. 30 31 The Vega Wallet is purely non-custodial application, meaning users never lose custody, 32 possession, or control of their digital assets at any time. Users are solely responsible for 33 the custody of the cryptographic private keys to their Vega Wallet and and should never 34 share their wallet credentials or seed phrase with anyone. 35 36 The Vega Wallet relies on emerging technologies that are subject to increased risk 37 through users misuse of things such as public/private key cryptography or failing to 38 properly update or run software to accommodate upgrades. The developers of the 39 Vega Wallet do not operate or run the Vega Blockchain or any other blockchain. Digital 40 tokens present market volatility risk, technical software risk, regulatory risk and 41 cybersecurity risk. Software upgrades may contain bugs or security vulnerabilities that 42 might result in loss of functionality or assets. 43 44 The Vega Wallet is provided “as is”. The developers of the Vega Wallet make no 45 representations or warranties of any kind, whether express or implied, statutory 46 or otherwise regarding the Vega Wallet. They disclaim all warranties of 47 merchantability, quality, fitness for purpose. They disclaim all warranties that the 48 Vega Wallet is free of harmful components or errors. 49 50 No developer of the Vega Wallet accepts any responsibility for, or liability to users 51 in connection with their use of the Vega Wallet. Users are solely responsible for 52 any associated wallet and no developer of the Vega Wallet is liable for any acts or 53 omissions by users in connection with or as a result of their Vega Wallet or other 54 associated wallet being compromised. 55 ` 56 57 var disclaimerLong = cli.LongDesc(` 58 Prints the disclaimer of the Vega Wallet. 59 `) 60 61 type DisclaimerHandler func(home string, f *DisclaimerFlags) error 62 63 func NewCmdDisclaimer(w io.Writer, rf *RootFlags) *cobra.Command { 64 return BuildCmdDisclaimer(w, Disclaimer, rf) 65 } 66 67 func BuildCmdDisclaimer(w io.Writer, handler DisclaimerHandler, rf *RootFlags) *cobra.Command { 68 f := &DisclaimerFlags{} 69 70 cmd := &cobra.Command{ 71 Use: "disclaimer", 72 Short: "Prints the disclaimer of the Vega Wallet", 73 Long: disclaimerLong, 74 RunE: func(_ *cobra.Command, _ []string) error { 75 if err := handler(rf.Home, f); err != nil { 76 return err 77 } 78 79 return nil 80 }, 81 } 82 83 return cmd 84 } 85 86 type DisclaimerFlags struct{} 87 88 func Disclaimer(home string, f *DisclaimerFlags) error { 89 fmt.Print(disclaimerTxt) 90 return nil 91 }