Christian Kamm
39bdf20813
ts: Add group.findPerpMarket()
2022-09-23 09:48:35 +02:00
microwavedcola1
4090cf407e
ts: fix max serum bid and ask that can be placed by a mango account ( #241 )
...
* ts: fix getMaxQuoteForSerum3BidUi and getMaxBaseForSerum3AskUi where the zero amount was not tight enough for binary search
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from review
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-23 09:34:28 +02:00
Christian Kamm
d86b3dd757
Rust client: Fix remaining accounts perp oracles
2022-09-23 09:07:51 +02:00
Christian Kamm
ecbd4028f7
ts client: Fix remaining accounts when opening a perp position
2022-09-23 08:42:01 +02:00
microwavedcola1
3c98a9fd0a
keeper: Fix logging of how many events are consumed ( #235 )
...
* keeper: Fix logging of how many events are consumed
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-23 08:23:37 +02:00
microwavedcola1
ae42356b22
program: remove todos for ix which have now been implemented or not relevant ( #240 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-22 17:43:01 +02:00
Christian Kamm
0040a1477e
Client: Compute max perp trade amount ( #231 )
2022-09-21 11:45:05 +02:00
Christian Kamm
96218fb7ba
Update IDL and merge issue fixups
2022-09-21 10:19:23 +02:00
Christian Kamm
52f8b61240
Merge remote-tracking branch 'origin/dev'
2022-09-21 10:14:34 +02:00
Christian Kamm
a41a245e24
PerpLiqBankruptcy instruction
2022-09-21 09:46:54 +02:00
conj0iner
1c67b8ed5f
remove base_token_index from perps and include oracles ( #224 )
...
Co-authored-by: Conj0iner <conj0iner@users.noreply.github.com>
2022-09-21 09:42:45 +02:00
microwavedcola1
f96b9ded0d
ts: fix event queue rawevents
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-20 19:50:21 +02:00
Christian Kamm
ddb68b7991
Test build fix
2022-09-20 16:59:55 +02:00
Christian Kamm
8c91541d12
ts client: Fix serum3DeregisterMarket
...
The indexReservation arg wasn't passed.
2022-09-20 16:58:07 +02:00
Christian Kamm
6399e6cb6c
Fix PerpMarket data layout breakage
...
The new fees_settled must be added at the end and the reserved amount
needs to be reduced.
2022-09-20 16:58:07 +02:00
Christian Kamm
347b225480
TokenEdit: remove bank_num arg
2022-09-20 14:22:25 +02:00
microwavedcola1
b7e79a4663
WIP: ts/perps ( #220 )
...
* ts: further fleshing out of perps code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* cleanup scripts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
* Fixes from reviews
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-09-20 12:57:01 +02:00
Christian Kamm
11160ae2fe
Health: Pass price to max_swap_source_for_health_ratio
...
Because it's not correct to think we'll always swap at oracle price.
That was an ok assumption for liquidations, where we'll swap at slightly
better than that, but not for jup.
2022-09-20 10:41:33 +02:00
Christian Kamm
a6d25071cd
Test: Fix test_alt compile
2022-09-15 19:06:46 +02:00
Christian Kamm
20eb61527b
Compile fixups after merge
2022-09-15 09:40:14 +02:00
Christian Kamm
1b3a2b07db
Update idl
2022-09-15 09:24:35 +02:00
Christian Kamm
14ca1dac35
Add alt_set / alt_extend instructions
...
alt_extend will only work in the future, when alt_set can receive lookup
tables where the authority is set to be the mango group pda.
2022-09-15 09:20:08 +02:00
Christian Kamm
899b51e91c
ts: fix getMaxWithdrawWithBorrowForToken
2022-09-14 10:23:06 -04:00
Christian Kamm
50be520e99
Rename: LiqToken* -> TokenLiq*
2022-09-14 16:22:42 +02:00
Christian Kamm
f3bdfec6a6
Perp settle pnl: Limit to maint spot health ( #225 )
...
Perp settle pnl: Limit to maint spot health
We want to isolate perp markets. As such, it's not acceptable to convert
arbitrary perp losses into spot token borrows.
The safe amount for this conversion is given by the account's
maint health -- with all perp markets ignored.
2022-09-14 13:26:29 +02:00
Christian Kamm
3e94ff4605
ts: fix getMaxWithdrawWithBorrowForToken
2022-09-14 09:03:29 +02:00
tjs
2b96965cc5
use send transaction in client
2022-09-14 01:44:00 -04:00
tjs
b687435a37
v0.0.1-beta.2
2022-09-12 12:34:55 -04:00
Christian Kamm
b579096264
Merge pull request #223 from blockworks-foundation/ckamm/perp-liq
...
Perp liquidation: force cancel orders, liq base position
2022-09-10 08:11:06 +02:00
Christian Kamm
5572242e6d
Tests: PerpLiqBaseToken tests
2022-09-10 07:45:27 +02:00
Christian Kamm
45025a1145
Perp tests: Helper for market creation
2022-09-10 07:45:27 +02:00
Christian Kamm
bb962c6781
Perp tests: Don't pass derivable accounts explicitly
...
This makes it impossible to test passing bad accounts for these through
this interface, but I think that's an ok tradeoff.
2022-09-10 07:45:25 +02:00
Christian Kamm
2dfada7377
Tests: initial perp force-cancel test
2022-09-10 07:42:58 +02:00
Christian Kamm
810998a2af
Add PerpLiqForceCancelOrders instruction
2022-09-10 07:42:58 +02:00
Christian Kamm
845a32a7c2
Add PerpLiqBasePosition instruction
2022-09-10 07:42:58 +02:00
conj0iner
451d8a8d22
Merge pull request #219 from blockworks-foundation/cj/max_settle_u64
...
Changed max_settle_amount to u64
2022-09-09 22:49:20 +08:00
Conj0iner
a6ddf232cb
Fixed tests
2022-09-09 18:50:11 +08:00
Conj0iner
3b3286a5b3
Changed max_settle_amount to u64
2022-09-09 18:29:02 +08:00
Christian Kamm
1f26a54399
Perps: introduce explicit position close ( #216 )
...
* Perps: fix position lifetime; explicit closing
When an order is placed and the position needs to be created, the
settlement token is marked as in use. The perp position and the in-use
flag are only released with the new perp_close_position instruction.
* Tests: Factor out common floating-point comparisons
* Rename PerpClosePosition -> PerpDeactivatePosition
2022-09-09 10:50:09 +02:00
Christian Kamm
6c32077d1a
Perps: Let all base lot changes go through a function
...
Direct access to base_position_lots and quote_position_native is not
allowed anymore.
Fixes an issue where quote_lots were used instead of quote_native, and
also takes fees into account for the entry price.
2022-09-08 13:12:50 +02:00
Christian Kamm
e56ed3776c
Perp: Api cleanups
...
- Clarification of close_order vs close_all_orders
- Remove of get_ prefixes
- Remove find_min/find_max/find_min_max, duplicated with
min_leaf/max_leaf
2022-09-08 13:11:45 +02:00
Christian Kamm
1d7d5e9a6d
Test: simplify by adding a TestKeypair that's Clone+Copy
...
This means a lot less annoyance because of &'a Keypair or Arc<Keypair>
2022-09-07 14:23:52 +02:00
Christian Kamm
4795286dbd
Perps: Account for unsettled funding in health
2022-09-07 11:37:20 +02:00
Christian Kamm
c714fb213d
Tests: Auto-advance the slot after sending a transaction
...
This fixes a recurring error where it would look as if a transaction you
send would not be processed at all.
2022-09-07 11:34:47 +02:00
Christian Kamm
3128115dca
PerpMarket: Add helper for getting oracle price
2022-09-06 14:26:06 +02:00
Christian Kamm
79a7bdc299
Checked math: support cm!(a += b)
2022-09-06 08:55:27 +02:00
tjs
fc63328af1
set lastValidBlockHeight for tx confirmation
2022-09-05 17:36:42 -04:00
tjshipe
3e462c5530
Merge pull request #214 from blockworks-foundation/ts/reload-slot
...
reload mango account with slot
2022-09-05 14:06:36 -04:00
Christian Kamm
3c51449040
Tests: Remove unused imports
2022-09-05 18:40:42 +02:00
tjs
27c42e70e9
reload mango account with slot
2022-09-05 12:31:57 -04:00