diff --git a/bitcoinetl/mappers/transaction_output_mapper.py b/bitcoinetl/mappers/transaction_output_mapper.py index cb0e1ce..edd0361 100644 --- a/bitcoinetl/mappers/transaction_output_mapper.py +++ b/bitcoinetl/mappers/transaction_output_mapper.py @@ -49,10 +49,12 @@ def json_dict_to_output(self, json_dict, create_transaction_id=None): output.required_signatures = script_pub_key.get('reqSigs') output.type = script_pub_key.get('type') #output.addresses = script_pub_key.get('addresses') - if script_pub_key.get('address') is None: - output.addresses = [] + if script_pub_key.get('addresses') is not None and len(script_pub_key.get('addresses')) > 0: + output.addresses = script_pub_key.get('addresses') + elif script_pub_key.get('address') is None: + output.addresses = [] else: - output.addresses = [script_pub_key.get('address')] + output.addresses = [script_pub_key.get('address')] return output diff --git a/bitcoinetl/service/btc_service.py b/bitcoinetl/service/btc_service.py index a72d1ca..fca484c 100644 --- a/bitcoinetl/service/btc_service.py +++ b/bitcoinetl/service/btc_service.py @@ -179,8 +179,8 @@ def _add_non_standard_addresses(self, transaction): for output in transaction.outputs: if output.addresses is None or len(output.addresses) == 0: # output.type = 'nonstandard' - if output.type != 'multisig': - output.type = 'nonstandard' + # if output.type != 'multisig': + output.type = 'nonstandard' output.addresses = [script_hex_to_non_standard_address(output.script_hex)] def _add_shielded_inputs_and_outputs(self, transaction):