Mark Spanbroek
f9c2701282
vault: document setAutomine()
2025-01-30 14:12:42 +01:00
Mark Spanbroek
28ad5ced18
vault: disallow designating of flowing tokens
2025-01-30 14:12:42 +01:00
Mark Spanbroek
b988db9bd3
vault: fix flaky time sensitive tests
...
Ensures that setting of lock and starting of
flow happen in the same block.
Therefore hardhat cannot occasionally increase
the timestamp between the two operations.
This makes predicting the balances over time
much easier.
2025-01-30 14:12:42 +01:00
Mark Spanbroek
0cc8f6c73f
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-01-30 12:57:06 +01:00
Mark Spanbroek
6eeffb3c62
vault: delete flow when burning or withdrawing
2025-01-28 16:17:14 +01:00
Mark Spanbroek
ef51834740
vault: cannot burn flowing tokens
2025-01-28 16:10:03 +01:00
Mark Spanbroek
7e1e71d25e
vault: disallow transfer of flowing tokens
2025-01-28 15:56:53 +01:00
Mark Spanbroek
c16673e2d6
vault: simplify example flow rates in test
2025-01-28 15:55:50 +01:00
Mark Spanbroek
715bbfe174
vault: allow flows to be diverted to others
2025-01-28 15:22:47 +01:00
Mark Spanbroek
1108e3fe0d
vault: check Lock invariant before writing
2025-01-28 15:06:16 +01:00
Mark Spanbroek
bb7c66629b
vault: change flows over time
2025-01-28 14:58:14 +01:00
Mark Spanbroek
ac52545574
vault: make tests a bit more robust
2025-01-28 10:36:52 +01:00
Mark Spanbroek
e8fd8f9db5
vault: reject negative flows
2025-01-28 10:33:54 +01:00
Mark Spanbroek
8ff26ca577
vault: flow to multiple recipients
...
- changes balance from uint256 -> uint128
so that entire Balance can be read or written
with a single operation
- moves Lock to library
- simplifies lock checks
2025-01-28 10:31:39 +01:00
Mark Spanbroek
3767d9afba
vault: improve naming of public functions
2025-01-28 10:22:17 +01:00
Mark Spanbroek
ae160498ca
vault: allow automine to be disabled in time sensitive tests
2025-01-28 10:16:37 +01:00
Mark Spanbroek
cf875eb0d7
vault: do not allow flow when lock already expired
2025-01-23 15:05:07 +01:00
Mark Spanbroek
38f3a73c8f
vault: reject flow when insufficient tokens available
2025-01-23 14:28:17 +01:00
Mark Spanbroek
d9452a7ac2
vault: stop flowing when lock expires
2025-01-23 14:20:17 +01:00
Mark Spanbroek
d9722d55fd
vault: use custom operators to improve readability
2025-01-23 10:19:41 +01:00
Mark Spanbroek
1df6afb132
vault: move flow accumulation calculation into VaultBase
2025-01-22 16:16:55 +01:00
Mark Spanbroek
0ccea78369
update prettier-plugin-solidity to 1.4.2
2025-01-22 16:07:47 +01:00
Mark Spanbroek
b3fbc19bf5
vault: designate tokens that flow
2025-01-22 15:58:34 +01:00
Mark Spanbroek
f59ec3d5e2
vault: flow tokens from one recipient to the other
2025-01-22 15:07:51 +01:00
Mark Spanbroek
9c6224a370
update solhint to 5.0.5
2025-01-22 14:51:43 +01:00
Mark Spanbroek
922121e659
vault: allow recipient to withdraw
2025-01-22 11:59:51 +01:00
Mark Spanbroek
834255c871
vault: further test for locks
2025-01-22 11:59:51 +01:00
Mark Spanbroek
572ada3c83
vault: remove duplication in tests
2025-01-22 11:59:51 +01:00
Mark Spanbroek
9dd5d7bc5f
vault: simplify test setup
2025-01-22 11:59:51 +01:00
Mark Spanbroek
bd9d88443c
vault: lock is deleted upon withdrawal
2025-01-22 11:59:51 +01:00
Mark Spanbroek
bfd3c43555
vault: lock up tokens until expiry time
2025-01-22 11:59:51 +01:00
Mark Spanbroek
43f310518f
vault: designate tokens for a single recipient
2025-01-22 11:59:51 +01:00
Mark Spanbroek
2412eb092e
vault: transfer tokens from one recipient to the other
2025-01-22 11:59:51 +01:00
Mark Spanbroek
69b2b4fd90
vault: burning funds
2025-01-22 11:59:51 +01:00
Mark Spanbroek
7e6bc18b19
vault: change data structure to be recipient oriented
2025-01-22 11:59:51 +01:00
Mark Spanbroek
5a2e183610
vault: deposit and withdraw
2025-01-22 11:59:51 +01:00
Mark Spanbroek
44fcab0fc5
update solidity to version 0.8.28
2025-01-22 11:59:51 +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
Slava
c3e4fdd321
Add codex_testnet deployment artifacts ( #197 )
...
https://github.com/codex-storage/infra-codex/issues/248
2024-10-21 10:00:46 +02:00
Andrea Franz
2a1bef5255
chore(certora): verify slots transitions and that a slot can be paid only once
2024-10-15 11:06:46 +02:00
Slava
997696a20e
Add codex_testnet deployment artifacts ( #190 )
2024-10-08 14:27:06 +02:00