Контрактные команды в Корде должны быть проверены детерминистическим способом.Почему тогда можно проверить следующие выражения?
LocalDateTime.MAX >= LocalDateTime.now() // true - LocalDateTime.MAX is a long time away!
UUID.randomUUID().toString().contains("4") // true - all v4 UUIDs contain a "4"
Я ожидал, что что-то пойдет не так с командой контракта, так как LocalDateTime.now()
и UUID.randomUUID()
не дают детерминированных результатов.
Почему можно проверить эти выражения в команде контракта, если они не дают детерминированных значений?