Fix litecoin address parsing issue #254
This commit is contained in:
parent
f4501e7e1f
commit
262ca3e2e4
2
Gopkg.lock
generated
2
Gopkg.lock
generated
@ -145,7 +145,7 @@
|
||||
branch = "master"
|
||||
name = "github.com/martinboehm/btcutil"
|
||||
packages = [".","base58","bech32","chaincfg","hdkeychain","txscript"]
|
||||
revision = "48696086722394cad05afcd42d3793061337008a"
|
||||
revision = "a3d2b8457b77d37c3813742d4030e199b6e09111"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
||||
@ -100,6 +100,18 @@ func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
|
||||
want: "76a914feda50542e61108cf53b93dbffa0959f91ccb32588ac",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2PKH3 - bech32 prefix",
|
||||
args: args{address: "LTC1eqUzePT9uvpvb413Ejd6P8Cx1Ei8Di"},
|
||||
want: "76a91457630115300a625f5deaab64100faa5506c1422f88ac",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2PKH4 - bech32 prefix",
|
||||
args: args{address: "LTC1f9gtb7bU6B4VjHXvPGDi8ACNZhkKPo"},
|
||||
want: "76a9145763023d3f02509644dacbfc45f2c9102129749788ac",
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2SH1",
|
||||
args: args{address: "MLTQ8niHMnpJLNvK72zBeY91hQmUtoo8nX"},
|
||||
@ -142,6 +154,73 @@ func Test_GetAddrDescFromAddress_Mainnet(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetAddressesFromAddrDesc_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: "76a914feda50542e61108cf53b93dbffa0959f91ccb32588ac"},
|
||||
want: []string{"LiTVReQ6N8rWc2pNg2XMwCWq7A9P15teWg"},
|
||||
want2: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2PKH2",
|
||||
args: args{script: "76A9145763023D3F02509644DACBFC45F2C9102129749788AC"},
|
||||
want: []string{"LTC1f9gtb7bU6B4VjHXvPGDi8ACNZhkKPo"},
|
||||
want2: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "P2SH1",
|
||||
args: args{script: "a9141c6fbaf46d64221e80cbae182c33ddf81b9294ac87"},
|
||||
want: []string{"MAVWzxXm8KGkZTesqLtqywzrvbs96FEoKy"},
|
||||
want2: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "witness_v0_keyhash",
|
||||
args: args{script: "0014a2516e770582864a6a56ed21a102044e388c62e3"},
|
||||
want: []string{"ltc1q5fgkuac9s2ry56jka5s6zqsyfcugcchrqgz2yl"},
|
||||
want2: true,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "witness_v0_scripthashx",
|
||||
args: args{script: "0020e15a86a23178f433d514dbbce042e87d72662b8b5edcacfd2e37ab7a2d135f05"},
|
||||
want: []string{"ltc1qu9dgdg330r6r84g5mw7wqshg04exv2uttmw2elfwx74h5tgntuzsk3x5nd"},
|
||||
want2: true,
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
parser := NewLitecoinParser(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 (
|
||||
testTx1 bchain.Tx
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user