markspanbroek
5a74b83c4c
Merge b5ab3869b949f651a3ed9aeb914feed7bd0dfd47 into 2dddc260152b6e9c24ae372397f9b9b2d27ce8e4
2025-06-20 08:31:27 +02:00
Arnaud
2dddc26015
chore: status L2 Linea test deployment ( #226 )
...
* Statis L2 Linea test deployment
* Fix config when private key is empty
* Remove circuit files
2025-06-20 08:14:39 +02:00
Slava
449d64ffc0
chore: codex_testnet deployment artifacts ( #254 )
...
https://github.com/codex-storage/nim-codex/issues/1282
2025-06-19 17:51:36 +03:00
Slava
a4ca4f9cb6
chore(codex-devnet): update verifier artifacts ( #253 )
...
* chore(codex-devnet): remove binary artifacts
* chore(codex-devnet): update verifier artifacts
2025-06-19 14:26:15 +02:00
Slava
886e8c5b0f
chore: codex_testnet deployment artifacts ( #247 )
...
https://github.com/codex-storage/nim-codex/issues/1269
2025-06-17 12:56:22 +00:00
Ben Bierens
ce15c6af45
Updates verifier network artifacts ( #252 )
2025-06-17 12:16:00 +00:00
Ben Bierens
2e7f81da9a
Use codex_testnet verifier artifact for dist-tests ( #251 )
...
* Removes artifacts
* Creates symlink to codex_testnet
2025-06-17 14:08:09 +02:00
Mark Spanbroek
b5ab3869b9
marketplace: better tests for repair
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-12 15:50:09 +02:00
Mark Spanbroek
d7554ce0d2
marketplace: improve withdraw test
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-12 08:05:24 +02:00
Mark Spanbroek
4410941061
marketplace: add test for hosts that makes request fail
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 17:00:52 +02:00
Mark Spanbroek
cd8b6572f3
marketplace: fix test
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 17:00:24 +02:00
Mark Spanbroek
075d97e5da
marketplace: clarify why we flow & transfer funds before burning
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 16:31:58 +02:00
Mark Spanbroek
895e36fbba
marketplace: clarify why we flow funds from client to itself
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 16:31:58 +02:00
Mark Spanbroek
bdee8de9cc
marketplace: move collateralPerSlot() to Requests.sol
...
reason: the function only depends on the request, and it is similar
to the pricePerSlotPerSecond function
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 16:31:58 +02:00
Mark Spanbroek
1fb3d2130b
marketplace: cleanup
...
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 16:31:58 +02:00
Mark Spanbroek
724344cb5e
marketplace: allow slot payout for failed requests
...
reason: hosts are paid for the time that they hosted
the slot up until the time that the request failed
Co-Authored-By: Adam Uhlíř <adam@uhlir.dev>
2025-06-11 16:31:58 +02:00
Mark Spanbroek
2cd45214cf
marketplace: no longer expose forciblyFreeSlot in tests
...
reason: freeSlot() will call forciblyFreeSlot when contract is not
finished, so we can use that instead
2025-06-11 16:31:58 +02:00
Mark Spanbroek
47f3c1e36d
marketplace: keep request in myRequests when freeing slot
...
Because a client might still need to call withdraw()
2025-06-11 16:31:58 +02:00
Mark Spanbroek
9603025202
marketplace: simplify requestEnd()
2025-06-11 16:31:58 +02:00
Mark Spanbroek
7a566182d5
marketplace: re-instate currentCollateral()
...
So that a storage provider can know how much collateral is
returned when it calls freeSlot()
2025-06-11 16:31:58 +02:00
Mark Spanbroek
6971766b62
marketplace: cleanup tests
2025-06-11 16:31:58 +02:00
Mark Spanbroek
6bd4144714
marketplace: repair reward is paid out at the end
...
It is no longer a discount on the collateral, to
simplify reasoning about collateral in the sales
module of the codex node
2025-06-11 16:31:58 +02:00
Mark Spanbroek
e4348de891
certora: update state changes spec now that we have vault
2025-06-11 16:31:58 +02:00
Mark Spanbroek
51862f67e9
certora: remove check on ERC20 token
...
No need to test the token itself
2025-06-11 16:31:58 +02:00
Mark Spanbroek
2d21d65624
certora: update marketplace spec now that we have vault
...
- changes to marketplace constructor
- we no longer have _marketplaceTotals
- timestamps have their own type now
- freeSlot no longer takes payout addresses
- slot state 'Paid' no longer exists
- freeSlot can be invoked more than once now
- a failed request no longer ends immediately
2025-06-11 16:31:58 +02:00
Mark Spanbroek
52cf22789c
proofs: use Timestamp instead of uint64
2025-06-11 16:31:56 +02:00
Mark Spanbroek
468bc2e833
marketplace: remove 'Paid' state
...
This state is no longer necessary, vault ensures
that payouts happen only once. Hosts could bypass
this state anyway by withdrawing from the vault
directly.
2025-06-11 16:29:21 +02:00
Mark Spanbroek
5fb63c4939
marketplace: cleanup
2025-06-11 16:29:21 +02:00
Mark Spanbroek
06a9e417b2
marketplace: remove accounting that is now done by vault
2025-06-11 16:29:21 +02:00
Mark Spanbroek
e60ff36202
marketplace: formatting
2025-06-11 16:29:21 +02:00
Mark Spanbroek
17646f15b9
marketplace: designate validator rewards
...
so that they can no longer be transfered
within the vault
2025-06-11 16:29:21 +02:00
Mark Spanbroek
b6f5d65630
marketplace: transfer repair reward in vault
2025-06-11 16:29:21 +02:00
Mark Spanbroek
5c9910d29d
marketplace: optimize storage reads and writes
2025-06-11 16:29:21 +02:00
Mark Spanbroek
5e8031eda5
marketplace: remove accounting that is now done by vault
2025-06-11 16:29:21 +02:00
Mark Spanbroek
c626372d55
marketplace: burn tokens in vault when slashing
...
- move all collateral calculatons to separate library
2025-06-11 16:29:21 +02:00
Mark Spanbroek
3ea02914fa
marketplace: simplify withdrawing by client
...
- removes RequestCancelled event, which was not great anyway
because it is not emitted at the moment that the request is
cancelled
2025-06-11 16:29:21 +02:00
Mark Spanbroek
9570404fba
marketplace: remove accounting that is now done by vault
2025-06-11 16:29:21 +02:00
Mark Spanbroek
15c58e1a81
marketplace: remove fuzzing
...
replaced by formal verification with certora
2025-06-11 16:29:21 +02:00
Mark Spanbroek
761fbd4f84
marketplace: collateral is uint128
...
Vault stores balances as uint128
2025-06-11 16:29:21 +02:00
Mark Spanbroek
4f45856a5e
marketplace: use Timestamp, Duration and TokensPerSecond types
2025-06-11 16:29:19 +02:00
Mark Spanbroek
ccf91075bf
vault: move Timestamp and TokensPerSecond libraries one level up
2025-06-11 16:29:13 +02:00
Mark Spanbroek
0910c83428
marketplace: use vault in marketplace
2025-06-11 16:29:13 +02:00
Mark Spanbroek
6ebed47327
marketplace: remove support for changing payout addresses
2025-06-11 16:29:13 +02:00
Mark Spanbroek
aee61bdb45
marketplace: deploy vault and set it in the marketplace
2025-06-11 16:29:13 +02:00
Mark Spanbroek
341b303789
marketplace: use SafeERC20 for transfers
2025-06-11 16:29:11 +02:00
Dmitriy Ryajov
08e91c2443
chore(hardhat): bumping hardhat to v2.24.2 ( #245 )
...
* bumping hardhat to v2.24.2
* Ensure to get the next block timestamp
---------
Co-authored-by: Arnaud <arnaud@status.im>
2025-06-09 11:25:00 -07:00
Ben Bierens
4b2fc07ca9
chore: Updates zkey archive to include graph file ( #246 )
2025-06-09 09:45:19 +02:00
Eric
3661376327
fix(integration): fixes hardhat not recognising custom error ( #243 )
...
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2025-06-05 12:42:01 -07:00
Adam Uhlíř
06c76e59b5
build: docker uses npm ci ( #244 )
2025-06-05 10:25:12 +02:00
Arnaud
aee91f1ac4
chore: add a new canMarkProofAsMissing function ( #229 )
...
* Add a new canProofBeMarkedAsMissing function
* Rename modifier
* Rename canProofBeMarkedAsMissing to canMarkProofAsMissing
2025-06-03 09:06:57 +02:00