Commit Graph

2320 Commits

Author SHA1 Message Date
Christian Kamm 997f9abe52 Changelog update 2023-12-31 13:42:43 +01:00
Christian Kamm 943f578bc5 Program v0.21.1 version bump, changelog draft, idl update 2023-12-31 11:45:09 +01:00
Christian Kamm 5c2f857112 Bank: require borrows <= deposits
- require borrows <= deposits, even if vaults have more tokens
- change min_vault_to_deposits_ratio to be about max utilization
2023-12-30 17:50:38 +01:00
Christian Kamm 3914e48c24 Clamp utilization at 100%
To avoid excessive interest rates or interest curve moves.
2023-12-30 11:41:10 +01:00
Christian Kamm d6f46bec70 Fix program tests after cherry-picks 2023-12-07 13:23:18 +01:00
Christian Kamm 509afb01b6 adjust token_register_trustless params (#810)
- since there's no borrowing or asset weight, don't put staleness or
  confidence restrictions on the oracle
- disable the tcs fees, they are not enabled anywhere yet

(cherry picked from commit 5f8f717430)
2023-12-06 16:48:00 +01:00
Christian Kamm cbfdbd13ec Changelog for v0.21 (#809)
(cherry picked from commit 80c12f95b2)
2023-12-06 11:52:20 +01:00
Christian Kamm db4e486643 Bump program version to v0.21.0 and update idl 2023-12-05 15:57:42 +01:00
Christian Kamm e7bfa4e03e Deposit limits (#806)
- limit deposits (via deposit, flash loan, tcs)
- limit potential deposits via openbook settle
  by restricting placable orders via potential_serum_tokens
- introduce Serum3PlaceOrderV2 for this purpose
- account for new limits in liquidator, max_swap

(cherry picked from commit 42e31ae859)
2023-12-05 15:57:26 +01:00
Christian Kamm f533d65a58 Openbook token tracking and price bands (#805)
- track min bid, max ask
- track maximal token outflow from oo
- add serum3_place_order_v2 with mutable receiver bank
- placing openbook orders is restricted to a certain distance from the
  oracle

(cherry picked from commit 81501837a9)
2023-12-05 15:48:57 +01:00
Christian Kamm 99790a01e4 revert trustless token registration params to conservative defaults (#804)
This mostly reverts commit 33bc278a2c.

(cherry picked from commit 361ba23df1)
2023-12-05 10:14:48 +01:00
Christian Kamm 04f0f55aa5 Disable TokenAddBank instruction (#803)
It was unused for a long time and it should be reevaluated before being
used.

(cherry picked from commit f03944b5dd)
2023-12-05 10:14:36 +01:00
Christian Kamm eceef44a96
Log emissions: Serialize to buffer on stack instead of using heap (#787)
Emitting many events could previously cause heap exhaustion.
2023-11-22 16:00:47 +01:00
Christian Kamm eeb172e44e
Bank: Close zero position when withdrawing 0 (#793) 2023-11-22 15:54:38 +01:00
Christian Kamm 57a9835aa8
Reduce HealthCache heap use (#785)
Growing these vectors is a waste, rough measurements say this saves
around 1k bytes for a 5 tokens and 4 serum account.
2023-11-20 10:15:39 +01:00
Christian Kamm 0ac930eb8d tests: fix build 2023-11-16 16:44:18 +01:00
Christian Kamm 2d1bf023c6
TokenRegister: Add arg for group insurance fund flag (#782) 2023-11-16 08:16:18 +01:00
Christian Kamm 93d85c3f71
Bank: allow maint weights to change over time (#780)
- token_edit can set it up to gradually scale to new target values
- security admin can abort an ongoing change via token_edit
- all health computations are now time dependent and get the weight
  based on it
- when the change is done, the keeper "cleans up" and moves the new
  values into the default fields
2023-11-14 14:52:04 +01:00
Christian Kamm 8e1f512639 Client: remove stray debug output 2023-11-08 13:52:12 +01:00
Christian Kamm 06dd834215 Merge remote-tracking branch 'origin/dev' into deploy 2023-11-08 13:32:08 +01:00
Christian Kamm 12d74789ef
cli: save-snapshot command (#773) 2023-11-08 10:27:55 +01:00
Christian Kamm 7af1d58558
Some clippy fixes (#776) 2023-11-08 09:51:36 +01:00
microwavedcola1 5ca5d8f78c
program: even delegate can create token position (#775)
* program: even delegate can create token position

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-08 09:06:43 +01:00
Christian Kamm 0ad26d845f
liquidator: Allow excluding tokens from rebalance (#774) 2023-11-08 08:51:41 +01:00
Christian Kamm c49efb2213
Change conditions for perp settle incentive (#771)
- Only ever give an incentive when pnl is at least 1% of the position
  value. That way large positions (like $100k in SOL-PERP) don't get
  settled on 0.1% price fluctuations. The price now needs to change by
  1% for settlement to occur.
- For low health incentives, cap the percentual incentive at 2x the flat
  settle fee. We want to give the settler incentive to use these first,
  but the settler doesn't take on risk, so the reward doesn't need to be
  large.
2023-11-07 12:01:02 +01:00
Steve | mango 29fa27b76b
Merge pull request #757 from blockworks-foundation/groovie/readme-onchain-dev
FAQ for program development troubleshooting
2023-11-07 10:32:02 +01:00
Christian Kamm 37195b5f83 separate file, editing 2023-11-07 09:02:07 +01:00
Lou-Kamades 35bdf46c05
update getCumulativeFundingUi comment 2023-11-05 23:51:49 +01:00
Lou-Kamades ac98a56e7d
v0.19.43 2023-11-05 15:15:05 +01:00
Lou-Kamades b39412d3a2
add getCumulativeFundingUi 2023-11-05 15:13:23 +01:00
Lou-Kamades 2b4101d978
v0.19.42 2023-11-05 14:33:58 +01:00
Nicholas Clarke a4fa1b801b
Add getCumulativeFunding to client. (#602)
* Add getCumulativeFunding to client.
2023-11-05 14:27:46 +01:00
Harrison Green ff0c1dcf1b
add audit report for v0.20.0 (#772) 2023-11-04 07:27:40 +01:00
Christian Kamm f690514638
rust client: ix cu limits based on health compute cost (#768)
Many instructions now return PreparedInstructions instead of a direct
Instruction or Vec<Instruction>. That way they can keep track of the
expected cu cost of the instructions for the compute limit instruction
that gets added once all instructions are made.
2023-11-03 11:20:37 +01:00
Christian Kamm 941f945999
fast listing: disable flash loan swap fee (#770) 2023-11-02 10:40:43 +01:00
Christian Kamm 26549ffd92
Bank: track deposits in serum oo accounts (#769) 2023-11-02 10:40:31 +01:00
microwavedcola1 d84f61c07f v0.19.41 2023-10-31 22:44:40 +01:00
microwavedcola1 7a8602b3ab ts: bump cu for now
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-31 22:42:06 +01:00
microwavedcola1 ad514f31f1 ts: yarn dedupe
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-31 08:36:45 +01:00
microwavedcola1 2910fd1cfa ts: yarn dedupe
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-31 08:36:34 +01:00
Christian Kamm c667a6615b
Merge pull request #767 from blockworks-foundation/ckamm/audit-fixes
Address audit comments
2023-10-31 08:21:19 +01:00
Christian Kamm 5d08f4ae0f tcs trigger: consistent maker fee computation 2023-10-30 17:22:24 +01:00
Christian Kamm c5cbdd927f tcs start: defensive assert on sold <= max_sell 2023-10-30 13:43:15 +01:00
Christian Kamm a81d0918cc tcs start: use same naming convention as in other ix
liqee/liqor over account/caller
2023-10-30 13:41:19 +01:00
Christian Kamm a24e43c8a7 tcs trigger: remove dead code
deactivation of liqee token positions is impossible because they're in
use until the tcs is closed
2023-10-30 13:30:08 +01:00
Christian Kamm 15072be644 tcs trigger: simplify min buy check for expired 2023-10-30 13:25:53 +01:00
microwavedcola1 3ed4e63b58 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:46:58 +02:00
microwavedcola1 fb97685e07 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:45:26 +02:00
microwavedcola1 e8505ddeaa settle a particular account
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 17:50:13 +02:00
microwavedcola1 24c2c2d7bf v0.19.38 2023-10-23 15:02:44 +02:00