В дополнение к тому, что сказал @ evgeny-kuzyakov, единственными источниками недетерминизма являются функции уровня ОС, такие как потоки, часы, случайность ОС, сеть, устройства, файловая система и т. Д. c. Если контракт скомпилирован с кодом, который пытается получить доступ к этим функциям, он не будет выполнен в нашей цепочке блоков (хотя его можно развернуть, потому что можно развернуть любую последовательность байтов в качестве контракта) и завершится с ошибкой до начала выполнения. .