Fix incorrect registration of network params in unobtanium and viacoin
This commit is contained in:
parent
dfafd780dc
commit
c45312edf1
@ -46,6 +46,12 @@ func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
|
|||||||
want: "76a914efb6158f75743c611858fdfd0f4aaec6cc6196bc88ac",
|
want: "76a914efb6158f75743c611858fdfd0f4aaec6cc6196bc88ac",
|
||||||
wantErr: false,
|
wantErr: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "P2PKH3",
|
||||||
|
args: args{address: "DHobAps6DjZ5n4xMV75n7kJv299Zi85FCG"},
|
||||||
|
want: "76a9148ae937291e72f7368421dbaa966c44950eb14db788ac",
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "P2SH1",
|
name: "P2SH1",
|
||||||
args: args{address: "9tg1kVUk339Tk58ewu5T8QT82Z6cE4UvSU"},
|
args: args{address: "9tg1kVUk339Tk58ewu5T8QT82Z6cE4UvSU"},
|
||||||
@ -76,6 +82,81 @@ func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test_GetAddressesFromAddrDesc_Mainnet(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
script string
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args args
|
||||||
|
want []string
|
||||||
|
want2 bool
|
||||||
|
wantErr bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "P2PKH1",
|
||||||
|
args: args{script: "76a9148841590909747c0f97af158f22fadacb1652522088ac"},
|
||||||
|
want: []string{"DHZYinsaM9nW5piCMN639ELRKbZomThPnZ"},
|
||||||
|
want2: true,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "P2PKH2",
|
||||||
|
args: args{script: "76a914efb6158f75743c611858fdfd0f4aaec6cc6196bc88ac"},
|
||||||
|
want: []string{"DSzaAYEYyy9ngjoJ294r7jzFM3xhD6bKHK"},
|
||||||
|
want2: true,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "P2PKH3",
|
||||||
|
args: args{script: "76a91450e86eeac599ad023b8981296d01b50bdabcdd9788ac"},
|
||||||
|
want: []string{"DCWu3MLz9xBGFuuLyNDf6QjuGp49f5tfc9"},
|
||||||
|
want2: true,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "P2SH1",
|
||||||
|
args: args{script: "a9141889a089400ea25d28694fd98aa7702b21eeeab187"},
|
||||||
|
want: []string{"9tg1kVUk339Tk58ewu5T8QT82Z6cE4UvSU"},
|
||||||
|
want2: true,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OP_RETURN ascii",
|
||||||
|
args: args{script: "6a0461686f6a"},
|
||||||
|
want: []string{"OP_RETURN (ahoj)"},
|
||||||
|
want2: false,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "OP_RETURN hex",
|
||||||
|
args: args{script: "6a072020f1686f6a20"},
|
||||||
|
want: []string{"OP_RETURN 2020f1686f6a20"},
|
||||||
|
want2: false,
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
parser := NewDogecoinParser(GetChainParams("main"), &btc.Configuration{})
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
b, _ := hex.DecodeString(tt.args.script)
|
||||||
|
got, got2, err := parser.GetAddressesFromAddrDesc(b)
|
||||||
|
if (err != nil) != tt.wantErr {
|
||||||
|
t.Errorf("GetAddressesFromAddrDesc() error = %v, wantErr %v", err, tt.wantErr)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(got, tt.want) {
|
||||||
|
t.Errorf("GetAddressesFromAddrDesc() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(got2, tt.want2) {
|
||||||
|
t.Errorf("GetAddressesFromAddrDesc() = %v, want %v", got2, tt.want2)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
testTx1 bchain.Tx
|
testTx1 bchain.Tx
|
||||||
testTxPacked1 = "00030e6d8ba8d7aa2001000000016b3c0c53267964120acf7f7e72217e3f463e52ce622f89659f6a6bb8e69a4d91000000006c493046022100a96454237e3a020994534583e28c04757881374bceac89f933ea9ff00b4db259022100fbb757ff7ea4f02c4e42556b2834c61eba1f1af605db089d836a0614d90a3b46012103cebdde6d1046e285df4f48497bc50dc20a4a258ca5b7308cb0a929c9fdadcd9dffffffff0217e823ca7f0200001976a914eef21768a546590993e313c7f3dfadf6a6efa1e888acaddf4cba010000001976a914e0fee2ea29dd9c6c759d8341bd0da4c4f738cced88ac00000000"
|
testTxPacked1 = "00030e6d8ba8d7aa2001000000016b3c0c53267964120acf7f7e72217e3f463e52ce622f89659f6a6bb8e69a4d91000000006c493046022100a96454237e3a020994534583e28c04757881374bceac89f933ea9ff00b4db259022100fbb757ff7ea4f02c4e42556b2834c61eba1f1af605db089d836a0614d90a3b46012103cebdde6d1046e285df4f48497bc50dc20a4a258ca5b7308cb0a929c9fdadcd9dffffffff0217e823ca7f0200001976a914eef21768a546590993e313c7f3dfadf6a6efa1e888acaddf4cba010000001976a914e0fee2ea29dd9c6c759d8341bd0da4c4f738cced88ac00000000"
|
||||||
|
|||||||
@ -27,11 +27,6 @@ func init() {
|
|||||||
// Mainnet address encoding magics
|
// Mainnet address encoding magics
|
||||||
MainNetParams.PubKeyHashAddrID = []byte{130}
|
MainNetParams.PubKeyHashAddrID = []byte{130}
|
||||||
MainNetParams.ScriptHashAddrID = []byte{30}
|
MainNetParams.ScriptHashAddrID = []byte{30}
|
||||||
|
|
||||||
err := chaincfg.Register(&MainNetParams)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnobtaniumParser handle
|
// UnobtaniumParser handle
|
||||||
@ -44,7 +39,14 @@ func NewUnobtaniumParser(params *chaincfg.Params, c *btc.Configuration) *Unobtan
|
|||||||
return &UnobtaniumParser{BitcoinParser: btc.NewBitcoinParser(params, c)}
|
return &UnobtaniumParser{BitcoinParser: btc.NewBitcoinParser(params, c)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetChainParams returns network parameters
|
||||||
func GetChainParams(chain string) *chaincfg.Params {
|
func GetChainParams(chain string) *chaincfg.Params {
|
||||||
|
if !chaincfg.IsRegistered(&MainNetParams) {
|
||||||
|
err := chaincfg.Register(&MainNetParams)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
switch chain {
|
switch chain {
|
||||||
default:
|
default:
|
||||||
return &MainNetParams
|
return &MainNetParams
|
||||||
|
|||||||
@ -38,14 +38,6 @@ func init() {
|
|||||||
RegtestParams.PubKeyHashAddrID = []byte{111} // base58 prefix: m or n
|
RegtestParams.PubKeyHashAddrID = []byte{111} // base58 prefix: m or n
|
||||||
RegtestParams.ScriptHashAddrID = []byte{196} // base58 prefix: 2
|
RegtestParams.ScriptHashAddrID = []byte{196} // base58 prefix: 2
|
||||||
RegtestParams.Bech32HRPSegwit = "tvia"
|
RegtestParams.Bech32HRPSegwit = "tvia"
|
||||||
|
|
||||||
err := chaincfg.Register(&MainNetParams)
|
|
||||||
if err == nil {
|
|
||||||
err = chaincfg.Register(&RegtestParams)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ViacoinParser handle
|
// ViacoinParser handle
|
||||||
@ -58,7 +50,18 @@ func NewViacoinParser(params *chaincfg.Params, c *btc.Configuration) *ViacoinPar
|
|||||||
return &ViacoinParser{BitcoinParser: btc.NewBitcoinParser(params, c)}
|
return &ViacoinParser{BitcoinParser: btc.NewBitcoinParser(params, c)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetChainParams returns network parameters
|
||||||
func GetChainParams(chain string) *chaincfg.Params {
|
func GetChainParams(chain string) *chaincfg.Params {
|
||||||
|
if !chaincfg.IsRegistered(&MainNetParams) {
|
||||||
|
err := chaincfg.Register(&MainNetParams)
|
||||||
|
if err == nil {
|
||||||
|
err = chaincfg.Register(&RegtestParams)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch chain {
|
switch chain {
|
||||||
case "regtest":
|
case "regtest":
|
||||||
return &RegtestParams
|
return &RegtestParams
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user