981 Commits

Author SHA1 Message Date
Dmitriy Ryajov
6201ce0ed8
feat: add single-block slot proof tests and update NimGroth16 backend configuration 2025-06-05 15:58:17 +10:00
Dmitriy Ryajov
878063cafd
refactor: replace circom-wasm with circom-graph and update G1/G2 point conversions 2025-06-05 15:58:17 +10:00
Dmitriy Ryajov
959241e8e5
feat: improve prover logging and add NimGroth16 prover tests 2025-06-05 15:58:17 +10:00
Dmitriy Ryajov
a202eb8938
refactor: rename proverBackendCmd to proverBackend and standardize enum values 2025-06-05 15:58:17 +10:00
Dmitriy Ryajov
8b1d9b86c4
restore tests 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
25eb2374aa
Update subproject commits for circom-witnessgen and nim-groth16 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
acadfa15a6
Avoid using pointer to task, use the actual task object. Add some checked exceptions 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
318dc20fa0
Fix typo in testproverfactory.nim: correct getZKeyFile to getZkeyFile 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
12eb464e3b
Fix import statement in testslots.nim: replace testbackendfactory with testproverfactory 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
8e25bb5232
Add ProverBackendCmd enum and update configuration for nimGroth16 and circomCompat backends 2025-06-05 15:58:16 +10:00
Dmitriy Ryajov
aaca013ff5
Refactor codebase: enhance error handling, improve type definitions, and streamline async procedures 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
6ec73f396d
Refactor SlotsBuilder and DataSampler types to use generic parameters SomeTree and SomeHash 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
086e6f10e0
Refactor backend structure: remove unused files, add NimGroth16 support, and enhance prover functionality 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
a77dcc14bd
Refactor Circom compatibility backend and add NimGroth16 backend implementation 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
8599877995
Remove vendor/threading submodule 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
d069e183b3
adding circom-witnessgen 2025-06-05 15:58:15 +10:00
Dmitriy Ryajov
c5881e36da
adding goldilocks deps 2025-06-05 15:58:14 +10:00
Dmitriy Ryajov
812b39e28f
adding deps 2025-06-05 15:58:14 +10:00
Dmitriy Ryajov
ed3b060dbb
wip nim groth16 2025-06-05 15:58:14 +10:00
Dmitriy Ryajov
493e3eb601
adding threading dep 2025-06-05 15:58:14 +10:00
Dmitriy Ryajov
b4c771be73
adding nim-groth16 dep 2025-06-05 15:58:14 +10:00
Eric
8e35f38fb7
fix(CI): change all macos runners to amd64 2025-06-05 15:58:14 +10:00
Eric
649bd480d2
fix(CI): change macos runner arch type to amd64 2025-06-05 15:58:13 +10:00
Eric
8a2394af95
contracts: increase period duration for windows ci 2025-06-05 15:58:13 +10:00
Eric
564551811f
Update ci.yml to be in line with master 2025-06-05 15:58:13 +10:00
Eric
69628f41f8
disable ccache symlink
Permission denied creating the symlink in CI
2025-06-05 15:58:13 +10:00
Eric
aa00566d29
update to websockets addresses for hardhat connection
Also, catch exceptions on JsonRpcProvider.close, which should not need to be done, as this routine should not raise any exceptions.
2025-06-05 15:58:13 +10:00
Eric
4616c48931
revert posix-only verbose unittest output
It didn't fix the error with invalid proofs in windows in ci
2025-06-05 15:58:13 +10:00
Eric
2bfd5241e3
fix previous commit compilation 2025-06-05 15:58:12 +10:00
Eric
7c00329d90
try removing verbose output to see if windows ci passes 2025-06-05 15:58:12 +10:00
Eric
8f4dae1b60
logging: show test setup/teardown in logs 2025-06-05 15:58:12 +10:00
Eric
348764550b
try increasing polling interval to see if this has an effect on windows in ci 2025-06-05 15:58:12 +10:00
Eric
eebeb8abbf
verbose unittest2 output to stdout 2025-06-05 15:58:12 +10:00
Eric
b8b93d7981
update after rebase 2025-06-05 15:58:12 +10:00
Eric
b86f995ab0
re-enable all CI tests
Also adds a condition such that a hardhat node is not started for parallel integration tests
2025-06-05 15:58:11 +10:00
Eric
9d605a554e
formatting 2025-06-05 15:58:11 +10:00
Eric
98a828e620
fix compilation errors in windows 2025-06-05 15:58:11 +10:00
Eric
8fcd97738d
fix eventually symbol resolution
Because `eventuallySafe` calls the symbol `eventually`, it should be declared before `proc eventually` is declared to avoid ambiguous symbol lookups.
2025-06-05 15:58:11 +10:00
Eric
cff38a7eee
force kill windows test processes
In situations like timeouts, windows will hang when attempting to close the test process streams. In this case, we have to force kill the test process externally. This is the same process as force killing hardhat nodes after they are already terminated, but windows refuses hangs when closing their process streams. This commit creates a forceKillProcess utility that allows a process to be killed by its process name and matching commandline criteria, like TestId (for test process) or --port (for hardhat)
2025-06-05 15:58:11 +10:00
Eric
e99dc1dc9c
Reinstate unittest > unittest2, move eventually to ./asynctest 2025-06-05 15:58:11 +10:00
Eric
660a0e27b5
Don't store hardhat logs in memory and do not print to term even if DebugHardhat=true
Hardhat output is logged to file in hardhat.log for each test, and printing to screen is not necessarily needed as it is already logged to file and can create clutter in the output, so stop writing logging output to memory and writing to screen.
2025-06-05 15:58:10 +10:00
Eric
ebc71838b8
re-enable debug logging in codex nodes
Since the HttpClient now supports async, re-enable debug logging in the Codex nodes
2025-06-05 15:58:10 +10:00
Eric
88264beb80
fix makefile: DEBUG enables DebugHardhat 2025-06-05 15:58:10 +10:00
Eric
6e1e8a0e5e
Remove new implementation of eventuallySafe by overidding the default params of eventually
With this fix in, there is no need to use the asynctest update that sets longer defaults for eventually, so downgrade asynctest
2025-06-05 15:58:10 +10:00
Eric
8b192df271
safeEventually > eventuallySafe 2025-06-05 15:58:10 +10:00
Eric
cb20b54213
fix: forcefully kill windows hardhat processes after termination
On windows, termination of hardhat processes would not actually kill the process, and then closing the process' streams would then hang the calling nim process. To get around this, the process is now killed externally using a script, winkillhardhat.sh. This script first queries open processes by inspecting the command line value of all "node.exe" processes, searching for "vendor/codex-contracts-eth" and for the port parameter it was started with. After querying, the process is killed using the `Stop-Process` powershell command (passing the pid of the windows process).
2025-06-05 15:58:10 +10:00
Arnaud
9005522633
Reduce the number of requests for asserts in tests 2025-06-05 15:58:10 +10:00
Eric
c16f8d38a2
formatting 2025-06-05 15:58:09 +10:00
Eric
91570b46ae
attempt to kill windows hardhat process
Windows hangs when attempting to hardhat's process streams, so try to kill the process externally.
TODO: This doesn't actually kill the process, as the pid given by chronos is an msys2 pid, and the command is used to kill a windows process. `ps -ef` in msys2 also doesn't show hardhat running as a process, so the only way to kill the process is to kill it with the windows pid. So we need to figure out a way to get a windows pid from the msys2 pid.
2025-06-05 15:58:09 +10:00
Eric
3b51d24b09
add new line to stdout/stderr logs when logging lines 2025-06-05 15:58:09 +10:00