Mark Spanbroek
b2509e4257
Refactor verifier contract: formatting
2024-01-25 13:08:10 +01:00
Mark Spanbroek
f3e2186ec2
Update solidity to 0.8.23
2024-01-25 13:08:10 +01:00
Mark Spanbroek
862ea56e8b
Formatting
2024-01-25 13:08:10 +01:00
Mark Spanbroek
33614ee218
Calculate public inputs for ZK proof verificition
2024-01-25 13:08:10 +01:00
Mark Spanbroek
1b3b258ccc
Conversion between little and big endian
2024-01-25 13:08:10 +01:00
Mark Spanbroek
38411c27ca
Move submitProof() function to Marketplace
2024-01-25 13:08:10 +01:00
Mark Spanbroek
e6a918fed9
Submit proof as Groth16Proof struct
2024-01-25 13:08:10 +01:00
Mark Spanbroek
ae03690d51
Submit proof as field elements, not bytes
2024-01-25 13:08:10 +01:00
Mark Spanbroek
534f8cbf51
Cleanup verifier template
2024-01-25 13:08:10 +01:00
Mark Spanbroek
1af40f1790
Read proof from file in test
2024-01-25 13:08:10 +01:00
Mark Spanbroek
bf64de7e50
Update to solidity 0.8.8
2024-01-25 13:08:10 +01:00
Mark Spanbroek
3e3f2307d8
Remove GPL'ed verifier, replace by MIT verifier
2024-01-25 13:08:10 +01:00
Mark Spanbroek
61be76da0e
Add preprocessing to generate verification contract
2024-01-25 13:08:10 +01:00
Mark Spanbroek
c08e8be8f9
Add verification keys and example proof for local deployment
2024-01-25 13:08:10 +01:00
Mark Spanbroek
6b8d3ca83b
MIT licensed version of solidity Groth16 verifier
...
Copied from 2e9be76932/templates/verifier_original.sol
2024-01-25 13:08:10 +01:00
Mark Spanbroek
e1657acdd0
Stub out zk proof verification in marketplace tests
2024-01-25 13:08:10 +01:00
Mark Spanbroek
e59f0f961e
Submit proofs as array of bytes
2024-01-25 13:08:10 +01:00
Mark Spanbroek
d29a259090
Fix linter warnings
2024-01-25 13:08:10 +01:00
Mark Spanbroek
327ae14112
Formatting with prettier
2024-01-25 13:08:10 +01:00
Mark Spanbroek
db124ddbd9
Re-arrange marketplace constructor parameters
...
first configuration, then contracts that we depend on
2024-01-25 13:08:10 +01:00
Adam Uhlíř
0d9b67bb31
feat: verifier integration
2024-01-25 13:08:10 +01:00
Eric
b5f33992b6
Increase pointer by 67 blocks each time the period is increased ( #75 )
...
* Increase pointer by 67 instead of 64 for each period
Use a prime number to ensure that we don't get cycles
where we're looking at the same hash four periods
from now.
---------
Co-authored-by: Mark Spanbroek <mark@spanbroek.net>
2023-12-15 10:02:03 +11:00
Adam Uhlíř
87461f6b83
fix: check expiration is before request end ( #77 )
2023-12-05 11:18:43 +01:00
Mark Spanbroek
b625f0d519
Merkle root is 32 bytes
2023-11-22 14:43:11 +01:00
Mark Spanbroek
efafa43910
Remove PoR parameters, add merkle root for storage proofs
2023-11-22 14:43:11 +01:00
Adam Uhlíř
14e453ac31
feat: partial payouts for cancelled requests ( #69 )
2023-10-16 11:14:02 +02:00
Mark Spanbroek
1854dfba99
Redeployed on taiko test net after rebase
2023-09-13 15:05:08 +02:00
Mark Spanbroek
ed4717e5ea
Fix hardhat error "invalid account"
2023-09-13 15:05:08 +02:00
Mark Spanbroek
ffcc0e5ee6
Deployed on taiko test net
2023-09-13 15:05:08 +02:00
Mark Spanbroek
0e89d293e4
[taiko] Add RPC endpoint for Taiko test net
2023-09-13 15:05:08 +02:00
Slava
12b595b8d9
Add reusable workflow for Docker (codex-storage/cs-codex-dist-tests/issues/42) ( #67 )
2023-08-17 06:05:52 +03:00
Slava
49da1f9b30
chore: Bump Node version ( #66 )
2023-08-16 11:31:41 +02:00
Ben Bierens
ac38d7f837
chore: update dependencies ( #64 )
...
Co-authored-by: Veaceslav Doina <20563034+veaceslavdoina@users.noreply.github.com>
2023-08-10 13:20:29 +02:00
Slava
b4e4897a37
Add Docker builds for Dist-Tests ( #63 )
...
https://github.com/codex-storage/cs-codex-dist-tests/issues/34
2023-07-21 11:08:29 +03:00
Slava
d082dc71be
Update Docker workflow ( #62 )
2023-07-11 19:36:21 +03:00
Eric Mastro
230e7276e2
Support slot queue ( #61 )
...
* feat: add request expiry to StorageRequested event
* add slot index to SlotFreed event
* copy slotIndex before delete for emit
* Update tests
2023-06-22 06:18:33 +10:00
Mark Spanbroek
6801f2c009
[fuzzing] document `npm run fuzz` in readme
2023-06-19 14:58:47 +02:00
markspanbroek
96aa98c734
[fuzzing] Use correct hashbang
...
Co-authored-by: Adam Uhlíř <adam@uhlir.dev>
2023-06-19 14:58:47 +02:00
Mark Spanbroek
f530bc5081
[fuzzing] Only use docker image on x86_64 machines
...
The echidna docker image does not support ARM
Macs, for example.
2023-06-19 14:58:47 +02:00
Mark Spanbroek
b396f13359
[fuzzing] Fix CI
2023-06-19 14:58:47 +02:00
Mark Spanbroek
05ef48bf7f
[fuzzing] Add suggestions for a long test run
2023-06-19 14:58:47 +02:00
Mark Spanbroek
d4fc6bbf7c
[fuzzing] update to Echidna 2.2.0
2023-06-19 14:58:47 +02:00
Mark Spanbroek
a7dd840eaa
[fuzzing] transfers out of the contract should always pass
...
When a transfer of tokens from the contract fails, then the
fuzzer has found a bug. Changing `require` to `assert`
ensures that the fuzzer considers this a test failure.
2023-06-19 14:58:47 +02:00
Mark Spanbroek
03e5546121
[marketplace] formatting
2023-06-19 14:58:47 +02:00
Mark Spanbroek
42d4778dcc
[fuzzing] compile contracts before invoking docker
...
Ensures that `npm run fuzz` will succeed whether or
not the contracts were compiled beforehand.
2023-06-19 14:58:47 +02:00
Mark Spanbroek
c1b412c589
[fuzzing] allow fuzz.sh to be called from any directory
2023-06-19 14:58:47 +02:00
Mark Spanbroek
25f52c72b1
[ci] Run fuzzing in CI
2023-06-19 14:58:47 +02:00
Mark Spanbroek
3390e21071
[fuzzing] Enable fuzzing for Marketplace
...
Replaces runtime invariant checks with fuzzing tests,
simplifying the contract code and lowering gas costs.
2023-06-19 14:58:47 +02:00
benbierens
d57cfc69cd
Fix "invalid value undefined" in hardhat configuration
2023-06-19 10:49:40 +02:00
Eric Mastro
c7b69893a1
only mint tokens when on local hardhat network
2023-06-19 10:49:40 +02:00