Skip to content

Commit dc3e86c

Browse files
committed
- rebase with planetdecred#257(dcr package PR), restructure multiwallet to
hold mutiple assets, fix crash while creating a wallet
1 parent 861137d commit dc3e86c

15 files changed

Lines changed: 1925 additions & 427 deletions

btc.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package dcrlibwallet
2+
3+
import (
4+
// "context"
5+
// "fmt"
6+
"os"
7+
"path/filepath"
8+
9+
"decred.org/dcrwallet/v2/errors"
10+
11+
"github.com/asdine/storm"
12+
// "github.com/asdine/storm/q"
13+
14+
bolt "go.etcd.io/bbolt"
15+
16+
"github.com/planetdecred/dcrlibwallet/wallets/btc"
17+
)
18+
19+
func initializeBTCWallet(rootDir, dbDriver, netType string) (*storm.DB, string, error) {
20+
var btcDB *storm.DB
21+
22+
rootDir = filepath.Join(rootDir, netType, "btc")
23+
err := os.MkdirAll(rootDir, os.ModePerm)
24+
if err != nil {
25+
return btcDB, "", errors.Errorf("failed to create btc rootDir: %v", err)
26+
}
27+
28+
err = initLogRotator(filepath.Join(rootDir, logFileName))
29+
if err != nil {
30+
return btcDB, "", errors.Errorf("failed to init btc logRotator: %v", err.Error())
31+
}
32+
33+
btcDB, err = storm.Open(filepath.Join(rootDir, walletsDbName))
34+
if err != nil {
35+
log.Errorf("Error opening btc wallets database: %s", err.Error())
36+
if err == bolt.ErrTimeout {
37+
// timeout error occurs if storm fails to acquire a lock on the database file
38+
return btcDB, "", errors.E(ErrWalletDatabaseInUse)
39+
}
40+
return btcDB, "", errors.Errorf("error opening btc wallets database: %s", err.Error())
41+
}
42+
43+
// init database for saving/reading wallet objects
44+
err = btcDB.Init(&btc.Wallet{})
45+
if err != nil {
46+
log.Errorf("Error initializing btc wallets database: %s", err.Error())
47+
return btcDB, "", err
48+
}
49+
50+
return btcDB, rootDir, nil
51+
}

btcwallet.go

Lines changed: 0 additions & 193 deletions
This file was deleted.

go.mod

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@ module github.com/planetdecred/dcrlibwallet
33
require (
44
decred.org/dcrdex v0.4.1
55
decred.org/dcrwallet/v2 v2.0.2-0.20220505152146-ece5da349895
6-
github.com/DataDog/zstd v1.4.8 // indirect
76
github.com/asdine/storm v0.0.0-20190216191021-fe89819f6282
8-
github.com/companyzero/sntrup4591761 v0.0.0-20220309191932-9e0f3af2f07a // indirect
9-
github.com/dchest/siphash v1.2.3 // indirect
10-
github.com/decred/base58 v1.0.4 // indirect
7+
github.com/btcsuite/btcd v0.22.1
118
github.com/decred/dcrd/addrmgr/v2 v2.0.0
129
github.com/decred/dcrd/blockchain/stake/v4 v4.0.0
1310
github.com/decred/dcrd/chaincfg/chainhash v1.0.3
@@ -24,20 +21,15 @@ require (
2421
github.com/decred/politeia v1.3.1
2522
github.com/decred/slog v1.2.0
2623
github.com/dgraph-io/badger v1.6.2
27-
github.com/gorilla/websocket v1.5.0 // indirect
2824
github.com/jrick/logrotate v1.0.0
2925
github.com/kevinburke/nacl v0.0.0-20190829012316-f3ed23dbd7f8
3026
github.com/onsi/ginkgo v1.14.0
3127
github.com/onsi/gomega v1.10.1
32-
github.com/planetdecred/dcrlibwallet/btcwallet v0.0.0-00010101000000-000000000000
3328
github.com/planetdecred/dcrlibwallet/dexdcr v0.0.0-20220223161805-c736f970653d
29+
github.com/planetdecred/dcrlibwallet/wallets/btc v0.0.0-00010101000000-000000000000
3430
go.etcd.io/bbolt v1.3.6
3531
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f
36-
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 // indirect
3732
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
38-
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 // indirect
39-
golang.org/x/term v0.0.0-20220411215600-e5f449aeb171 // indirect
40-
google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 // indirect
4133
)
4234

4335
// Older versions of github.com/lib/pq are required by politeia (v1.9.0)
@@ -46,7 +38,7 @@ require (
4638
// of those projects update their github.com/lib/pq dependency.
4739
replace (
4840
github.com/lib/pq => github.com/lib/pq v1.10.4
49-
github.com/planetdecred/dcrlibwallet/btcwallet => ./btcwallet // TODO: testing purpose, will remove when have new version
41+
github.com/planetdecred/dcrlibwallet/wallets/btc => ./wallets/btc // TODO: testing purpose, will remove when have new version
5042
)
5143

5244
go 1.16

go.sum

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,16 @@ github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13P
140140
github.com/btcsuite/btcd v0.21.0-beta.0.20201208033208-6bd4c64a54fa/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs=
141141
github.com/btcsuite/btcd v0.21.0-beta.0.20210426180113-7eba688b65e5/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA=
142142
github.com/btcsuite/btcd v0.22.0-beta.0.20210803133449-f5a1fb9965e4/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA=
143-
github.com/btcsuite/btcd v0.22.0-beta.0.20211026140004-31791ba4dc6e h1:d0NkvbJGQThTkhypOdtf5Orxe2+dUHLB86pQ4EXwrTo=
144143
github.com/btcsuite/btcd v0.22.0-beta.0.20211026140004-31791ba4dc6e/go.mod h1:3PH+KbvLFfzBTCevQenPiDedjGQGt6aa70dVjJDWGTA=
144+
github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M=
145+
github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c=
146+
github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y=
147+
github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE=
148+
github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A=
149+
github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34=
150+
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
151+
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
152+
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc=
145153
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo=
146154
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
147155
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
@@ -696,6 +704,7 @@ github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M
696704
github.com/jessevdk/go-flags v0.0.0-20181221193153-c0795c8afcf4/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
697705
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
698706
github.com/jessevdk/go-flags v1.4.1-0.20200711081900-c17162fe8fd7/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
707+
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
699708
github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4=
700709
github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZT/Qs=
701710
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
@@ -891,6 +900,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
891900
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
892901
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
893902
github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ=
903+
github.com/planetdecred/dcrlibwallet v1.7.0/go.mod h1:QTADevJvo+ugI0LZkwVVwCMiqtVf/W0DKlODTYwbnCs=
894904
github.com/planetdecred/dcrlibwallet/dexdcr v0.0.0-20220223161805-c736f970653d h1:egC6nx+qP3QMwKQhA+JdJReKV9NhG17Ag+3oCVCsj3c=
895905
github.com/planetdecred/dcrlibwallet/dexdcr v0.0.0-20220223161805-c736f970653d/go.mod h1:jO4RP2rgqom8CLgl3rMwZ4cGzmalJqBkKjHgVS812lM=
896906
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -1239,6 +1249,7 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w
12391249
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
12401250
golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
12411251
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
1252+
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
12421253
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
12431254
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
12441255
golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

0 commit comments

Comments
 (0)