in resdb_driver/transaction.py [0:0]
def _inputs_valid(self, output_condition_uris):
"""!Validates an Input against a given set of Outputs.
Note:
The number of `output_condition_uris` must be equal to the
number of Inputs a Transaction has.
@param output_condition_uris (:obj:`list` of :obj:`str`): A list of
Outputs to check the Inputs against.
@return If all Outputs are valid.
"""
if len(self.inputs) != len(output_condition_uris):
raise ValueError(
"Inputs and " "output_condition_uris must have the same count"
)
tx_dict = self.to_dict()
tx_dict = Transaction._remove_signatures(tx_dict)
tx_dict["id"] = None
tx_serialized = Transaction._to_str(tx_dict)
def validate(i, output_condition_uri=None):
"""Validate input against output condition URI"""
return self._input_valid(
self.inputs[i], self.operation, tx_serialized, output_condition_uri
)
return all(validate(i, cond) for i, cond in enumerate(output_condition_uris))