Skip to content

Commit 69f1161

Browse files
authored
Upgrade slip44 codes using go-primitives (#32)
* add usage of go-primitives * fix readme
1 parent c73bd50 commit 69f1161

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+251
-214
lines changed

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,43 +70,43 @@ import (
7070
"fmt"
7171

7272
cc "github.com/trustwallet/ens-coincodec"
73-
slip44 "github.com/wealdtech/go-slip44"
73+
"github.com/trustwallet/go-primitives"
7474
)
7575

7676
func main() {
7777
// Ethereum
78-
bytes, err := cc.ToBytes("0x314159265dD8dbb310642f98f50C066173C1259b", slip44.ETHER)
78+
bytes, err := cc.ToBytes("0x314159265dD8dbb310642f98f50C066173C1259b", coin.ETHEREUM)
7979
// hex: 314159265dd8dbb310642f98f50c066173c1259b
8080
if err != nil {
8181
panic(err)
8282
}
83-
str, err := cc.ToString(bytes, slip44.ETHER)
83+
str, err := cc.ToString(bytes, coin.ETHEREUM)
8484
if err != nil {
8585
panic(err)
8686
}
8787

8888
fmt.Printf("Ethereum: %s\n", str)
8989

9090
// Bitcoin
91-
bytes, err = cc.ToBytes("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", slip44.BITCOIN)
91+
bytes, err = cc.ToBytes("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4", coin.BITCOIN)
9292
// script hash: 0014751e76e8199196d454941c45d1b3a323f1433bd6
9393
if err != nil {
9494
panic(err)
9595
}
96-
str, err = cc.ToString(bytes, slip44.BITCOIN)
96+
str, err = cc.ToString(bytes, coin.BITCOIN)
9797
if err != nil {
9898
panic(err)
9999
}
100100

101101
fmt.Printf("Bitcoin: %s\n", str)
102102

103103
// BNB
104-
bytes, err = cc.ToBytes("bnb1grpf0955h0ykzq3ar5nmum7y6gdfl6lxfn46h2", slip44.BINANCE)
104+
bytes, err = cc.ToBytes("bnb1grpf0955h0ykzq3ar5nmum7y6gdfl6lxfn46h2", coin.BINANCE)
105105
// public key hash: 40c2979694bbc961023d1d27be6fc4d21a9febe6
106106
if err != nil {
107107
panic(err)
108108
}
109-
str, err = cc.ToString(bytes, slip44.BINANCE)
109+
str, err = cc.ToString(bytes, coin.BINANCE)
110110
if err != nil {
111111
panic(err)
112112
}

bitcoin.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import (
44
"bytes"
55

66
"github.com/pkg/errors"
7+
"github.com/trustwallet/go-primitives/coin"
78

89
"github.com/btcsuite/btcutil/bech32"
9-
"github.com/wealdtech/go-slip44"
1010
)
1111

1212
// CoinConfig for Bitcoin and its forks
@@ -36,8 +36,8 @@ var (
3636
)
3737

3838
func init() {
39-
toBytesMap[slip44.BITCOIN] = BitcoinDecodeToBytes
40-
toStringMap[slip44.BITCOIN] = BitcoinEncodeToString
39+
toBytesMap[coin.BITCOIN] = BitcoinDecodeToBytes
40+
toStringMap[coin.BITCOIN] = BitcoinEncodeToString
4141
}
4242

4343
// BitcoinDecodeToBytes converts the input string to a byte array

bitcoin_cash.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@ import (
55
"fmt"
66

77
"github.com/pkg/errors"
8+
"github.com/trustwallet/go-primitives/coin"
89

910
"github.com/cpacia/bchutil"
10-
"github.com/wealdtech/go-slip44"
1111
)
1212

1313
const (
1414
hrpBCH = "bitcoincash"
1515
)
1616

1717
func init() {
18-
toBytesMap[slip44.BITCOIN_CASH] = BitcoinCashDecodeToBytes
19-
toStringMap[slip44.BITCOIN_CASH] = BitcoinCashEncodeToString
18+
toBytesMap[coin.BITCOINCASH] = BitcoinCashDecodeToBytes
19+
toStringMap[coin.BITCOINCASH] = BitcoinCashEncodeToString
2020
}
2121

2222
// BitcoinCashDecodeToBytes converts the input string to a byte array

bitcoin_cash_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import (
44
"testing"
55

66
"github.com/pkg/errors"
7-
"github.com/wealdtech/go-slip44"
7+
"github.com/trustwallet/go-primitives/coin"
88
)
99

1010
func TestBitcoinCashEncodeToBytes(t *testing.T) {
11-
tests := []TestcaseEncode {
11+
tests := []TestcaseEncode{
1212
{
1313
name: "P2PKH",
1414
input: "1BpEi6DfDAUFd7GtittLSdBeYJvcoaVggu",
@@ -41,14 +41,14 @@ func TestBitcoinCashEncodeToBytes(t *testing.T) {
4141
},
4242
}
4343

44-
RunTestsEncode(t, slip44.BITCOIN_CASH, tests)
44+
RunTestsEncode(t, coin.BITCOINCASH, tests)
4545
}
4646

4747
func TestBitcoinCashDecodeToString(t *testing.T) {
4848
script1 := "76a914cb481232299cd5743151ac4b2d63ae198e7bb0a988ac"
4949
script2 := "a914cb481232299cd5743151ac4b2d63ae198e7bb0a987"
5050

51-
tests := []TestcaseDecode {
51+
tests := []TestcaseDecode{
5252
{
5353
name: "Empty",
5454
input: "",
@@ -71,5 +71,5 @@ func TestBitcoinCashDecodeToString(t *testing.T) {
7171
},
7272
}
7373

74-
RunTestsDecode(t, slip44.BITCOIN_CASH, tests)
74+
RunTestsDecode(t, coin.BITCOINCASH, tests)
7575
}

bitcoin_forks.go

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package coincodec
22

3-
import "github.com/wealdtech/go-slip44"
3+
import (
4+
"github.com/trustwallet/go-primitives/coin"
5+
)
46

57
const (
68
ZCashStaticPrefixByte = 0x1C // 28
@@ -28,42 +30,42 @@ var (
2830

2931
func init() {
3032
// LTC
31-
toBytesMap[slip44.LITECOIN] = MakeBitcoinDecodeToBytes(&configLTC)
32-
toStringMap[slip44.LITECOIN] = MakeBitcoinEncodeToString(&configLTC)
33+
toBytesMap[coin.LITECOIN] = MakeBitcoinDecodeToBytes(&configLTC)
34+
toStringMap[coin.LITECOIN] = MakeBitcoinEncodeToString(&configLTC)
3335

3436
// DOGE
35-
toBytesMap[slip44.DOGECOIN] = MakeBitcoinDecodeToBytes(&configDOGE)
36-
toStringMap[slip44.DOGECOIN] = MakeBitcoinEncodeToString(&configDOGE)
37+
toBytesMap[coin.DOGE] = MakeBitcoinDecodeToBytes(&configDOGE)
38+
toStringMap[coin.DOGE] = MakeBitcoinEncodeToString(&configDOGE)
3739

3840
// DASH
39-
toBytesMap[slip44.DASH] = MakeBitcoinDecodeToBytes(&configDASH)
40-
toStringMap[slip44.DASH] = MakeBitcoinEncodeToString(&configDASH)
41+
toBytesMap[coin.DASH] = MakeBitcoinDecodeToBytes(&configDASH)
42+
toStringMap[coin.DASH] = MakeBitcoinEncodeToString(&configDASH)
4143

4244
// VIA
43-
toBytesMap[slip44.VIACOIN] = MakeBitcoinDecodeToBytes(&configVIA)
44-
toStringMap[slip44.VIACOIN] = MakeBitcoinEncodeToString(&configVIA)
45+
toBytesMap[coin.VIACOIN] = MakeBitcoinDecodeToBytes(&configVIA)
46+
toStringMap[coin.VIACOIN] = MakeBitcoinEncodeToString(&configVIA)
4547

4648
// DGB
47-
toBytesMap[slip44.DIGIBYTE] = MakeBitcoinDecodeToBytes(&configDGB)
48-
toStringMap[slip44.DIGIBYTE] = MakeBitcoinEncodeToString(&configDGB)
49+
toBytesMap[coin.DIGIBYTE] = MakeBitcoinDecodeToBytes(&configDGB)
50+
toStringMap[coin.DIGIBYTE] = MakeBitcoinEncodeToString(&configDGB)
4951

5052
// MONA
51-
toBytesMap[slip44.MONACOIN] = MakeBitcoinDecodeToBytes(&configMONA)
52-
toStringMap[slip44.MONACOIN] = MakeBitcoinEncodeToString(&configMONA)
53+
toBytesMap[coin.MONACOIN] = MakeBitcoinDecodeToBytes(&configMONA)
54+
toStringMap[coin.MONACOIN] = MakeBitcoinEncodeToString(&configMONA)
5355

5456
// XZC
55-
toBytesMap[slip44.ZCOIN] = MakeBitcoinDecodeToBytes(&configXZC)
56-
toStringMap[slip44.ZCOIN] = MakeBitcoinEncodeToString(&configXZC)
57+
toBytesMap[coin.FIRO] = MakeBitcoinDecodeToBytes(&configXZC)
58+
toStringMap[coin.FIRO] = MakeBitcoinEncodeToString(&configXZC)
5759

5860
// RVN
59-
toBytesMap[slip44.RAVENCOIN] = MakeBitcoinDecodeToBytes(&configRVN)
60-
toStringMap[slip44.RAVENCOIN] = MakeBitcoinEncodeToString(&configRVN)
61+
toBytesMap[coin.RAVENCOIN] = MakeBitcoinDecodeToBytes(&configRVN)
62+
toStringMap[coin.RAVENCOIN] = MakeBitcoinEncodeToString(&configRVN)
6163

6264
// QTUM
63-
toBytesMap[slip44.QTUM] = MakeBitcoinDecodeToBytes(&configQTUM)
64-
toStringMap[slip44.QTUM] = MakeBitcoinEncodeToString(&configQTUM)
65+
toBytesMap[coin.QTUM] = MakeBitcoinDecodeToBytes(&configQTUM)
66+
toStringMap[coin.QTUM] = MakeBitcoinEncodeToString(&configQTUM)
6567

6668
// ZCASH
67-
toBytesMap[slip44.ZCASH] = MakeBitcoinDecodeToBytes(&configZCASH)
68-
toStringMap[slip44.ZCASH] = MakeBitcoinEncodeToString(&configZCASH)
69+
toBytesMap[coin.ZCASH] = MakeBitcoinDecodeToBytes(&configZCASH)
70+
toStringMap[coin.ZCASH] = MakeBitcoinEncodeToString(&configZCASH)
6971
}

0 commit comments

Comments
 (0)