Mark Spanbroek
6c9f797f40
Explicit getters for token and config
...
Implicit getters have slightly different semantics when
it comes to ABI encoding their results.
2024-02-06 12:27:40 +01:00
Mark Spanbroek
fb17fb5843
Fix deployment bug in loading zkey hash
2024-01-31 16:52:43 +01:00
Mark Spanbroek
31bbd702c2
Remove contract aliasing; doesn't work
...
Contract aliasing (specifying a fixed address for a
contract) doesn't work. We're now echoing the
addresses of the deployed contracts instead.
2024-01-31 15:45:01 +01:00
Mark Spanbroek
c7b18af7cd
Deploy 2 versions of the marketplace on local network
...
One with the real Groth16 verifier,
and one with a dummy verifier used for testing.
2024-01-31 15:45:01 +01:00
Mark Spanbroek
ec803adb3d
Test verifier accepts any proof, except all 0 values
2024-01-31 15:45:01 +01:00
Adam Uhlíř
331bc56e8f
feat: zkey hash in marketplace config ( #81 )
2024-01-30 06:36:27 +01:00
Mark Spanbroek
a186cb4045
Formatting
2024-01-25 13:16:49 +01:00
Adam Uhlíř
d4c7057fff
ci: check formatting
2024-01-25 13:16:49 +01:00
Mark Spanbroek
79d9c43beb
Fix marketplace deployment script
2024-01-25 13:08:10 +01:00
Mark Spanbroek
079ac4766c
Cleanup verifer.js
2024-01-25 13:08:10 +01:00
Mark Spanbroek
5d2842c69b
Deploy verifier with verifier key per network
2024-01-25 13:08:10 +01:00
Mark Spanbroek
903cdf3541
Refactor verifier contract: formatting
2024-01-25 13:08:10 +01:00
Mark Spanbroek
70b22b241f
Refactor verifier contract: remove unnecessary conversions
2024-01-25 13:08:10 +01:00
Mark Spanbroek
65655e3646
Refactor verifier contract: Formatting
2024-01-25 13:08:10 +01:00
Mark Spanbroek
676f4fc85e
Refactor verifier contract: use structs from Groth16.sol
2024-01-25 13:08:10 +01:00
Mark Spanbroek
dc0c2b7956
Refactor verifier contract: remove dead code
2024-01-25 13:08:10 +01:00
Mark Spanbroek
90c821fb61
Refactor verifier contract: remove unnecessary conversions
2024-01-25 13:08:10 +01:00
Mark Spanbroek
a066b6a007
Refactor verifier contract: fix linter warnings
2024-01-25 13:08:10 +01:00
Mark Spanbroek
6baf80d6f4
Refactor verifier contract: remove preprocessing
2024-01-25 13:08:10 +01:00
Mark Spanbroek
c0ca508a6b
Refactor verifier contract: public input as dynamic array
2024-01-25 13:08:10 +01:00
Mark Spanbroek
39a2d56a63
Refactor verifier contract: verification key as parameter
2024-01-25 13:08:10 +01:00
Mark Spanbroek
f2869ff94f
Refactor verifier contract: X -> x, Y -> y
2024-01-25 13:08:10 +01:00
Mark Spanbroek
d30dff1781
Refactor verifier contract: set verifying key in constructor
2024-01-25 13:08:10 +01:00
Mark Spanbroek
ef32ad9c1b
Refactor verifier contract: fix typo
2024-01-25 13:08:10 +01:00
Mark Spanbroek
296447724a
Refactor verifier contract: extract constants
2024-01-25 13:08:10 +01:00
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