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