@cryptotaxi247 / kubo / commits / 093e4360b

refactor: put all --ipns-base options in one place

(cherry picked from commit 6cbda0f62fbd2481b0ae2e0d0ce518576992ad1e)

Adin Schmahmann committed Sep 8, 2020 at 13:08 UTC 093e4360bf9f5bb233764e396c21b0ed390abea4
4 files changed +18 -15
core/commands/keyencode/keyencode.go
+4 -1
@@ -1,11 +1,14 @@
1 package keyencode
2
3 import (
4 + cmds "github.com/ipfs/go-ipfs-cmds"
5 peer "github.com/libp2p/go-libp2p-core/peer"
6 mbase "github.com/multiformats/go-multibase"
7 )
8
8 -const IPNSKeyFormatOptionName = "ipns-base"
9 +const ipnsKeyFormatOptionName = "ipns-base"
10 +
11 +var OptionIPNSBase = cmds.StringOption(ipnsKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36")
12
13 type KeyEncoder struct {
14 baseEnc *mbase.Encoder
core/commands/keystore.go
+10 -10
@@ -81,7 +81,7 @@ var keyGenCmd = &cmds.Command{
81 Options: []cmds.Option{
82 cmds.StringOption(keyStoreTypeOptionName, "t", "type of the key to create: rsa, ed25519").WithDefault(keyStoreAlgorithmDefault),
83 cmds.IntOption(keyStoreSizeOptionName, "s", "size of the key to generate"),
84 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
84 + ke.OptionIPNSBase,
85 },
86 Arguments: []cmds.Argument{
87 cmds.StringArg("name", true, false, "name of key to create"),
@@ -108,7 +108,7 @@ var keyGenCmd = &cmds.Command{
108 if sizefound {
109 opts = append(opts, options.Key.Size(size))
110 }
111 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
111 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
112 if err != nil {
113 return err
114 }
@@ -223,7 +223,7 @@ var keyImportCmd = &cmds.Command{
223 Tagline: "Import a key and prints imported key id",
224 },
225 Options: []cmds.Option{
226 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
226 + ke.OptionIPNSBase,
227 },
228 Arguments: []cmds.Argument{
229 cmds.StringArg("name", true, false, "name to associate with key in keychain"),
@@ -236,7 +236,7 @@ var keyImportCmd = &cmds.Command{
236 return fmt.Errorf("cannot import key with name 'self'")
237 }
238
239 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
239 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
240 if err != nil {
241 return err
242 }
@@ -303,10 +303,10 @@ var keyListCmd = &cmds.Command{
303 },
304 Options: []cmds.Option{
305 cmds.BoolOption("l", "Show extra information about keys."),
306 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
306 + ke.OptionIPNSBase,
307 },
308 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
309 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
309 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
310 if err != nil {
311 return err
312 }
@@ -352,14 +352,14 @@ var keyRenameCmd = &cmds.Command{
352 },
353 Options: []cmds.Option{
354 cmds.BoolOption(keyStoreForceOptionName, "f", "Allow to overwrite an existing key."),
355 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
355 + ke.OptionIPNSBase,
356 },
357 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
358 api, err := cmdenv.GetApi(env, req)
359 if err != nil {
360 return err
361 }
362 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
362 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
363 if err != nil {
364 return err
365 }
@@ -402,14 +402,14 @@ var keyRmCmd = &cmds.Command{
402 },
403 Options: []cmds.Option{
404 cmds.BoolOption("l", "Show extra information about keys."),
405 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
405 + ke.OptionIPNSBase,
406 },
407 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
408 api, err := cmdenv.GetApi(env, req)
409 if err != nil {
410 return err
411 }
412 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
412 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
413 if err != nil {
414 return err
415 }
core/commands/name/ipnsps.go
+2 -2
@@ -74,10 +74,10 @@ var ipnspsSubsCmd = &cmds.Command{
74 Tagline: "Show current name subscriptions",
75 },
76 Options: []cmds.Option{
77 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
77 + ke.OptionIPNSBase,
78 },
79 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
80 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
80 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
81 if err != nil {
82 return err
83 }
core/commands/name/publish.go
+2 -2
@@ -83,14 +83,14 @@ Alternatively, publish an <ipfs-path> using a valid PeerID (as listed by
83 cmds.StringOption(ttlOptionName, "Time duration this record should be cached for. Uses the same syntax as the lifetime option. (caution: experimental)"),
84 cmds.StringOption(keyOptionName, "k", "Name of the key to be used or a valid PeerID, as listed by 'ipfs key list -l'.").WithDefault("self"),
85 cmds.BoolOption(quieterOptionName, "Q", "Write only final hash."),
86 - cmds.StringOption(ke.IPNSKeyFormatOptionName, "", "Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}.").WithDefault("base36"),
86 + ke.OptionIPNSBase,
87 },
88 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
89 api, err := cmdenv.GetApi(env, req)
90 if err != nil {
91 return err
92 }
93 - keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.IPNSKeyFormatOptionName].(string))
93 + keyEnc, err := ke.KeyEncoderFromString(req.Options[ke.OptionIPNSBase.Name()].(string))
94 if err != nil {
95 return err
96 }