microwavedcola1
86c8817e0b
serum3 loan origination fees ( #69 )
...
* serum3 loan origination fees
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix tests
Fix 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>
2022-06-21 11:45:38 +02:00
Christian Kamm
cb0010b2b5
Health: never allow positive contributions from perps
2022-06-21 11:07:13 +02:00
Christian Kamm
be98f6524a
Orderbook: Avoid usize fields in data
2022-06-21 11:05:46 +02:00
Christian Kamm
6ff4ff5910
Add a ComputeHealth instruction
...
This way the client can ask for simulation to determine an account's
health.
2022-06-21 11:05:32 +02:00
Christian Kamm
712bece0b2
Remove stray log message from health computation
2022-06-20 18:21:26 +02:00
microwavedcola1
470292024e
Filter out bad switchboard prices ( #70 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-20 18:03:16 +02:00
microwavedcola1
5b78293c5c
minor refactoring
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-19 18:32:04 +02:00
microwavedcola1
9462be7f0b
Fix margin trade interface
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-18 17:14:20 +02:00
microwavedcola1
4864562ff3
margin trade, support multi cpi ( #68 )
...
* margin trade, support multi cpi
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* todo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-18 16:43:45 +02:00
microwavedcola1
0f34851c64
switchboard support ( #67 )
...
* switchboard support
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-18 16:38:46 +02:00
microwavedcola1
95c06c2bfc
Mc/liquidator ( #64 )
...
* Copy over and integrate liquidatable-accounts-feed (doesn't compile)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Liquidator
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Adapt to refactoring
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* remove dead code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Use copies of AccountSharedData
* Implement AccountReader for AccountSharedData
* use LoadZeroCopy in liquidator
* Fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2022-06-18 16:31:28 +02:00
microwavedcola1
de481a4008
todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-10 08:42:26 +02:00
microwavedcola1
740ff0c09e
Close various things ( #65 )
...
* close bank, vaults, mint infos, stub oracles, serum OO (doesnt work, throws https://github.com/project-serum/serum-dex/blob/master/dex/src/error.rs\#L88 ), close serum market
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* serum oo closing example in ts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix from code review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-09 18:27:31 +02:00
Christian Kamm
40023fcef1
Health: Make FixedOrderAccountRetriever more flexible
2022-06-08 14:38:49 +02:00
Christian Kamm
b3568b7f3e
Make health/oracle functions usable from clients ( #63 )
...
* Make health/oracle functions usable from clients
By creating a shared trait that is implementable for AccountInfo and
AccountSharedData.
* Health: fixup tests
2022-06-08 13:43:12 +02:00
Christian Kamm
a14f37362d
margin_trade: forbid direct self-calls
2022-06-07 13:25:30 +02:00
Christian Kamm
685fd3122f
Perps: Limit overall health contribution from perp markets
...
We don't want to allow borrowing against unsettled pnl in perp markets.
This makes it safer to create perp markets for untrustworthy assets.
2022-06-06 12:58:08 +02:00
microwavedcola1
1b4063cd0d
remove misleading example
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-03 08:29:35 +02:00
microwavedcola1
47bccfeec8
Fix oracle price decimal usage
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-02 19:16:30 +02:00
microwavedcola1
a20d04b6ff
Fix oracle price read by using decimals from pyth ( #62 )
...
* Fix oracle price read by using decimals from pyth
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-06-02 10:36:04 +02:00
microwavedcola1
383489ae34
Merge branch 'mc/liquidator-bot' into dev
2022-05-30 17:08:16 +02:00
Christian Kamm
48cb1f0b88
Compute health in perp_place_order
2022-05-29 20:50:21 +02:00
Christian Kamm
65a5139db7
Tests: Send perp markets as health accounts
2022-05-29 20:50:21 +02:00
Christian Kamm
4984bba71e
Health: Add perp health calculation
2022-05-29 20:50:21 +02:00
microwavedcola1
97e434fbb6
keeper: find/create account by account name
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-29 12:25:12 +02:00
microwavedcola1
34a8f0919f
serum taker bot ( #57 )
...
* taker bot
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* inline code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* add mints
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* add todo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix todos
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* remove stray log
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* cleanup
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* remove dead code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* use same rust as what solana uses, use same solana version as cargo toml
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fix from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* fix from reviews
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* linter
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-28 07:05:34 +02:00
microwavedcola1
cc2d46bf4a
add support for mint decimals on bank, for easy look up
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-27 14:52:03 +02:00
Christian Kamm
b1fcb4a7e6
CreateGroup: Allow multiple groups per admin
2022-05-27 11:36:50 +02:00
Christian Kamm
1844898280
margin_trade: Allow forwarding mint accounts
2022-05-26 21:12:02 +02:00
Christian Kamm
536ec8a84a
Make health iteration code work with pyth oracles
...
They have a different account owner, that error must be skipped.
2022-05-26 20:38:03 +02:00
Christian Kamm
946e6b1c96
margin_trade: doc improvements
2022-05-25 08:02:55 +02:00
microwavedcola1
ed4e63a82f
Change tuple to a struct, seemingly anchor ts doesnt support tuples
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-24 22:03:35 +02:00
Christian Kamm
f844720130
Review fixes
2022-05-24 13:00:32 +02:00
Christian Kamm
53a5e208fd
margin_trade: loan origination fees, limited withdraws
2022-05-23 08:55:30 +02:00
Christian Kamm
21af012d1f
Improvements to margin_trade
...
- don't hard-code the group as the first passed account
- token::approve() banks for each token vault
- sign for each bank
- deal with using tokens without an existing position
- handle deactivation of token account if balance goes to 0
2022-05-20 10:16:09 +02:00
Christian Kamm
8a8b36e345
Fold loan origination fee handling into Bank
2022-05-18 22:53:03 +02:00
microwavedcola1
717b72857d
Remove anchor dummy type workaround ( #53 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-18 17:16:14 +02:00
microwavedcola1
ab0df0e7f2
unwrap
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 17:11:37 +02:00
microwavedcola1
2de149f74c
checked math + rustfmt
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 17:08:00 +02:00
microwavedcola1
6ecd4a0da9
Update funding for keeper
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 15:59:47 +02:00
microwavedcola1
2518ec24a6
Update client to match program changes
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 15:06:29 +02:00
microwavedcola1
f19f3da659
add todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 13:01:48 +02:00
microwavedcola1
a4f3569a87
Fix merge
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 10:12:16 +02:00
microwavedcola1
fac9b4a57a
perp funding
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-17 10:07:24 +02:00
microwavedcola1
be73106ce1
perp funding ( #51 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 15:34:56 +02:00
microwavedcola1
f5c505f847
fix test
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 15:26:38 +02:00
microwavedcola1
db82fcbbcc
perp cancel order instructions
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
67c1d5d451
format
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
967ce34002
move comment
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
a1034c08b7
refactor
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
ee6fe93b26
Fix tests
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
fbd3fd410c
loan_origination_fees
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-16 10:49:11 +02:00
microwavedcola1
f1791be039
add todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-11 20:25:09 +02:00
microwavedcola1
b903073ce6
add comment so that it doesnt get lost
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-11 20:09:12 +02:00
microwavedcola1
81f0f38188
ts client support for perps
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-11 20:06:07 +02:00
microwavedcola1
15961ec81c
fees for borrows
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-09 11:14:50 +02:00
microwavedcola1
5266668bc2
keeper: consume events
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-06 14:19:49 +02:00
microwavedcola1
7abfc417ac
reorg
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-06 10:13:33 +02:00
microwavedcola1
9f5a2fd32e
add a test for consume events, add debug impl for mango account for easy debugging in tests
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-05 10:25:32 +02:00
microwavedcola1
d38ca0de4c
refactor
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-03 18:17:58 +02:00
microwavedcola1
ec7c61327c
list of ix to implement
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-03 18:07:31 +02:00
microwavedcola1
f09b3cc965
First attempt at finishing perp health
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-05-03 15:15:34 +02:00
microwavedcola1
3c469d7194
todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 20:43:45 +02:00
microwavedcola1
1206109260
todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 20:39:48 +02:00
microwavedcola1
7ead988ba4
small ticker size
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 20:38:35 +02:00
microwavedcola1
6db679d35e
support longer account names
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 20:23:45 +02:00
microwavedcola1
e3a60a637a
format
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 17:35:39 +02:00
microwavedcola1
bf2fa47a1c
fix viz
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 17:33:42 +02:00
microwavedcola1
62ee1bc5c0
prepare for multiple ts packages
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 17:28:47 +02:00
microwavedcola1
addb12736f
fixes from cr
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 16:53:45 +02:00
microwavedcola1
03ae43017c
account, market and bank names
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-12 16:19:58 +02:00
microwavedcola1
1b1dd1a541
poc keeper
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-09 21:18:07 +02:00
microwavedcola1
5ab48fb6e0
rust: Fix args in tests to more realistic values, ts: expose args, update idl
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-09 17:09:06 +02:00
microwavedcola1
57d9de86c8
comment
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-09 16:55:00 +02:00
microwavedcola1
257ccf76ad
multi legged interest rates + keeper ix
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-09 16:53:30 +02:00
microwavedcola1
2587cd914c
checked math
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-07 21:04:02 +02:00
Christian Kamm
68ef58248c
Perp health: Some code and comments
2022-04-05 09:09:12 +02:00
Christian Kamm
256397593d
Health: Support PerpMarkets in remainingAccounts
2022-04-04 11:25:05 +02:00
Christian Kamm
6f3673bcdf
Perp: Track taker and maker orders in the account; test
2022-04-04 10:39:13 +02:00
microwavedcola1
a44120c470
add group to mintinfo, for better gpa support
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 19:07:43 +02:00
microwavedcola1
e6727cbfae
fix clippy warning
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 06:21:34 +02:00
microwavedcola1
7803cae654
fix clippy warning
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 06:16:41 +02:00
microwavedcola1
dfd1dc5216
fix clippy warning
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 06:11:41 +02:00
microwavedcola1
204ab6963d
checked math
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 06:09:01 +02:00
microwavedcola1
d6fe317ac9
checked math
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 06:06:03 +02:00
microwavedcola1
9debc63a6a
update idl, add tokenmint to stuboracle for gpa ( #34 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 05:43:32 +02:00
microwavedcola1
884d638e36
Merge pull request #33 from blockworks-foundation/mc/stub-oracle-ext
...
Mc/stub oracle ext
2022-04-03 05:36:24 +02:00
microwavedcola1
ace5df2a85
revert unintended changes
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-03 05:21:16 +02:00
microwavedcola1
d7a8c5c91d
add todo
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 21:04:00 +02:00
microwavedcola1
77ddbd4eeb
fix test
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 21:02:48 +02:00
microwavedcola1
c7d3103e6b
--wip-- [skip ci]
2022-04-02 20:42:17 +02:00
microwavedcola1
4d1a9e4556
refactor
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 20:15:56 +02:00
Christian Kamm
9f0a7f67ae
Orderbook: Port over unittests
2022-04-02 13:51:26 +02:00
Christian Kamm
cbc3cc7bbd
MangoAccount: Rename how tokens/serum3/perps data is stored
...
token_account_map -> tokens
serum3_account_map -> serum3
perp -> perps
2022-04-02 13:51:26 +02:00
microwavedcola1
1d15db37c5
clippy
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 10:02:12 +02:00
microwavedcola1
9cd08a1355
improve checks
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 09:52:40 +02:00
microwavedcola1
87bcc538cd
compiles
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 09:05:31 +02:00
microwavedcola1
0bdbd19ddd
Make Serum3 ix anchor friendly
...
Make work with changes in mango account, add no deploy part to release script
Clippy
Fixes from cr
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-04-02 08:59:07 +02:00
Christian Kamm
d26caf1c87
Perp: Rename fields to be explicit about being in lots
2022-04-01 15:47:12 +02:00
Christian Kamm
f2607889e3
Perps: Place accounts and open orders in MangoAccount::perp
...
Also make test_perp succeed by fixing the FillEvent size.
2022-04-01 12:45:01 +02:00