@cryptotaxi247 / kubo / commits / d82b5272b

switch to fast base58 library

License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>

Steven Allen committed Jan 24, 2018 at 16:05 UTC d82b5272b93e052eaf847d87453648ba8816be73
4 files changed +31 -16
core/commands/dht.go
+16 -5
@@ -15,7 +15,7 @@ import (
15
16 routing "gx/ipfs/QmRijoA6zGS98ELTDbGsLWPZbVotYsGbjp3RbXcKCYBeon/go-libp2p-routing"
17 notif "gx/ipfs/QmRijoA6zGS98ELTDbGsLWPZbVotYsGbjp3RbXcKCYBeon/go-libp2p-routing/notifications"
18 - b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
18 + b58 "gx/ipfs/QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY/go-base58-fast/base58"
19 peer "gx/ipfs/Qma7H6RW8wRrfZpNSXwxYGcd1E149s42FpWNpDNieSVrnU/go-libp2p-peer"
20 cid "gx/ipfs/QmcZfnkapfECQGcLZaf9B79NRg7cRa9EnZh4LSbkCzwNvY/go-cid"
21 "gx/ipfs/QmceUdzxkimdYsgtX733uNgzf1DLHyBKN6ehGSp85ayppM/go-ipfs-cmdkit"
@@ -69,9 +69,13 @@ var queryDhtCmd = &cmds.Command{
69 events := make(chan *notif.QueryEvent)
70 ctx := notif.RegisterForQueryEvents(req.Context(), events)
71
72 - k := string(b58.Decode(req.Arguments()[0]))
72 + id, err := peer.IDB58Decode(req.Arguments()[0])
73 + if err != nil {
74 + res.SetError(cmds.ClientError("invalid peer ID"), cmdkit.ErrClient)
75 + return
76 + }
77
74 - closestPeers, err := dht.GetClosestPeers(ctx, k)
78 + closestPeers, err := dht.GetClosestPeers(ctx, string(id))
79 if err != nil {
80 res.SetError(err, cmdkit.ErrNormal)
81 return
@@ -773,9 +777,16 @@ func escapeDhtKey(s string) (string, error) {
777 parts := path.SplitList(s)
778 switch len(parts) {
779 case 1:
776 - return string(b58.Decode(s)), nil
780 + k, err := b58.Decode(s)
781 + if err != nil {
782 + return "", err
783 + }
784 + return string(k), nil
785 case 3:
778 - k := b58.Decode(parts[2])
786 + k, err := b58.Decode(parts[2])
787 + if err != nil {
788 + return "", err
789 + }
790 return path.Join(append(parts[:2], string(k))), nil
791 default:
792 return "", errors.New("invalid key")
core/commands/id.go
+3 -3
@@ -13,7 +13,6 @@ import (
13 e "github.com/ipfs/go-ipfs/core/commands/e"
14
15 identify "gx/ipfs/QmNRN4eZGmY89CRC4T5PC4xDYRx6GkDKEfRnvrT65fVeio/go-libp2p/p2p/protocol/identify"
16 - b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
16 kb "gx/ipfs/QmYe9YR9fibxCaExayDXUAN7eX7Q4N7jsMcPs8KgpGdiEV/go-libp2p-kbucket"
17 "gx/ipfs/Qma7H6RW8wRrfZpNSXwxYGcd1E149s42FpWNpDNieSVrnU/go-libp2p-peer"
18 ic "gx/ipfs/QmaPbCnUMBohSGo3KnxEa2bHqyJVVeEEcwtqJAYxerieBo/go-libp2p-crypto"
@@ -72,8 +71,9 @@ EXAMPLE:
71
72 var id peer.ID
73 if len(req.Arguments()) > 0 {
75 - id = peer.ID(b58.Decode(req.Arguments()[0]))
76 - if len(id) == 0 {
74 + var err error
75 + id, err = peer.IDB58Decode(req.Arguments()[0])
76 + if err != nil {
77 res.SetError(cmds.ClientError("Invalid peer id"), cmdkit.ErrClient)
78 return
79 }
core/core.go
+6 -2
@@ -59,7 +59,6 @@ import (
59 goprocess "gx/ipfs/QmSF8fPo3jgVBAy8fpdjjYqgG87dkJgUprRBHRd2tmfgpP/goprocess"
60 mamask "gx/ipfs/QmSMZwvs3n4GBikZ7hKzT17c3bk65FmyZo2JqtJ16swqCv/multiaddr-filter"
61 logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log"
62 - b58 "gx/ipfs/QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf/go-base58"
62 addrutil "gx/ipfs/QmUBVwiWc4Xv1U8qky2eZab7UqfJ1WFmCKVGjFfdDkxr8W/go-addr-util"
63 pnet "gx/ipfs/QmUvHSZFyrZSRDUKzfE2ASstVUKtSbUCK24TTkWK73iZfc/go-libp2p-pnet"
64 mssmux "gx/ipfs/QmVniQJkdzLZaZwzwMdd3dJTvWiJ1DQEkreVy6hs6h7Vk5/go-smux-multistream"
@@ -672,7 +671,12 @@ func (n *IpfsNode) loadID() error {
671 return errors.New("no peer ID in config! (was 'ipfs init' run?)")
672 }
673
675 - n.Identity = peer.ID(b58.Decode(cid))
674 + id, err := peer.IDB58Decode(cid)
675 + if err != nil {
676 + return fmt.Errorf("peer ID invalid: %s", err)
677 + }
678 +
679 + n.Identity = id
680 return nil
681 }
682
package.json
+6 -6
@@ -395,12 +395,6 @@
395 "name": "protobuf",
396 "version": "0.0.0"
397 },
398 - {
399 - "author": "whyrusleeping",
400 - "hash": "QmT8rehPR3F6bmwL6zjUN8XpiDBFFpMP2myPdC6ApsWfJf",
401 - "name": "go-base58",
402 - "version": "0.0.0"
403 - },
398 {
399 "author": "whyrusleeping",
400 "hash": "QmfCtHMCd9xFvehvHeVxtKVXJTMVTuHhyPRVHEXetn87vL",
@@ -515,6 +509,12 @@
509 "hash": "QmWBug6eBS7AxRdCDVuSY5CnSit7cS2XnPFYJWqWDumhCG",
510 "name": "go-msgio",
511 "version": "0.0.3"
512 + },
513 + {
514 + "author": "mr-tron",
515 + "hash": "QmWFAMPqsEyUX7gDUsRVmMWz59FxSpJ1b2v6bJ1yYzo7jY",
516 + "name": "go-base58-fast",
517 + "version": "0.1.1"
518 }
519 ],
520 "gxVersion": "0.10.0",