Mark Spanbroek
4f880bb08a
vault: improve naming of public functions
2025-03-04 09:36:00 +01:00
Mark Spanbroek
a18fbb8899
vault: allow automine to be disabled in time sensitive tests
2025-03-04 09:36:00 +01:00
Mark Spanbroek
dc4e277a20
vault: do not allow flow when lock already expired
2025-03-04 09:36:00 +01:00
Mark Spanbroek
b270a0355f
vault: reject flow when insufficient tokens available
2025-03-04 09:36:00 +01:00
Mark Spanbroek
f8fb23a8dd
vault: stop flowing when lock expires
2025-03-04 09:36:00 +01:00
Mark Spanbroek
b3964cd1f0
vault: use custom operators to improve readability
2025-03-04 09:36:00 +01:00
Mark Spanbroek
1d3e2fd4a3
vault: move flow accumulation calculation into VaultBase
2025-03-04 09:36:00 +01:00
Mark Spanbroek
40e6f1cdcc
vault: designate tokens that flow
2025-03-04 09:36:00 +01:00
Mark Spanbroek
7403886283
vault: flow tokens from one recipient to the other
2025-03-04 09:36:00 +01:00
Mark Spanbroek
606cfc4c1e
vault: allow recipient to withdraw
2025-03-04 09:36:00 +01:00
Mark Spanbroek
b64b65a692
vault: further test for locks
2025-03-04 09:36:00 +01:00
Mark Spanbroek
cbbcad5166
vault: remove duplication in tests
2025-03-04 09:36:00 +01:00
Mark Spanbroek
6dbbdb5bd3
vault: simplify test setup
2025-03-04 09:36:00 +01:00
Mark Spanbroek
16a8b020bc
vault: lock is deleted upon withdrawal
2025-03-04 09:36:00 +01:00
Mark Spanbroek
caf86d184e
vault: lock up tokens until expiry time
2025-03-04 09:36:00 +01:00
Mark Spanbroek
e1f914726b
vault: designate tokens for a single recipient
2025-03-04 09:36:00 +01:00
Mark Spanbroek
7018f9ef22
vault: transfer tokens from one recipient to the other
2025-03-04 09:36:00 +01:00
Mark Spanbroek
eb1b821346
vault: burning funds
2025-03-04 09:36:00 +01:00
Mark Spanbroek
230e2140eb
vault: change data structure to be recipient oriented
2025-03-04 09:36:00 +01:00
Mark Spanbroek
d8049faf22
vault: deposit and withdraw
2025-03-04 09:36:00 +01:00
Mark Spanbroek
1982e71d52
update prettier-plugin-solidity to 1.4.2
2025-03-04 09:33:20 +01:00
Mark Spanbroek
441d96bb08
update solhint to 5.0.5
2025-03-04 09:33:20 +01:00
Mark Spanbroek
9826f31788
update solidity to version 0.8.28
2025-03-04 09:33:20 +01:00
Mark Spanbroek
e4ff7b6c78
marketplace: fix more flaky tests
2025-03-04 08:58:10 +01:00
Mark Spanbroek
69e97bd21d
marketplace: fix flaky tests
2025-03-04 08:58:10 +01:00
Mark Spanbroek
e31e39f22c
simplify time-based logic in tests, and fix requestEnd()
...
- use the `allowBlocksWithSameTimestamp` hardhat option
- remove block time gymnastics from marketplace tests
- fix erroneous implementation of requestEnd() which
surfaced because of the the improved tests
2025-03-04 08:58:10 +01:00
Slava
407beed0af
ci: use common docker reusable workflow ( #222 )
2025-02-26 11:08:19 +01:00
Slava
a25c10e0d3
chore: codex_testnet deployment artifacts ( #221 )
...
https://github.com/codex-storage/nim-codex/issues/1126
2025-02-25 09:52:04 +02:00
Adam Uhlíř
c00152e621
perf: optimizing parameters sizing ( #207 )
...
* perf: optimizing parameters sizing
* chore: feedback
Co-authored-by: markspanbroek <mark@spanbroek.net>
* style: formatting
* perf: more optimizations
* chore: fixes
* chore: fix certora spec
* chore: more fixes for certora spec
* chore: more and more fixes for certora spec
* fix: ends type
* test(certora): timestamp conversion
* test(certora): timestamp conversion again
* test(certora): timestamp conversion revert to assert_uint64
* test(certora): timestamp with mathint
* test(certora): timestamp back with uint64 with require
* Add missing configuration
* Fix previous merge
* Update StorageRequested to use int64 for expiry
* requestDurationLimit => uint64
---------
Co-authored-by: markspanbroek <mark@spanbroek.net>
Co-authored-by: Arnaud <arnaud@status.im>
Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com>
2025-02-20 16:54:41 +11:00
Adam Uhlíř
ff82c26b36
feat: request duration limit ( #206 )
...
* feat: request duration limit
* Merge master and use custom error
* Remove slashCriterion
---------
Co-authored-by: Arnaud <arnaud@status.im>
2025-02-18 15:27:47 +01:00
Arnaud
0f2012b144
Change the cid from string to bytes ( #214 )
...
* Change the cid from string to bytes
* Fix content definition
* Fix cid invalid test
2025-02-13 13:03:45 +00:00
Mark Spanbroek
875e4d53ec
change constructor param to config
...
Changes the Marketplace constructor parameter `configuration` to `config` to prevent overshadowing the `configuration()` method.
2025-02-13 10:44:14 +01:00
Arnaud
51bae145fc
Reward validator when marking missing proof ( #209 )
2025-01-27 11:33:23 +01:00
Arnaud
6753d20b17
Remove missing proof leniency ( #210 )
2025-01-27 10:14:53 +00:00
Arnaud
78c15710f3
Remove the mapping _probabilities ( #215 )
...
* Remove the mapping _probabilities
* Fix the slot propability calculation test by filling slot only instead of requiring proofs
* Remove custom errorr Proofs_InvalidProbability not used anymore
2025-01-27 10:02:27 +00:00
Marcin Czenko
e74d3397a1
Feat: price per byte ( #208 )
...
* changes reward => pricePerByte
* collateral => collateralPerByte
* updates tests
* introduces AskHelpers to compute price and collateral per slot
* adds public view function returning currentCollateral for the slot
* updates names for price and collateral
* uses pricePerSlotPerSecond in maxPriceHelper
* adds collateralPerSlot helper
* makes sure that the intended use of the <<currentCollateral>> view function is demonstrated in tests
* formatting
* fix comment
* mints more tokens so that it can be used with contracts tests in nim-codex
* Renaming <<collateral>> and <<reward>> to <<collateralPerByte>> and <<pricePerBytePerSecond>> respectively (merged in the meantime to the master)
2025-01-24 15:28:29 +01:00
Arnaud
d04acafde2
Add request validations ( #213 )
...
* Add request validations
* Apply custom errors
2025-01-24 12:49:06 +01:00
Arnaud
500498f8bc
Replace assert by revert ( #216 )
...
* Replace assert with revert
2025-01-24 11:07:55 +01:00
Arnaud
604d4c87eb
Reject when probability is 0 ( #212 )
...
* Reject when probability is 0
* Apply custom error
2025-01-24 10:13:45 +01:00
Arnaud
bfa5a78b4f
Verify than secondsPerPeriod cannot be zero ( #211 )
...
* Assert than secondsPerPeriod cannot be zero
* Apply custom error
2025-01-24 09:22:21 +01:00
r4bbit
02e3b8d22b
refactor(Marketplace): Use custom errors instead of string messages ( #141 )
...
Co-authored-by: Adam Uhlíř <adam@uhlir.dev>
2025-01-15 14:11:40 +01:00
Adam Uhlíř
dfab6102e7
feat: repair reward ( #193 )
2024-12-12 18:39:42 +01:00
Adam Uhlíř
06f9f56cd2
ci: tweaks run triggers and checkout hash ( #205 )
2024-12-05 11:10:29 +01:00
Slava
b181639bb6
Add codex_testnet deployment artifacts ( #204 )
...
https://github.com/codex-storage/nim-codex/issues/1000
2024-11-26 11:43:22 +02:00
Slava
c970c632b8
Add codex_testnet deployment artifacts ( #199 )
...
https://github.com/codex-storage/nim-codex/issues/983
2024-11-25 20:27:00 +02:00
Mark Spanbroek
945f6008c8
Increase proof period to 90 seconds on hardhat network
...
reason: on windows, integration tests run so slow that
they cannot fill a slot within 60 seconds
2024-11-14 14:53:37 +01:00
Mark Spanbroek
11ccefd720
Different configurations for different networks
...
By default we have a proof period of 2 minutes,
but on hardhat it's 1 minute.
2024-11-08 06:36:31 +01:00
Eric
1ce3d10fa2
fix(slot-reservations): ensure slot is free ( #196 )
...
Ensure that the slot state is free before allowing reservations
2024-10-30 15:48:37 +11:00
Eric
7645df19ab
renames config to configuration ( #198 )
...
This is not the right reason to be making this kind of change, but a very hard to debug symbol clash in codex for `config`. Changing this to `configuration` is the easiest way to fix the issue.
2024-10-29 19:02:42 +11:00
r4bbit
0b39274ed5
refactor(certora): extract allowedRequestStateChanges rule into own
...
file
Closes #192
2024-10-21 15:36:29 +02:00