Christian Kamm
1f55d549a6
liquidator: execute tcs with volume-weighted randomness ( #670 )
2023-08-11 12:08:34 +02:00
Christian Kamm
e4a9a56f89
Pass all params to token_register ( #665 )
...
Makes governance a little easier
2023-08-09 13:55:53 +02:00
Maximilian Schneider
e4162a8281
Leverage & Balance Sheet helpers ( #637 )
2023-08-09 13:54:09 +02:00
Christian Kamm
6dcd5c925c
FlashLoan swaps: Allow charging a fee ( #660 )
...
To give more flexibility to the DAO.
The fee is deducted from any deposits that happen during the flash loan
and controlled per-bank with TokenEdit.
2023-08-09 13:27:25 +02:00
Christian Kamm
faa0649c6a
Fix program tests after temporary delegate addition
2023-08-09 13:18:28 +02:00
microwavedcola1
8d924a8b9b
Delegate with expiry ( #663 )
...
* delegate with expiry
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* update idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
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-08-09 12:05:16 +02:00
Christian Kamm
4810b6afbc
Tcs: store a display-only intention enum ( #667 )
...
This way the ui can know what the user created the tcs order for.
Introduces tcs create and trigger v2 logs.
2023-08-08 18:16:59 +02:00
Christian Kamm
785e6353c1
Fix compile after merges
2023-08-08 10:36:21 +02:00
Christian Kamm
774c67909e
Tcs: Use fees config from Bank instead of Group ( #659 )
...
To give more flexibility to the DAO, the maximum tcs fees from
the buy and sell banks will be used.
2023-08-08 10:21:13 +02:00
Christian Kamm
4f810edebc
Allow token withdraws/deposits even with stale oracles ( #646 )
2023-08-07 16:15:45 +02:00
Lou-Kamades
98cbf2df59
Merge pull request #652 from blockworks-foundation/lou/token-conditional-logs
2023-08-03 12:30:40 -05:00
Christian Kamm
44f0f4ffa3
Clippy fixes ( #656 )
2023-08-03 13:27:04 +02:00
Christian Kamm
1be38d14cb
Tcs: Add price display style enum ( #654 )
...
Tcs orders always store prices in a fixed "sell per buy" style, but users
can create them in either price direction. When they look at them later,
the ui needs to know what their preferred style is for this order.
2023-08-03 12:37:01 +02:00
Christian Kamm
06f6d75b98
Fix typo in admin_token_withdraw_fees ix ( #655 )
2023-08-03 12:34:33 +02:00
Lou-Kamades
55a3a28ad7
use indexed position in token conditional balance logs
2023-08-01 18:33:21 -07:00
Christian Kamm
5dd5c507f2
Tcs: reserve token positions while tcs is open ( #647 )
...
- Update in_use_count to u16
- Pass banks to TCS cancel instruction
- Increase the in_use_count when a tcs is created and decrease on
trigger/cancel
2023-07-17 13:14:53 +02:00
Christian Kamm
1ba6513b5e
Compile and test fix ( #645 )
2023-07-14 16:27:52 +02:00
microwavedcola1
609f6f24da
Fix rename
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-13 18:41:01 +02:00
microwavedcola1
40a011a48e
Fees to dao ( #644 )
...
* withdraw fees to dao
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* rename
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-07-13 18:22:35 +02:00
Christian Kamm
6b2f6af6e4
Idl: remove references to undefined openbook_v2 enums
2023-07-11 13:01:55 +02:00
galactus
6461743f35
Openbook v2 integration: instructions and accounts ( #628 )
2023-07-11 09:59:50 +02:00
Christian Kamm
65c747b36a
Flash loan: Better errors for missing banks ( #639 )
...
Check for missing banks _before_ checking for "exactly two token
changes" because the missing banks can be a cause of the latter error.
2023-07-10 16:20:43 +02:00
Christian Kamm
30cb4d7753
Tcs: Switch prices from f32 to f64 ( #634 )
...
To have more precision when storing user supplied prices and ensure that
the rounding that will occur will be tiny compared to the user-provided
precision.
2023-07-06 14:48:49 +02:00
Lou-Kamades
801a66d682
Merge pull request #624 from blockworks-foundation/lou/avgEntryPricePerBaseLot-logs
2023-07-05 08:19:48 -05:00
Lou-Kamades
fad5aca654
add comment for pnl fields of FillLogV3
2023-07-05 07:56:07 -05:00
Christian Kamm
e535e81257
Pyth: Read agg.price or prev_price, depending on staleness ( #631 )
...
This updates our use of pyth oracle accounts to be more in line with
what the pyth sdk is doing.
2023-07-05 12:58:42 +02:00
Lou-Kamades
8177680415
feat: closed pnl is calculated via realized_trade_pnl_native
2023-07-04 10:39:47 -05:00
Christian Kamm
3867d902d2
Bump program version to v0.18.0
2023-07-04 11:10:31 +02:00
Christian Kamm
cc4a39850a
Bump version and idl to v0.17.1
2023-07-04 11:08:59 +02:00
Christian Kamm
dd56881a41
Revert "Pyth oracles: Check that status is "trading" ( #607 )"
...
This reverts commit bbf0186398
.
2023-07-04 11:08:48 +02:00
Lou-Kamades
6c6504aefa
feat: emit closed_pnl in FillEventLog3
2023-07-03 13:04:33 -05:00
Christian Kamm
35064d4ab0
Token conditional swaps ( #604 )
...
Users can request token swaps to happen when the oracle price
is within a price band. Once the price is right, an executor can
trigger the swap. The executors are rewarded with a premium
over the oracle price.
This allows limit and stop loss orders on arbitrary spot pairs.
The PR comes with basic ts support and adjustments to the liquidator,
to execute available token conditional swaps.
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-03 14:09:11 +02:00
Christian Kamm
34e41b6719
Token bankruptcy: Separate checks ( #629 )
...
This makes it easier to debug, since we know what value did not match
the requirements.
2023-07-03 10:25:02 +02:00
Christian Kamm
7eedcbae0d
Serum3 edit market: Allow changing the name ( #621 )
2023-06-21 15:38:27 +02:00
Christian Kamm
a77515acbf
Improve listing with invalid oracles ( #620 )
...
* Stable Price: Reset on first price != 0
This helps when listing tokens or perp markets with an upcoming
oracle. Currently the stable price would be 0 and would need to be
manually reset by DAO proposal.
With this change, the first non-zero value will be used as the starting
point for the stable price instead.
* Listing instructions: Succeed even if oracle is invalid
But require the stable price to reset once it becomes valid.
2023-06-21 15:25:24 +02:00
Christian Kamm
eeef6711ab
Update test_serum_loan_origination_fees test
...
Now that it always uses the v2 settle, fee buyback potential does
accumulate.
2023-06-19 14:48:08 +02:00
Christian Kamm
f3f8359fd1
Fix open_interest doc comment
2023-06-16 16:11:25 +02:00
Christian Kamm
b5c9f6d039
Audit fixes ( #613 )
...
* TokenForceCloseBorrows: Respect reduce-only flag
* ForceCancelOrders: Readability of early-out condition
2023-06-16 13:34:54 +02:00
Christian Kamm
0281a1b8ed
Deprecate Serum3SettleFunds, require use of V2 instruction ( #606 )
2023-06-15 17:34:56 +02:00
Christian Kamm
57e1d981ac
Health: Allow actions while init health does not decrease ( #592 )
...
Instead of requiring a strict increase when init health < 0.
This allows users to still place reducing limit orders on the spot and
perp orderbooks as long as these orders keep the health unchanged.
2023-06-15 10:44:11 +02:00
Christian Kamm
bbf0186398
Pyth oracles: Check that status is "trading" ( #607 )
2023-06-15 10:43:44 +02:00
Christian Kamm
66c6926419
Audit fixes for the fee buyback feature ( #608 )
...
* reduce_buyback_fees_accrued: forbid reducing more than accrued
* Buyback fees: Expire accrued during event processing
2023-06-15 10:43:31 +02:00
Nicholas Clarke
23761ef28c
Add price to WithdrawLoanLog ( #603 )
2023-06-14 09:41:54 +02:00
Nicholas Clarke
defbd8c2b1
Add loan amount to WithdrawLoanLog. Add withdraw loan logging to toke… ( #599 )
...
* Add loan amount to WithdrawLoanLog. Add withdraw loan logging to token_force_close_borrows_with_token
* Address review comments.
2023-06-11 15:37:33 -07:00
Britt Cyr
7803f1dc9d
Fix warning when running tests
2023-06-01 08:16:11 +02:00
Christian Kamm
1cc77af7fa
Bump version to 0.17.0, changelog updates, idl update
2023-05-31 09:11:56 +02:00
Christian Kamm
56b010eb71
HealthRegion: Whitelist new perp_place_order_(pegged_)v2 ix ( #597 )
2023-05-26 16:48:19 +02:00
Britt Cyr
2ea8f73ad1
Fix typo in token_liq_with_token comment ( #594 )
2023-05-25 12:35:22 +02:00
Christian Kamm
9f9f3d257c
Docs: improve HealthCache comments ( #590 )
2023-05-19 14:42:14 +02:00
Maximilian Schneider
0b22e41acd
manage dependencies in workspace ( #588 )
...
* move important dependencies to workspace
* enable workspace inheritance
2023-05-17 20:48:14 +02:00