2017-09-12 18:02:30 +02:00
|
|
|
package address
|
|
|
|
|
|
|
|
import (
|
2019-04-07 06:29:12 +02:00
|
|
|
"github.com/lbryio/lbry.go/extras/errors"
|
2018-02-15 20:51:51 +01:00
|
|
|
"github.com/lbryio/lbryschema.go/address/base58"
|
2017-09-12 18:02:30 +02:00
|
|
|
)
|
|
|
|
|
2018-02-15 20:51:51 +01:00
|
|
|
func DecodeAddress(address string, blockchainName string) ([addressLength]byte, error) {
|
|
|
|
decoded, err := base58.DecodeBase58(address, addressLength)
|
2017-09-12 18:02:30 +02:00
|
|
|
if err != nil {
|
2019-04-07 06:29:12 +02:00
|
|
|
return [addressLength]byte{}, errors.Err("failed to decode")
|
2017-09-12 18:02:30 +02:00
|
|
|
}
|
2018-02-15 20:51:51 +01:00
|
|
|
buf := [addressLength]byte{}
|
2017-09-12 18:02:30 +02:00
|
|
|
for i, b := range decoded {
|
|
|
|
buf[i] = b
|
|
|
|
}
|
2017-11-27 16:24:10 +01:00
|
|
|
|
2017-11-20 19:44:19 +01:00
|
|
|
return ValidateAddress(buf, blockchainName)
|
2017-09-12 18:02:30 +02:00
|
|
|
}
|