/ build.nims
build.nims
 1  import std/os
 2  
 3  task genffi, "update the nim ffi bindings":
 4    exec "cargo install nbindgen"
 5    exec "nbindgen --crate codex-storage-proofs --output codex_proofs_ffi.nim"
 6  
 7  task compileCircuits, "compile test circuits":
 8    exec "npm i"
 9    exec "circom src/circuit_tests/poseidon-digest-test.circom --r1cs --wasm -o src/circuit_tests/artifacts"
10    exec "circom src/circuit_tests/poseidon-hash-test.circom --r1cs --wasm -o src/circuit_tests/artifacts"
11    exec "circom src/circuit_tests/storer-test.circom --r1cs --wasm -o src/circuit_tests/artifacts"
12  
13  task tests, "run unit tests":
14    let storerR1cs = fileExists "src/circuit_tests/artifacts/storer-test.r1cs"
15    let storerWasm = fileExists "src/circuit_tests/artifacts/storer-test_js/storer-test.wasm"
16    if not storerR1cs or not storerWasm:
17      compileCircuitsTask()
18    exec "nim c -r tests/tffi.nim"