79 Commits

Author SHA1 Message Date
Mark Spanbroek
29b5775951 [proofs] willProofBeRequired() predicts proof requirement 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
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
6d726fc2cc Require a block height of at least 256 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
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
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
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
Mark Spanbroek
51e2d65596 Add client address to requests 2022-03-15 10:01:12 +01:00
Mark Spanbroek
b349b76ab7 Offer storage using Marketplace contract 2022-03-15 10:01:12 +01:00
Mark Spanbroek
f9cc73d62f Rename invariants to avoid name clashes 2022-03-15 10:01:12 +01:00
Mark Spanbroek
e1ef2a2216 Request storage using Marketplace contract 2022-03-15 10:01:12 +01:00
Mark Spanbroek
e963a25c94 Replace Stakes with Collateral
Removes the old Stakes implementation in favor of the
new Collateral implementation.
2022-03-01 09:38:53 +01:00
Mark Spanbroek
1f01704afd Document the account locking design 2022-03-01 09:38:53 +01:00
Mark Spanbroek
91a976a007 Prevent withdrawal of locked collateral 2022-03-01 09:38:53 +01:00
Mark Spanbroek
c5fab40535 Account locking 2022-03-01 09:38:53 +01:00
Mark Spanbroek
ab38473688 Slash collateral 2022-03-01 09:38:53 +01:00
Mark Spanbroek
2f59927b30 Check result of ERC20 transferFrom call 2022-03-01 09:38:53 +01:00
Mark Spanbroek
9e0d05965d Update collateral totals and balance at the same time 2022-03-01 09:38:53 +01:00
Mark Spanbroek
c86fdfbec1 Withdraw collateral 2022-03-01 09:38:53 +01:00
Mark Spanbroek
3d50e56fe7 Collateral invariant 2022-03-01 09:38:53 +01:00
Mark Spanbroek
6e0aded775 Deposit collateral 2022-03-01 09:38:53 +01:00
Mark Spanbroek
f7af18eb2d Lint with solhint 2022-02-10 07:46:03 +01:00
Mark Spanbroek
78755ecaa2 Format using prettier 2022-02-10 07:46:03 +01:00
Mark Spanbroek
0fedd8875f Use standard ABI encoding instead of the non-standard
packing mode.
2021-11-24 11:43:31 +01:00
Mark Spanbroek
b9a9be350a Simplify signature of TestToken.mint
To be compatible with nim-web3, which doesn't
support arrays in a method signature.
2021-11-23 14:35:00 +01:00
Mark Spanbroek
a69a6d6975 Use deployment fixture for Storage contract tests 2021-11-18 13:56:12 +01:00
Mark Spanbroek
7b16841534 Change test token to allow arbitrary minting 2021-11-18 13:56:12 +01:00
Mark Spanbroek
8bb8441bce Slash host stake when too many proofs are missing 2021-11-04 14:19:58 +01:00
Mark Spanbroek
50bab88447 Allow slashing of stake 2021-11-04 13:16:11 +01:00
Mark Spanbroek
38fee6d83a Pay host when contract is finished 2021-11-04 11:55:47 +01:00
Mark Spanbroek
d2a3cc4a89 Client pays price when creating contract 2021-11-04 11:40:03 +01:00
Mark Spanbroek
afad0e49ec Mint test tokens for both client and host 2021-11-04 11:32:21 +01:00
Mark Spanbroek
54cc2987df Ensure that finishing a contract can only be done once 2021-11-04 11:18:05 +01:00
Mark Spanbroek
aa673ff71c Unlock host stake at end of contract 2021-11-04 10:19:23 +01:00
Mark Spanbroek
6de82709ca Only host can call start on a contract 2021-11-04 10:00:41 +01:00