You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: initial vault contract
* feat: add vault configuration to test harness
* chore: move opstate
* test: init storage for the accounts properly in the test harness
* chore: expose some getters
* feat!: introduce lazy/eager allocations
BREAKING CHANGE: we previously only eagerly allocated, the new approach
is to allocate in a lazy-fashion, unless the vault is a simple vault.
* feat: implement plan-based weighted allocation for per-op reallocate
* feat: add vault events, allocate flow, and withdraw/skim support
* chore: slightly better gas accounting
* test: happy path test
* fix: use calc_refund in AllocationStepSettled event
Co-authored-by: aider (openai/gpt-5) <aider@aider.chat>
* test: further assumptions
* test: user can withdraw position if unborrowed
* test: happy path with withdraw
* feat: add vault-level deferred withdrawals queue and executor
feat: add burn_shares to OpState, assert allocator during withdrawals
feat: emit WithdrawalQueued event on enqueue_pending_withdrawal
refactor: make step_withdraw remaining==0 path unconditional payout
* test: locked state machine
* test: duplicate markets
* chore: default alloc mode
* test: cb tests
* test: more cb tests
* test: props for callbacks
* test: moving tests around and adding callback test suite
* fix: zero the plan on empty weights
* fix: verify mt is underlying
* fix: require allocations to maintain idle
* feat: invariant violations and proper tests
README
* feat: storage management :<
* refactor: constant size for storage
* fix: cap should be unlimited in controller
* feat: gas reports
* feat: assert gas minimums on each fn
* fix: allocations and withdraw executions can't be parallel
* fix: update schemars
* fix: compilation after worker macro was merged
* fix: lints
* ci: gas report for vault
* fix: fmt
* chore: misnamed package
* chore: pr comments - docstrings, requires & panics
* fix: account id has u32 prefix
* chore: rename preconditions to policies
* chore: requires
* fix: gas
* chore: golf
* chore: docstring
* chore: json types for cap
* chore: type for escrowsettlement
* refactor: move returnstyle to lib
* chore: remove clean errors due to json types
* refactor: ensure wad is wide enough for future changes to u256
* chore: json types
* chore: use fixture to clean up macro
* test: internal fee accrual
* chore: comments from call
* wip: refactor numbers and generic style changes for quality
tests
* chore: borshschema
* refactor: clean up
* test: reconcile supply
* test: clean up callback tests
* test: idle tests
* test: use more fixtures
* refactor: document codebase and slight style changes
* refactor: don't acount markets without supply
* refactor: timelock jumping between ns <> secs
* fix: critical idle balance issue with overdrawn markets
* fix: saturating math & test fix
* fix: add force unregister hook
* fix: owner can exfiltrate underlying and/or escrowed share tokens via skim
* chore: emit events on timelock updates
* test: prevent owner reaping
* refactor!: convert introduce AUM modes to better underline tradeoffs between governance write downs and pure accounting
* chore: log on fee accrual
* refactor: make market supply iterable
* feat: AUM module
* chore: move aum to own module
* chore: move tests to slim down sloc
* refactor: cfg to markets
* refactor: set AUM in config
* fix: do not delete configs on removal
* feat: pay for storage when setting skim recipient
* chore: emit event on guardian
* chore: supply is iterable
* fix: don't double refund on insufficient liquidity
* chore: ergonomics in errors
* fix: allocator does not need gas for queue mutation
* fix: aum should use full authoritative supply
* test: update tests to account for latest bug fixes
* feat: add get_idle_balance method and improve gas handling
* fix: ensure idle balance is properly updated during allocation
Co-authored-by: aider (deepseek/deepseek-chat) <aider@aider.chat>
* refactor: update gas constant names and callback methods
* fix: ensure idle_balance updated and add allocation success comments
Co-authored-by: aider (deepseek/deepseek-chat) <aider@aider.chat>
* fix: debugging gas and idle balance
* fix: fmt and clippy
* wip: withdraws(again)
* chore: pr comments
* chore: panic on top level receipts
* chore: name fee wad
* feat: impl deser for wad
* refactor!: simplify adjacent structures
* refactor!: style and move simple governance items to module
* refactor!: queueless withdrawals
* refactor!: callback names are more descriptive
* chore: schemars for numbers
* chore: do a minimum storage bounds
* refactor: use storageless for market configurations
* refactor: avoid requerying
* fix: lints and fmts
* chore: shut up clippy
* chore: update gas
* fix: gas for skim
* fix: invariants were hard to force race condition
* fix: TOCTOU during payouts would cause accounting drift
* fix: check actual balance bounds for the vault around supply boundaries
(don't trust the market)
* fix: share accounting bug was settling AFTER payouts
* fix: avoid wedging during dust redemptions
* fix: additive inflow stranding surplus principal
* fix: after defensive idle decrement - tests
* fix: clippy
* chore: synchronous gas report
* fix: race condition when CI script fails to create the contract
* fix: undo hack
---------
Co-authored-by: aider (openai/gpt-5) <aider@aider.chat>
Co-authored-by: peer2 <peer2@templarprotocol.com>
0 commit comments