decred.org/dcrdex@v1.0.5/tatanka/db/peers.go (about) 1 // This code is available on the terms of the project LICENSE.md file, 2 // also available online at https://blueoakcouncil.org/license/1.0.0. 3 4 package db 5 6 import ( 7 "fmt" 8 9 "decred.org/dcrdex/dex" 10 "decred.org/dcrdex/tatanka/tanka" 11 "github.com/decred/dcrd/dcrec/secp256k1/v4" 12 ) 13 14 const ( 15 ErrNotFound = dex.ErrorKind("not found") 16 ) 17 18 // func (d *DB) StorePeer(p *tanka.Peer) error { 19 // k := p.PubKey.SerializeCompressed() 20 // return d.peerDB.Store(k, newJSON(p)) 21 // } 22 23 func (d *DB) GetPeer(peerID tanka.PeerID) (_ *tanka.Peer, err error) { 24 p := &tanka.Peer{ 25 ID: peerID, 26 } 27 // if found, err := d.peerDB.Get(peerID[:], newJSON(p)); err != nil { 28 // return nil, fmt.Errorf("Get error: %w", err) 29 // } else if !found { 30 // return nil, ErrNotFound 31 // } 32 33 p.ID = peerID 34 if p.PubKey, err = secp256k1.ParsePubKey(peerID[:]); err != nil { 35 return nil, fmt.Errorf("ParsePubKey error: %w", err) 36 } 37 38 if p.Bonds, err = d.GetBonds(peerID); err != nil { 39 return nil, fmt.Errorf("GetBonds error: %w", err) 40 } 41 42 if p.Reputation, err = d.Reputation(peerID); err != nil { 43 return nil, fmt.Errorf("error getting Reputation: %w", err) 44 } 45 46 return p, nil 47 }