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
Mark Spanbroek
5d2842c69b
Deploy verifier with verifier key per network
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
39a2d56a63
Refactor verifier contract: verification key as parameter
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
1af40f1790
Read proof from file in test
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
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
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
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
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
03e5546121
[marketplace] formatting
2023-06-19 14:58:47 +02:00
Eric Mastro
6e66abbfcd
retreive active slot for sales state restoration ( #51 )
...
Store slotIndex in slot struct and expose the slot via getActiveSlot. This is to be used when restoring state in the sales module after a node restart.
2023-04-14 09:28:39 +10:00
Adam Uhlíř
2b5d079882
feat: collateral fractions ( #47 )
...
Co-authored-by: Eric Mastro <github@egonat.me>
2023-03-30 11:11:21 +02:00
Adam Uhlíř
8b39ef8f4a
fix: reset missed counter when slot is freed ( #48 )
2023-03-08 17:19:49 +01:00
Adam Uhlíř
dfdbd16d5b
feat: collateral per slot ( #44 )
2023-03-08 12:02:34 +01:00
Mark Spanbroek
24ef30bd2a
[proofs] improve test to check proof probability
...
- avoid bias due to pointer downtime
- use statistical binomial test
2023-01-30 14:47:37 +01:00
Mark Spanbroek
c9b51695aa
[proofs] support probability 1 (proofs always required)
2023-01-30 14:47:37 +01:00
Eric Mastro
cde5436262
get request from slot id ( #34 )
...
* get request from slot id
- Add public function to get request from slot id.
- Add chai test assertion that compares requests. Usage: `expect(await marketplace.getRequestFromSlotId(slotId(slot))).to.be.request(request)`
This is used when restoring active sales, and a node calls `mySlots`, then iterates the slots and needs originating request details.
* merge upstream changes
2023-01-24 15:59:56 +11:00
Mark Spanbroek
b81e6e6532
[marketplace] better wording
...
Avoids the word 'expired' which is associated
with cancelling a request
Co-authored-by: Eric Mastro <eric.mastro@gmail.com>
2023-01-23 15:10:23 +01:00
Mark Spanbroek
019c1c34c0
[marketplace] rewrite slot freeing test
...
To make it independent of values chosen in exampleRequest().
Uses the recently introduced slotState().
2023-01-23 15:10:23 +01:00
Mark Spanbroek
b62eeb564a
[marketplace] test & fix slotState()
2023-01-23 15:10:23 +01:00
Mark Spanbroek
334da1144d
[marketplace] renaming and reshuffling of request state test
2023-01-23 15:10:23 +01:00
Mark Spanbroek
ae70fd7c6f
[marketplace] introduce MarketplaceConfiguration struct
...
Container for all configuration values, replaces separate
constructor parameters and getters.
2023-01-23 15:10:23 +01:00
Mark Spanbroek
91ccc82d49
[proofs] remove dead code
2023-01-23 15:10:23 +01:00
Mark Spanbroek
bd284acce3
[examples] remove dead code
2023-01-23 15:10:23 +01:00
Mark Spanbroek
8c6891f1e2
[marketplace] slotIsNotFree() modifier
...
Replaces _slot getter
2023-01-23 15:10:23 +01:00
Mark Spanbroek
1316682a6f
[marketplace] remove slotMustAcceptProofs modifier
...
Replaced by checks on slot state
2023-01-23 15:10:23 +01:00
Mark Spanbroek
7d377a3739
[marketplace] remove requestMustAcceptProofs modifier
...
Is already covered by the slot state check later on
2023-01-23 15:10:23 +01:00
Mark Spanbroek
5eeac8a782
[marketplace] remove unused import
2023-01-23 15:10:23 +01:00
Mark Spanbroek
c8dda37300
[marketplace] introduce SlotState
...
- replace proofEnd() by slotState()
- replace _slotAcceptsProofs() by slotState()
- remove _stopRequiringProofs()
2023-01-23 15:10:23 +01:00
Mark Spanbroek
de0595edb3
[marketplace] rename state(id) -> requestState(id)
2023-01-23 15:10:23 +01:00
Mark Spanbroek
e496ac3550
[marketplace] remove _isCancelled and _isFinished
2023-01-23 15:10:23 +01:00
Mark Spanbroek
9aa4773392
[marketplace] remove unused _isSlotCancelled()
2023-01-23 15:10:23 +01:00
Mark Spanbroek
af08a72d7d
Fix: use slot start instead of request start
...
Proofs should be required from the moment a slot is filled,
not from the moment a request is submitted.
This reverts commit f224cb8eda
.
2023-01-12 13:49:08 +01:00
Mark Spanbroek
c0690cd5d1
[Proofs] rename expectProofs -> startRequiringProofs
2023-01-11 10:27:08 +01:00
Mark Spanbroek
f224cb8eda
[Proofs] Remove double administration of request start
...
The timestamp when proofs start to be required was
stored in both the Marketplace and Proofs. It is now
only stored in the Marketplace.
2023-01-11 10:27:08 +01:00