я это делаю в свете отрицательных транзакций
а именно при такой проверке (рекурсивной)
CheckTransaction
не видит nTotalIn
что логично ведь проверка идет задомнаперед....
а nTotalIn у меня должен быть положительным и известным
однако с отрицательными транзакциями когда totalout может быть отрицательным и нужно делать проверку на положительность суммы nTotalIn+totalout
то есть если идет отрицательный АУТ то nTotalIn+(-totalout) >=0 иначе ошибка
в данный момент сделал так что при проверке блоков из локальной базы
и при проверке wallet при загрузке кошелька
отключаю проверку nTotalIn+(-totalout) >=0
однако сохраняю эту проверку на уровне майнинга
и прием блоков из сети
типа верю себе
другим не доверяю
не знаю насколько это безопасно...
надо думать
если не безопасно то нужно придумать способ проверки от малого к большему номеру блока,
а не рекурсивно как сейчас