Commit Graph

1548 Commits

Author SHA1 Message Date
tjs 57040b160a use passed in prioritization fee 2023-01-03 19:56:33 -05:00
Christian Kamm b304ce09ec Perp: Make settle limit robust against settle window size changes 2023-01-03 14:52:04 +01:00
tjs 92f92cb967 Merge branch 'main' into dev 2023-01-02 15:36:08 -05:00
tjs 80f94166bd add prioritization fee instruction 2023-01-02 15:35:39 -05:00
riordanp 89c024e9df
Setup MM for Heroku deployments (#358)
* Setup mm for heroku

* Update params

* Update Procfile

* Fix runtime dependencies

* Run linter
2023-01-02 19:21:08 +00:00
tjs 0c1884ce56 Merge branch 'ts/healthtype' into main 2022-12-30 15:36:13 -05:00
tjs b0164113f0 support healthtype of undefined to calculate with a weight of 1 2022-12-30 15:26:53 -05:00
Christian Kamm 7a8f31c611 Perp: settlement applies no loan origination fee
It's likely for perp pnl to oscillate and be settled in positive and
negative direction repeatedly. If the user's USDC balance is <= 0, every
settlement of negative pnl will increase borrows and cause loan
origination fees.

Over time the fees accumulated this way could be significant. Skipping
loan origination fees for borrows created from perp settlement avoids
that.
2022-12-30 12:54:03 +01:00
Christian Kamm 31bd72e84a Drop AccountLoaderDynamic
This gives us better compatibility with released anchor versions.

Instead of using AccountLoaderDynamic<MangoAccount>, we now use
a standard AccountLoader<MangoAccountFixed>. This will generally work
(except for load_init(), which is dangerous).
A new trait, MangoAccountLoader, provides load_full(), load_full_mut()
etc on the AccountLoader<MangoAccountFixed> to create accessor structs
that can read and write to the dynamic part of the mango account data.
2022-12-29 17:40:08 +01:00
Christian Kamm 9ada3f0574 README formatting 2022-12-29 14:14:47 +01:00
Christian Kamm cf3ebb5d96 Minor README updates 2022-12-29 14:13:57 +01:00
tjs d2ed61328a settle serum after placing order 2022-12-27 18:50:29 -05:00
microwavedcola1 f72c3cd0ae Fix typings
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-27 08:26:19 +01:00
microwavedcola1 b8d8a0c238 Merge branch 'dev' 2022-12-21 10:21:59 +01:00
microwavedcola1 44fb1037cf
Mc/serum fees (#350)
* maker rebate shouldnt be applied to maxQuoteQuantity

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

* update

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

* update

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

* Fixes from review

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

* fix

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-21 10:21:24 +01:00
microwavedcola1 770b5a8056
pop perp events without processing, when mango account is closed (#351)
* pop perp events without processing, when mango account is closed

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

* fix

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-21 10:21:10 +01:00
microwavedcola1 4d61bb76a4 Merge branch 'main' into dev 2022-12-20 20:39:47 +01:00
microwavedcola1 5def04f6ee
add price band helper (#349)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-20 19:19:18 +01:00
Christian Kamm 21c13fa9b1 liquidator: Skip accounts with many errors in short time 2022-12-20 14:30:26 +01:00
Christian Kamm 4bd1cf1ece liquidator: Shuffle liquidation check
This way the liquidator is less likely to get stuck on one account if
there are multiple that need liquidation.
2022-12-20 14:13:02 +01:00
Christian Kamm fb43ec0e7f liquidator: Don't panic when accounts not yet available
This can happen when users created a new serum open orders account and
it has not yet been received even though the account itself has arrived.
2022-12-20 14:13:02 +01:00
Christian Kamm 6439791233 Token deposit: limit while being_liquidated
While the flag is true, deposits that don't bring the account health
over the init threshold are forbidden. This makes it impossible for
users to drag out liquidation by continuously depositing tiny amounts.
2022-12-20 14:12:46 +01:00
microwavedcola1 ebeb2328b9 force close mango account script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-20 10:32:33 +01:00
tjs 48b5b81a09 script to add spot market 2022-12-19 20:30:47 -05:00
microwavedcola1 0ba51e6324 move to new authority and admin
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 19:50:09 +01:00
microwavedcola1 f3dac89d3e Fix bug in getMaxBaseForSerum3AskUi where base returned was wrong
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 18:30:26 +01:00
microwavedcola1 31f56d0e41
Fix BN creation (#342)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 15:40:14 +01:00
microwavedcola1 edd0633489 change to new authority
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 15:38:06 +01:00
Christian Kamm 69cb21026d Rebalance: Don't use Jupiter's ExactOut method
It has limited liquidity.
2022-12-19 15:31:25 +01:00
microwavedcola1 6e8f6596e7 rename
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 14:46:39 +01:00
Christian Kamm 7231ceea53 ts client: Fix avg entry price and break even price 2022-12-19 13:34:20 +01:00
Christian Kamm 55e8fc390f Liquidation: Ignore dust balances and perp pnl
Liquidation and perp pnl settlement may not bring spot amounts to
exactly zero. Having a small spot amount < 1 native token can otherwise
make the liquidation get stuck and not move one to the next phase.
2022-12-19 12:49:09 +01:00
microwavedcola1 f68a11145f Filter by account
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-19 09:42:05 +01:00
tjs 2a906af95c Merge branch 'main' into dev 2022-12-17 14:32:11 -05:00
tjs 13f32c8bae assume taker fees 2022-12-17 14:08:48 -05:00
tjs 08cc99790c needs parenthesis in maxQuoteQuantity 2022-12-17 13:06:48 -05:00
tjs 9b0db13c10 fix maxQuoteQuantity in placeSpotOrder 2022-12-17 13:01:57 -05:00
microwavedcola1 ff37b21777 Changelog
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-16 16:41:55 +01:00
microwavedcola1 246b3a351d Merge branch 'dev' 2022-12-16 16:38:33 +01:00
Christian Kamm 071dc34ccc
Client: Rework max_swap function (#340)
* Client: Rework max_swap function

Determining the amounts at which the health function changes slope
becomes too difficult when serum3 open orders come in.

Instead, generally find the function's maximum and then work with that.

* max_swap: Add test for swapping into a trustless token

* ts port

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-16 16:33:37 +01:00
Christian Kamm 5a38506f04
Liquidator, liqtest and rust client fixes (#336)
Liquidator, liqtest and rust client fixes

- Make rust MangoClient fully async
- Update and improve liquidation test setup scripts
- Update liquidator to use versioned transactions
- Update liquidator to use mango and jupiter account lookup tables
- Use jupiter v4 api to get versioned transactions

Perp liquidation is still not fully good. See discussion aboult perp_liq_pnl_with_token.
2022-12-16 13:10:46 +01:00
Christian Kamm 1c36b1b493 Fix rust test compilation 2022-12-16 13:07:19 +01:00
tjs 237ecd3847 support passing ALT in marginTrade client fn 2022-12-15 17:26:08 -05:00
tjs 5df60b48d9 support passing ALT in marginTrade client fn 2022-12-15 17:22:10 -05:00
tjs 95e8bf2d2c Merge branch 'main' into dev 2022-12-15 15:30:18 -05:00
microwavedcola1 df4a48a558
dont do checks force close flag is used explicitly (#341)
* dont do checks force close flag is used explicitly

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

* comment

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

* comment

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

* Fix ts

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-12-15 21:10:56 +01:00
Adrian Brzeziński 5c329f8800 settle funds in serum3 cancel/modify 2022-12-15 20:06:10 +01:00
microwavedcola1 4169ccb960
enforce min vault to deposits ratio in flash loan and serum3 place order, in addition to token_withdraw (#338)
* refactor

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

* Enforce min vault to deposits ratio in flash loan and serum3 place order

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

* refactor

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

* refactor

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-12-15 18:27:22 +01:00
microwavedcola1 c396e1219a
Mc/crank update (#339)
* keeper: only add mango acocunts once

* format

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

* format

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

* update

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

* Fixes from review

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

* format

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

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2022-12-15 16:42:00 +01:00
Adrian Brzeziński 1125002ba3 make settle funds serum3 ix 2022-12-15 13:41:45 +01:00