github.com/decred/dcrlnd@v0.7.6/channeldb/wallet.go (about) 1 package channeldb 2 3 import ( 4 "github.com/decred/dcrlnd/kvdb" 5 ) 6 7 const accountDiscoveryDisabled byte = 1 8 9 var ( 10 walletBucket = []byte("wallet") 11 disableDiscoverAcctBucket = []byte("discoverAccounts") 12 ) 13 14 func (d *DB) AccountDiscoveryDisabled() (bool, error) { 15 var res bool 16 err := kvdb.Update(d, func(tx kvdb.RwTx) error { 17 wallet, err := tx.CreateTopLevelBucket(walletBucket) 18 if err != nil { 19 return err 20 } 21 22 disableDiscoverAcct := wallet.Get(disableDiscoverAcctBucket) 23 if len(disableDiscoverAcct) == 0 { 24 return nil 25 } 26 27 res = disableDiscoverAcct[0] == accountDiscoveryDisabled 28 return nil 29 }, func() { res = false }) 30 return res, err 31 } 32 33 func (d *DB) DisableAccountDiscovery() error { 34 return kvdb.Update(d, func(tx kvdb.RwTx) error { 35 wallet, err := tx.CreateTopLevelBucket(walletBucket) 36 if err != nil { 37 return err 38 } 39 40 v := []byte{accountDiscoveryDisabled} 41 wallet.Put(disableDiscoverAcctBucket, v) 42 return nil 43 }, func() {}) 44 }