Mark Spanbroek
|
9ab65ae5a6
|
[marketplace] Specify size per slot, instead of total size
Reasoning: it was unclear exactly how much storage a
host should have available for a slot. The division
size/slots can have a non-integer value.
|
2022-08-08 11:51:14 +02:00 |
Mark Spanbroek
|
3e9fffb526
|
[marketplace] Reward is paid out per second per slot
|
2022-08-08 11:51:14 +02:00 |
Mark Spanbroek
|
1d951ef8f8
|
[marketplace] Rename Erasure.totalNodes -> Ask.slots
|
2022-08-08 11:51:14 +02:00 |
Mark Spanbroek
|
b3fededbad
|
[marketplace] Remove nodeId from Request
No longer needed now that we have slots.
|
2022-08-08 11:51:14 +02:00 |
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
|
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
|
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
|
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
|
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
|
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
|
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 |
Mark Spanbroek
|
980e2343ed
|
Add expiry to storage requests
|
2022-03-15 10:01:12 +01:00 |
Mark Spanbroek
|
18e667bf19
|
Use client/host address to check for duplicates
Removes the need for the extra correctness checks
on request size and offer expiry, since these are
no longer used to check for duplicates.
|
2022-03-15 10:01:12 +01:00 |
Mark Spanbroek
|
ae92f63987
|
Add host address to offers
|
2022-03-15 10:01:12 +01:00 |