This commit is contained in:
D-Stacks 2022-06-25 17:42:50 +02:00
parent f13e4493fa
commit d7d3c72cf3
2 changed files with 10 additions and 11 deletions

View File

@ -99,11 +99,11 @@ func (s *server) CheckIfAddressesAreValid(_ context.Context, request *pb.CheckIf
areValidAddresses := make([]*pb.IsValidAddress, len(request.Addresses)) areValidAddresses := make([]*pb.IsValidAddress, len(request.Addresses))
for i, address := range request.Addresses { for i, address := range request.Addresses {
areValidAddresses[i] = &pb.IsValidAddress{ areValidAddresses[i] = &pb.IsValidAddress{
Address: address, Address: address,
IsValid: util.CheckIfAddressIsValid(address, s.params.Prefix), IsValid: util.CheckIfAddressIsValid(address, s.params.Prefix),
}
} }
}
return &pb.CheckIfAddressesAreValidResponse{ return &pb.CheckIfAddressesAreValidResponse{
AreValidAddresses: areValidAddresses, AreValidAddresses: areValidAddresses,
}, nil }, nil

View File

@ -5,9 +5,9 @@
package util package util
import ( import (
"github.com/kaspanet/kaspad/util/bech32"
"github.com/pkg/errors" "github.com/pkg/errors"
"golang.org/x/crypto/blake2b" "golang.org/x/crypto/blake2b"
"github.com/kaspanet/kaspad/util/bech32"
) )
var ( var (
@ -153,8 +153,7 @@ func DecodeAddress(addr string, expectedPrefix Bech32Prefix) (Address, error) {
} }
} }
// CheckIfAddressIsValid decodes the string encoding of an address and returns true
// CheckIfAddressIsValid decodes the string encoding of an address and returns true
// if addr is a valid encoding for a known address type else it returns false // if addr is a valid encoding for a known address type else it returns false
// //
// If any expectedPrefix except Bech32PrefixUnknown is passed, it is compared to the // If any expectedPrefix except Bech32PrefixUnknown is passed, it is compared to the
@ -169,17 +168,17 @@ func CheckIfAddressIsValid(addr string, expectedPrefix Bech32Prefix) bool {
if err != nil { if err != nil {
return false return false
} }
if expectedPrefix != Bech32PrefixUnknown && expectedPrefix != prefix { if expectedPrefix != Bech32PrefixUnknown && expectedPrefix != prefix {
return false return false
} }
if version != pubKeyAddrID { if version != pubKeyAddrID {
return false return false
} else if version != pubKeyECDSAAddrID { } else if version != pubKeyECDSAAddrID {
return false return false
} else if version != scriptHashAddrID { } else if version != scriptHashAddrID {
return false return false
} }
return true return true