20 Commits

Author SHA1 Message Date
Mark Spanbroek
450e5308d9 vault: split flow into incoming and outgoing
- no need to deal with signed integers anymore
- allows flow to self to designate tokens over time
2025-03-04 09:36:00 +01:00
Mark Spanbroek
f9464f9118 vault: combine Account and Flow structs 2025-03-04 09:36:00 +01:00
Mark Spanbroek
5d3683383d vault: do not delete lock when burning 2025-03-04 09:36:00 +01:00
Mark Spanbroek
2600578b48 vault: formatting 2025-03-04 09:36:00 +01:00
Mark Spanbroek
ee6d56a54b vault: reordering 2025-03-04 09:36:00 +01:00
Mark Spanbroek
16f853b5d8 vault: simplify _getAccount() 2025-03-04 09:36:00 +01:00
Mark Spanbroek
bdc721bfaa vault: _getAccount updates to the latest timestamp 2025-03-04 09:36:00 +01:00
Mark Spanbroek
2108f1265a vault: combine account and flow mappings 2025-03-04 09:36:00 +01:00
Mark Spanbroek
68d93fa5b5 vault: rename balance -> account 2025-03-04 09:36:00 +01:00
Mark Spanbroek
fdc642b1df vault: rename context -> fund 2025-03-04 09:36:00 +01:00
Mark Spanbroek
f64c373e8f vault: reorder functions
in roughly chronological order
2025-03-04 09:36:00 +01:00
Mark Spanbroek
6e531f2087 vault: only allow deposit, transfer, etc when locked 2025-03-04 09:36:00 +01:00
Mark Spanbroek
f26cb9c04d vault: delete lock all tokens are withdrawn or burned 2025-03-04 09:36:00 +01:00
Mark Spanbroek
d0b8f961b2 vault: disallow designating of flowing tokens 2025-03-04 09:36:00 +01:00
Mark Spanbroek
c1031d3b07 vault: delete flow when burning or withdrawing 2025-03-04 09:36:00 +01:00
Mark Spanbroek
a0e3a51b37 vault: cannot burn flowing tokens 2025-03-04 09:36:00 +01:00
Mark Spanbroek
82d490c8d0 vault: disallow transfer of flowing tokens 2025-03-04 09:36:00 +01:00
Mark Spanbroek
f0da7cd918 vault: check Lock invariant before writing 2025-03-04 09:36:00 +01:00
Mark Spanbroek
220b648758 vault: change flows over time 2025-03-04 09:36:00 +01:00
Mark Spanbroek
db8b06a51b 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-03-04 09:36:00 +01:00