in resdb_driver/transaction.py [0:0]
def inputs_valid(self, outputs=None):
"""! Validates the Inputs in the Transaction against given
Outputs.
Note:
Given a `CREATE` Transaction is passed,
dummy values for Outputs are submitted for validation that
evaluate parts of the validation-checks to `True`.
@param outputs (:obj:`list` of :class:`~resdb.
transaction.Output`): A list of Outputs to check the
Inputs against.
@return If all Inputs are valid.
"""
if self.operation == Transaction.CREATE:
# NOTE: Since in the case of a `CREATE`-transaction we do not have
# to check for outputs, we're just submitting dummy
# values to the actual method. This simplifies it's logic
# greatly, as we do not have to check against `None` values.
return self._inputs_valid(["dummyvalue" for _ in self.inputs])
elif self.operation == Transaction.TRANSFER:
return self._inputs_valid(
[output.fulfillment.condition_uri for output in outputs]
)
else:
allowed_ops = ", ".join(self.__class__.ALLOWED_OPERATIONS)
raise TypeError(
"`operation` must be one of {}".format(allowed_ops))