132 Commits

Author SHA1 Message Date
Mark Spanbroek
9a76c04d45 [marketplace] Emit RequestFulfilled when all slots are filled 2022-08-08 11:51:14 +02:00
Mark Spanbroek
f32974b496 [marketplace] Remove fulfillRequest() 2022-08-08 11:51:14 +02:00
Mark Spanbroek
80f0cc6005 [storage] Slash based on slots 2022-08-08 11:51:14 +02:00
Mark Spanbroek
e5ed3bd59d [storage] Remove finishContract()
Is superceded by Marketplace.payoutSlot().
2022-08-08 11:51:14 +02:00
Mark Spanbroek
9bc84dafe0 [marketplace] payout reward for a slot 2022-08-08 11:51:14 +02:00
Mark Spanbroek
141abce186 [marketplace] Add slots 2022-08-08 11:51:14 +02:00
Mark Spanbroek
97ef1bcd9f Add getHost() to retrieve host that fulfills request 2022-07-20 11:12:00 +02:00
Mark Spanbroek
1227ce8658 [readme] contract starts when first proof is submitted 2022-07-20 11:12:00 +02:00
Mark Spanbroek
389f5299d6 [marketplace] Rename maxPrice -> reward 2022-07-20 11:12:00 +02:00
Mark Spanbroek
8d7b7aed1d [marketplace] remove offer, select and startContract
Contract is started when first proof is submitted.
2022-07-20 11:12:00 +02:00
Mark Spanbroek
f3b969fd7c [marketplace] require storage proofs when fulfilling request 2022-07-20 11:12:00 +02:00
Mark Spanbroek
83291ef06b [marketplace] fulfill request by presenting proof of storage 2022-07-20 11:12:00 +02:00
Mark Spanbroek
2bf01da728 [proofs] Submitting proof emits event containing proof 2022-04-12 09:04:29 +02:00
Mark Spanbroek
7cbb717de7 Fix tests that weren't running 2022-04-12 09:04:29 +02:00
Mark Spanbroek
6aa2894521 [marketplace] Use dynamically sized arrays for PoR
ABI encoding sometimes fails on large byte arrays of fixed size.
2022-04-11 12:10:57 +02:00
Mark Spanbroek
b145e66a68 [storage] add getRequest() and getOffer() 2022-04-11 12:10:57 +02:00
Mark Spanbroek
169a446769 Enable solidity optimizer
Contract size was becoming too large without optimization.
2022-04-11 12:10:57 +02:00
Mark Spanbroek
b8ce6c3682 [marketplace] Add erasure coding and PoR attributes to request 2022-04-11 12:10:57 +02:00
Mark Spanbroek
29b5775951 [proofs] willProofBeRequired() predicts proof requirement 2022-04-05 11:36:31 +02:00
Mark Spanbroek
111dce58e8 [proofs] Test that pointer increases by one every block 2022-04-05 11:36:31 +02:00
Mark Spanbroek
81c7dcd25a Disallow finishing of contract that wasn't started 2022-03-22 12:41:13 +01:00
Mark Spanbroek
c606b455d6 Disallow starting an offer that was not selected 2022-03-22 12:41:13 +01:00
Mark Spanbroek
0587c2d585 Fix filename in Windows 2022-03-22 10:53:13 +01:00
Mark Spanbroek
2a745d7abe Fix flaky test
Ensure that when we check whether a proof is required,
the pointer isn't about to wrap.
2022-03-15 17:01:04 +01:00
Mark Spanbroek
438fb605c0 Ensure local ethereum node has at least 256 blocks
Storage contract cannot be deployed when block height
is less than 256 blocks.
2022-03-15 17:01:04 +01:00
Mark Spanbroek
29698fee71 Fix tests after OpenZeppelin update 2022-03-15 17:01:04 +01:00
Mark Spanbroek
c79059e470 npm update 2022-03-15 17:01:04 +01:00
Mark Spanbroek
743d1cdb07 Update Readme now that storage requests and offers are on-chain 2022-03-15 10:17:55 +01:00
Mark Spanbroek
3fd7c756d9 Fix flaky tests
By ensuring that there's enough blocks left
for submitting a proof.
2022-03-15 10:01:12 +01:00
Mark Spanbroek
f8ddc4a2f6 Add getChallenge() to Storage contract 2022-03-15 10:01:12 +01:00
Mark Spanbroek
fd55afcc5a Make pointer downtime configurable 2022-03-15 10:01:12 +01:00
Mark Spanbroek
476956c4d5 Replace pointer duos with pointer downtime design 2022-03-15 10:01:12 +01:00
Mark Spanbroek
241fcf10a5 Unlock host collateral at end of contract 2022-03-15 10:01:12 +01:00
Mark Spanbroek
f4d895113f Fix flaky test 2022-03-15 10:01:12 +01:00
Mark Spanbroek
bb14732ddc Remove mine*() testing functions 2022-03-15 10:01:12 +01:00
Mark Spanbroek
6d726fc2cc Require a block height of at least 256 2022-03-15 10:01:12 +01:00
Mark Spanbroek
fd06bc00b3 Move periodOf(), periodStart(), periodEnd() into time module 2022-03-15 10:01:12 +01:00
Mark Spanbroek
07d0e33789 Disable solhint about relying on timestamp 2022-03-15 10:01:12 +01:00
Mark Spanbroek
78eaaa7812 Replace Proof implementation with new design
More info: https://github.com/status-im/dagger-research/pull/66
2022-03-15 10:01:12 +01:00
Mark Spanbroek
22e8ea50e2 Add EVM snapshots including time for tests 2022-03-15 10:01:12 +01:00
Mark Spanbroek
ee4683e50c Add proof probability to Request 2022-03-15 10:01:12 +01:00
Mark Spanbroek
036a214427 Proof period and proof timeout are network constants now 2022-03-15 10:01:12 +01:00
Mark Spanbroek
c181195487 Temporarily disable test 2022-03-15 10:01:12 +01:00
Mark Spanbroek
e818d70b85 Remove Contracts in favor of Marketplace 2022-03-15 10:01:12 +01:00
Mark Spanbroek
7e7134b99d Allow events to be filtered by request id 2022-03-15 10:01:12 +01:00
Mark Spanbroek
c835ac1cc4 Emit event when offer is selected 2022-03-15 10:01:12 +01:00
Mark Spanbroek
05fbd244e2 Formatting 2022-03-15 10:01:12 +01:00
Mark Spanbroek
6e6cc1a230 Reject offer for expired request 2022-03-15 10:01:12 +01:00
Mark Spanbroek
85b212c703 Select a storage offer 2022-03-15 10:01:12 +01:00
Mark Spanbroek
cc57155792 Lock collateral of host that offers storage 2022-03-15 10:01:12 +01:00