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
b15f4e749b
Fix test name
2022-03-01 09:38:53 +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
61c41e415d
Fix test file name
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
7bcf3fe92c
Run linter before tests
2022-02-10 07:46:03 +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
41fd33ac7a
Add license
2022-01-10 11:16:47 +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
a794141308
Add `npm start` to start development node
...
It also creates a JSON file with addresses
of the deployed contracts.
2021-11-18 13:56:12 +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
9b957b9663
Add hardhat-deploy-ethers plugin
2021-11-18 13:56:12 +01:00
Mark Spanbroek
ce4760608b
Add deployment scripts for TestToken and Storage
2021-11-18 13:56:12 +01:00
Mark Spanbroek
3431f77c82
Add hardhat-deploy plugin
2021-11-18 13:56:12 +01:00
Mark Spanbroek
f499b8453d
Add Readme
2021-11-08 16:07:43 +01:00
Mark Spanbroek
0c0ee0fad6
MIT license
2021-11-08 16:03:32 +01:00
Mark Spanbroek
2277fd1366
Add TODO
2021-11-04 14:28:02 +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
8fbb99630c
Ensure that starting a contract can only be done once
2021-11-04 10:23:00 +01:00
Mark Spanbroek
aa673ff71c
Unlock host stake at end of contract
2021-11-04 10:19:23 +01:00
Mark Spanbroek
d0a22afc3d
Extract mining test helpers to separate module
2021-11-04 10:18:09 +01:00
Mark Spanbroek
6de82709ca
Only host can call start on a contract
2021-11-04 10:00:41 +01:00
Mark Spanbroek
376962322d
Only expect proofs when the contract is started
2021-11-04 10:00:41 +01:00
Mark Spanbroek
7bb949a5cc
Wording
2021-11-03 17:20:33 +01:00
Mark Spanbroek
b865d0f4c9
Decrease chance of incidental test failure
2021-11-03 17:15:24 +01:00
Mark Spanbroek
c0fb0c725c
Do not require proofs before start of contract
2021-11-03 17:15:03 +01:00
Mark Spanbroek
8efa9fe162
Stop requiring proofs when contract has ended
2021-11-03 17:02:12 +01:00
Mark Spanbroek
2784800c3e
Add end time to proofs based on contract duration
2021-11-03 17:01:11 +01:00
Mark Spanbroek
3326c4fe74
Make isProofRequired() work for the current block
...
The block hash of the current block is not known yet, so
we use the block hash of the previous block to determine
whether a proof is required for a block.
2021-11-03 13:20:40 +01:00
Mark Spanbroek
e7f3dc3dae
Define contract duration in number of blocks
...
This makes calculation with duration in Solidity simpler
and less prone to errors.
2021-11-03 11:10:42 +01:00
Mark Spanbroek
65c3cacb66
Host stake is locked up when contract is created
2021-11-02 12:50:20 +01:00