diff --git a/src/hz.erl b/src/hz.erl index 3218f56..a4ea18a 100644 --- a/src/hz.erl +++ b/src/hz.erl @@ -1708,7 +1708,7 @@ spend(SenderID, Nonce, Payload, NetworkID) -> - case decode_account_id(unicode:characters_to_binary(SenderID)) of + case gmser_api_encoder:safe_decode(account_pubkey, unicode:characters_to_binary(SenderID)) of {ok, DSenderID} -> spend2(gmser_id:create(account, DSenderID), SecKey, @@ -1752,11 +1752,10 @@ spend2(DSenderID, decode_account_id(B) -> - try - {account_pubkey, PK} = gmser_api_encoder:decode(B), - {ok, PK} - catch - E:R -> {E, R} + case gmser_api_encoder:safe_decode(account_pubkey, B) of + {ok, PK} -> {ok, PK}; + {error, invalid_prefix} -> gmser_api_encoder:safe_decode(contract_pubkey, B); + Error -> Error end.