code: def balance(self):
          
          self.check()
          if not sum(map(lambda x: x.amount, self.src)) == -self.amount:
              raise XnBalanceError("Sum of source amounts "
                                   "not equal to transaction amount")
          if not sum(map(lambda x: x.amount, self.dst)) == self.amount:
              raise XnBalanceError("Sum of destination amounts "
                                   "not equal to transaction amount")
          return True
docs: Check this transaction for correctness