Commit Graph

584 Commits

Author SHA1 Message Date
Dmitriy Ryajov 0a9af5ceff
misc 2024-02-07 21:02:44 -06:00
Dmitriy Ryajov ff59c45a51
pass number of samples to prover 2024-02-07 21:02:25 -06:00
Dmitriy Ryajov 697b69e349
remove unneded files 2024-02-07 21:01:40 -06:00
Dmitriy Ryajov 10af9dcda6
wip merge master 2024-02-07 21:01:38 -06:00
Dmitriy Ryajov f44d3a2b59
ignore debug symbols 2024-02-07 21:00:40 -06:00
Dmitriy Ryajov 71c876ce3f
rename test suite 2024-02-07 21:00:40 -06:00
Dmitriy Ryajov c62ecaf105
test backends 2024-02-07 21:00:40 -06:00
Dmitriy Ryajov 3ec6fe21b3
move tests to subdirectory 2024-02-07 21:00:40 -06:00
Dmitriy Ryajov 4748e2a4af
move fixtures to top level 2024-02-07 21:00:39 -06:00
Dmitriy Ryajov d72e208fd0
add circom compat tests 2024-02-07 21:00:37 -06:00
Dmitriy Ryajov b82b5966a2
init prover 2024-02-07 21:00:04 -06:00
Dmitriy Ryajov 4fad61955e
add circom file config options 2024-02-07 21:00:04 -06:00
Dmitriy Ryajov c058a4e06f
remove generic types 2024-02-07 21:00:03 -06:00
Dmitriy Ryajov 5e234e7604
add prover 2024-02-07 21:00:03 -06:00
Dmitriy Ryajov 23c170ce46
init node 2024-02-07 21:00:03 -06:00
Dmitriy Ryajov 6d514df503
expose circom backend 2024-02-07 21:00:03 -06:00
Dmitriy Ryajov 9e78970b21
move prover logic from node 2024-02-07 21:00:03 -06:00
Dmitriy Ryajov 79088c2383
rework circom compat 2024-02-07 21:00:02 -06:00
Dmitriy Ryajov 5f0d214f32
bump circom ffi 2024-02-07 20:59:48 -06:00
Dmitriy Ryajov 5caa65aad8
add tests for circom backend 2024-02-07 20:59:47 -06:00
Dmitriy Ryajov 0ec32d19b3
remove zkey file 2024-02-07 20:59:47 -06:00
Dmitriy Ryajov f20218d92a
make more egonomic 2024-02-07 20:59:23 -06:00
Dmitriy Ryajov 9f1ec4b02f
pass proper input 2024-02-07 20:59:23 -06:00
Dmitriy Ryajov e62b5c918a
bump circom ffi 2024-02-07 20:59:22 -06:00
Dmitriy Ryajov 65f5cdb62a
drop files 2024-02-07 20:59:22 -06:00
Dmitriy Ryajov b0e5058d45
wip rework backend 2024-02-07 20:59:22 -06:00
Dmitriy Ryajov 0d3b18cb5e
wip 2024-02-07 20:59:18 -06:00
Dmitriy Ryajov 50766a8cf2
bump circom compat 2024-02-07 20:58:39 -06:00
Dmitriy Ryajov b5808b5d48
bump nimbus build system 2024-02-07 20:58:39 -06:00
Dmitriy Ryajov a2052a2052
don't export types 2024-02-07 20:58:07 -06:00
Dmitriy Ryajov 4fd07eb151
moving prover around 2024-02-07 20:57:32 -06:00
Dmitriy Ryajov aba8abed0c
wip 2024-02-07 20:57:32 -06:00
Dmitriy Ryajov 653afb78c1
generify sampler and builder 2024-02-07 20:57:30 -06:00
Dmitriy Ryajov 12d6adf45f
adding circuits and circom compat 2024-02-07 20:55:20 -06:00
Dmitriy Ryajov 825766eea0
Rework builder & sampler (#697)
* add proof initializer for poseidon2 and `$`

* fix padding and block selection

* fix sample selection and input construction

* fix sample selection & more descriptive names

* add concrete types for sampler & builder

* add missing digest calls

* use concrete types

* add sample test fixtures

* use concrete types and don't fetch dummy blocks
2024-02-08 02:27:11 +00:00
Dmitriy Ryajov afec86b3cf
cleanup manifest and wire in strategy (#696) 2024-02-07 20:54:57 +00:00
Slava 1e957da109
CI update (#695)
* fix: update codecov action

* fix: remove nim v2 from Nim-matrix
2024-02-07 19:47:40 +00:00
Dmitriy Ryajov 2fc538337b
rework indexing strategy to use an enum (#694) 2024-02-07 11:13:27 -08:00
markspanbroek 2cf892c467
Smart contracts update: Groth16Proof instead of bytes (#683)
* Smart contracts update: Groth16Proof instead of bytes

* Use dummy verifier for now, until we can create ZK proofs

* Fix tests: submit proof only when slot is filled

* Submit dummy proofs for now

* More detailed log when proof submission failed

* Use dummy verifier for integration tests

For now at least

* Fix mistake in blanket renaming to ethProvider

* Update to latest codex-contracts-eth

* feat: zkey-hash from chain

* Fix zkeyHash

---------

Co-authored-by: Adam Uhlíř <adam@uhlir.dev>
2024-02-07 07:50:35 +01:00
Slava 403b9baf9f
Add Nim-matrix workflow to run on merge queue (#693)
* Add Nim-matrix workflow to run on merge queue

* Use reusable workflows for CI and Nim-matrix
2024-02-06 12:56:27 +02:00
Giuliano Mega 591be9446a
remove call to `waitFor` from clock.now and make it async (#691) 2024-02-05 08:36:28 -03:00
Slava ca0660b07e
Use default short commit length for Codex revision (#690) 2024-01-30 19:58:55 +02:00
markspanbroek fd3c566b25
update asynctest to 0.5.1 (#671)
* update asynctest to 0.5.0

Co-Authored-By: gmega <giuliano.mega@gmail.com>

* update remaining package imports

* add asynctest package wrapper

---------

Co-authored-by: gmega <giuliano.mega@gmail.com>
2024-01-29 17:03:51 -03:00
Slava 95a4484de0
fix: update codex help output (#687) 2024-01-29 19:31:29 +00:00
Slava ae61c29b3f
ci: fix docker workflow after actions update (#689)
Signed-off-by: Slava <20563034+veaceslavdoina@users.noreply.github.com>
2024-01-29 20:12:07 +02:00
Slava 34095461ae
ci: update actions to lates major versions (#688) 2024-01-29 17:21:52 +02:00
Ben Bierens 0b8811c98d
Debug/sampling (#681)
* Extra logging in sampler

* wip: Fixing sampling issue in padded slot cells

* Cleanup

* Restores tests
2024-01-25 15:34:38 -08:00
Eric de88fd2c53
feat: create logging proxy (#663)
* implement a logging proxy

The logging proxy:
- prevents the need to import chronicles (as well as export except toJson),
- prevents the need to override `writeValue` or use or import nim-json-seralization elsewhere in the codebase, allowing for sole use of utils/json for de/serialization,
- and handles json formatting correctly in chronicles json sinks

* Rename logging -> logutils to avoid ambiguity with common names

* clean up

* add setProperty for JsonRecord, remove nim-json-serialization conflict

* Allow specifying textlines and json format separately

Not specifying a LogFormat will apply the formatting to both textlines and json sinks.

Specifying a LogFormat will apply the formatting to only that sink.

* remove unneeded usages of std/json

We only need to import utils/json instead of std/json

* move serialization from rest/json to utils/json so it can be shared

* fix NoColors ambiguity

Was causing unit tests to fail on Windows.

* Remove nre usage to fix Windows error

Windows was erroring with `could not load: pcre64.dll`. Instead of fixing that error, remove the pcre usage :)

* Add logutils module doc

* Shorten logutils.formatIt for `NBytes`

Both json and textlines formatIt were not needed, and could be combined into one formatIt

* remove debug integration test config

debug output and logformat of json for integration test logs

* Use ## module doc to support docgen

* bump nim-poseidon2 to export fromBytes

Before the changes in this branch, fromBytes was likely being resolved by nim-stew, or other dependency. With the changes in this branch, that dependency was removed and fromBytes could no longer be resolved. By exporting fromBytes from nim-poseidon, the correct resolution is now happening.

* fixes to get compiling after rebasing master

* Add support for Result types being logged using formatIt
2024-01-22 23:35:03 -08:00
Dmitriy Ryajov 72da534856
Wire sampler (#676)
* Setting up testfixture for proof datasampler

* Sets up calculating number of cells in a slot

* Sets up tests for bitwise modulo

* Implements cell index collection

* setting up slot blocks module

* Implements getting treeCID from slot

* implements getting slot blocks by index

* Implements out-of-range check for slot index

* cleanup

* Sets up getting sample from block

* Implements selecting a cell sample from a block

* Implements building a minitree for block cells

* Adds method to get dataset block index from slot block index

* It's running

* splits up indexing

* almost there

* Fixes test. Implementation is now functional

* Refactoring to object-oriented

* Cleanup

* Lining up output type with updated reference code.

* setting up

* Updates expected samples

* Updates proof checking test to match new format

* move builder to own dir

* move sampler to own dir

* fix paths

* various changes to add support for the sampler

* wip sampler implementation

* don't use upraises

* wip sampler integration

* misc

* move tests around

* Various fixes to select correct slot and block index

* removing old tests

* cleanup

* misc

fix tests that work with correct cell indices

* remove unused file

* fixup logging

* add logscope

* truncate entropy to 31 bytes, otherwise it might be > than mod

* forwar getCidAndProof to local store

* misc

* Adds missing test for initial-proving state

* reverting back to correct slot/block indexing

* fix tests for revert

* misc

* misc

---------

Co-authored-by: benbierens <thatbenbierens@gmail.com>
2024-01-17 11:24:34 -08:00
Dmitriy Ryajov 2fc7c75fd2
Contracts handler (#672)
* get rid of unneeded files

* don't reuse batch callback

* move out storage contract handlers

* wip

* add storage handler, to handle storage contracts interactions

* split out node tests

* a bit more cleanup

* remove storage handler, move back into node

* add missing raises:

* wip: add support for rebuilding slot

* split out tests

* wip

* rework indexing strategy to return an iterator

* convert to seq

* minor api change (meh, might revert)

* steping strategy should not die

* allow fetching batches for manifests and indicies

* restored expiry update

* restored expiry update functionality

* avoid closing datastores twice

* correct wrong rename

* fixes sigsegv
2024-01-15 08:45:04 -08:00