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
conj0iner
2693a20e16
Merge pull request #204 from blockworks-foundation/cj/settle_fees
...
Add perp_settle_fees instruction
2022-09-05 23:30:55 +08:00
Conj0iner
c34ee54233
Added perp_settle_fees instruction
2022-09-05 22:18:40 +08:00
tjs
2d0772833b
filter out jupiter token ledger instruction to save space
2022-09-02 18:47:26 -04:00
tjs
c359ce26a7
return new mango account instance from reload
2022-09-02 18:47:09 -04:00
tjs
3f456393a5
use custom sendTransaction in closeMangoAccount
2022-09-02 13:50:01 -04:00
Christian Kamm
3fbc3ca32d
TokenEdit: remove bank_num arg
2022-09-02 13:55:00 +02:00
Christian Kamm
14913c70d2
Merge pull request #210 from blockworks-foundation/ckamm/liq-force-close
...
Liquidate serum open orders
2022-09-02 13:15:42 +02:00
Christian Kamm
b1940eea43
Liquidator: Reduce likelihood of double-sending rebalancing tx
2022-09-02 12:24:28 +02:00
Christian Kamm
ef5552c1c0
Liqtest: Build serum test case
2022-09-02 12:24:18 +02:00
Christian Kamm
90630fa3de
ts client: Enable accounts to have serum slots by default
2022-09-02 12:24:04 +02:00
Christian Kamm
d566db7db0
Liqtest: Settle-and-close settles and closes open serum orders
2022-09-02 12:24:04 +02:00
Christian Kamm
3b3258769f
ts: TokenEdit takes optional arguments
2022-09-02 12:24:04 +02:00
Christian Kamm
8bde9e2bff
Liquidator: Force cancel serum orders
2022-09-02 12:23:59 +02:00