Merge PR #6907: Return error when the address is an empty string
This commit is contained in:
parent
801b64868d
commit
f11d0520c2
|
@ -119,7 +119,7 @@ func VerifyAddressFormat(bz []byte) error {
|
||||||
// AccAddressFromBech32 creates an AccAddress from a Bech32 string.
|
// AccAddressFromBech32 creates an AccAddress from a Bech32 string.
|
||||||
func AccAddressFromBech32(address string) (addr AccAddress, err error) {
|
func AccAddressFromBech32(address string) (addr AccAddress, err error) {
|
||||||
if len(strings.TrimSpace(address)) == 0 {
|
if len(strings.TrimSpace(address)) == 0 {
|
||||||
return AccAddress{}, nil
|
return AccAddress{}, errors.New("empty address string is not allowed")
|
||||||
}
|
}
|
||||||
|
|
||||||
bech32PrefixAccAddr := GetConfig().GetBech32AccountAddrPrefix()
|
bech32PrefixAccAddr := GetConfig().GetBech32AccountAddrPrefix()
|
||||||
|
@ -186,6 +186,10 @@ func (aa *AccAddress) UnmarshalJSON(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*aa = AccAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
aa2, err := AccAddressFromBech32(s)
|
aa2, err := AccAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -203,6 +207,10 @@ func (aa *AccAddress) UnmarshalYAML(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*aa = AccAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
aa2, err := AccAddressFromBech32(s)
|
aa2, err := AccAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -264,7 +272,7 @@ func ValAddressFromHex(address string) (addr ValAddress, err error) {
|
||||||
// ValAddressFromBech32 creates a ValAddress from a Bech32 string.
|
// ValAddressFromBech32 creates a ValAddress from a Bech32 string.
|
||||||
func ValAddressFromBech32(address string) (addr ValAddress, err error) {
|
func ValAddressFromBech32(address string) (addr ValAddress, err error) {
|
||||||
if len(strings.TrimSpace(address)) == 0 {
|
if len(strings.TrimSpace(address)) == 0 {
|
||||||
return ValAddress{}, nil
|
return ValAddress{}, errors.New("empty address string is not allowed")
|
||||||
}
|
}
|
||||||
|
|
||||||
bech32PrefixValAddr := GetConfig().GetBech32ValidatorAddrPrefix()
|
bech32PrefixValAddr := GetConfig().GetBech32ValidatorAddrPrefix()
|
||||||
|
@ -332,6 +340,10 @@ func (va *ValAddress) UnmarshalJSON(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*va = ValAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
va2, err := ValAddressFromBech32(s)
|
va2, err := ValAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -350,6 +362,10 @@ func (va *ValAddress) UnmarshalYAML(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*va = ValAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
va2, err := ValAddressFromBech32(s)
|
va2, err := ValAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -411,7 +427,7 @@ func ConsAddressFromHex(address string) (addr ConsAddress, err error) {
|
||||||
// ConsAddressFromBech32 creates a ConsAddress from a Bech32 string.
|
// ConsAddressFromBech32 creates a ConsAddress from a Bech32 string.
|
||||||
func ConsAddressFromBech32(address string) (addr ConsAddress, err error) {
|
func ConsAddressFromBech32(address string) (addr ConsAddress, err error) {
|
||||||
if len(strings.TrimSpace(address)) == 0 {
|
if len(strings.TrimSpace(address)) == 0 {
|
||||||
return ConsAddress{}, nil
|
return ConsAddress{}, errors.New("empty address string is not allowed")
|
||||||
}
|
}
|
||||||
|
|
||||||
bech32PrefixConsAddr := GetConfig().GetBech32ConsensusAddrPrefix()
|
bech32PrefixConsAddr := GetConfig().GetBech32ConsensusAddrPrefix()
|
||||||
|
@ -484,6 +500,10 @@ func (ca *ConsAddress) UnmarshalJSON(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*ca = ConsAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
ca2, err := ConsAddressFromBech32(s)
|
ca2, err := ConsAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -502,6 +522,10 @@ func (ca *ConsAddress) UnmarshalYAML(data []byte) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if s == "" {
|
||||||
|
*ca = ConsAddress{}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
ca2, err := ConsAddressFromBech32(s)
|
ca2, err := ConsAddressFromBech32(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -46,15 +46,15 @@ func TestEmptyAddresses(t *testing.T) {
|
||||||
|
|
||||||
accAddr, err := types.AccAddressFromBech32("")
|
accAddr, err := types.AccAddressFromBech32("")
|
||||||
require.True(t, accAddr.Empty())
|
require.True(t, accAddr.Empty())
|
||||||
require.Nil(t, err)
|
require.Error(t, err)
|
||||||
|
|
||||||
valAddr, err := types.ValAddressFromBech32("")
|
valAddr, err := types.ValAddressFromBech32("")
|
||||||
require.True(t, valAddr.Empty())
|
require.True(t, valAddr.Empty())
|
||||||
require.Nil(t, err)
|
require.Error(t, err)
|
||||||
|
|
||||||
consAddr, err := types.ConsAddressFromBech32("")
|
consAddr, err := types.ConsAddressFromBech32("")
|
||||||
require.True(t, consAddr.Empty())
|
require.True(t, consAddr.Empty())
|
||||||
require.Nil(t, err)
|
require.Error(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRandBech32PubkeyConsistency(t *testing.T) {
|
func TestRandBech32PubkeyConsistency(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue