Commit Graph

2183 Commits

Author SHA1 Message Date
Christian Kamm 40ad0b7b66
Rust client: Use alts for every transaction (#720) 2023-09-18 09:21:30 +02:00
Christian Kamm 2adc0339dc
Serum3 open orders: Fix health overestimation (#716)
When bids or asks crossed the oracle price, the serum3 health would be
overestimated before.

The health code has no access to the open order quantites or prices and
used to assume all orders are at oracle price.

Now we track an account's max bid and min ask in each market and use that
as a worst-case price. The tracking isn't perfect for technical reasons
(compute cost, no notifications on fill) but produces an upper bound on
bids (lower bound on asks) that is sufficient to make health not
overestimate.

The tracked price is reset every time the serum3 open orders on a book
side are completely cleared.
2023-09-13 09:35:10 +02:00
Christian Kamm 7b8a92dcea
Idl compatibility check: Also cover ix args and field renames (#709) 2023-09-08 21:13:30 +02:00
Christian Kamm 0aabd28cdc Merge remote-tracking branch 'origin/deploy' into dev 2023-09-07 13:14:03 +02:00
Christian Kamm 97d3ec01c1 scripts: fix mainnet-no-margin-group post-merge 2023-09-07 13:07:55 +02:00
Christian Kamm d60bea7436 Merge remote-tracking branch 'origin/main' into deploy 2023-09-07 12:59:50 +02:00
microwavedcola1 56eb48904a Merge tag 'program-v0.19.0' 2023-09-07 10:46:37 +02:00
tjs 1861d127bc only remove active filter from Ids on perp markets 2023-09-06 14:11:25 -04:00
tjs 335c98a09a v0.19.14 2023-09-06 13:53:07 -04:00
tjs f2eb37b598 ids should return all subitems for a group regardless of active state 2023-09-06 13:51:40 -04:00
tjs 7b4d46e135 v0.19.13 2023-09-05 10:59:55 -04:00
microwavedcola1 b42a35cdb9 sb logs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-05 15:56:04 +02:00
tlrsssss 025f594fb2
Merge pull request #705 from blockworks-foundation/ts/ids-fixes
Ts/ids fixes
2023-09-05 09:41:08 -04:00
tjs c7c362292c Support reloading reloadSerum3ExternalMarkets from Ids class
remove console logs
2023-09-05 09:35:17 -04:00
tjs 3715a9a7f2 Update Ids class so the array filters in the getters work
Also add placeholder values in ids.json so types work; Deprecate ids.json
2023-09-04 21:04:42 -04:00
Adrian Brzeziński 2110cf7f55 v0.19.12 2023-09-04 18:20:02 +02:00
Adrian Brzeziński 79ea2bc7df
preprended instruction change (#703)
* fix

* fix
2023-09-04 18:06:37 +02:00
microwavedcola1 0a2bf3abd5
ts: example script no margin group (#697)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-04 17:11:04 +02:00
Harrison Green bffb77064a
Add audit report for 0.19.0 (#704) 2023-09-04 09:33:14 +02:00
Christian Kamm ba6bd96784
Allow account shrinking and migration (#692)
- The AccountExpand instruction can now shrink accounts by reducing
  the number of token/perp/serum/tcs/perp oo slots.
- A new AccountSizeMigration instruction can permissionlessly shrink
  accounts that are too large and migrate them to the v3 layout.
2023-09-04 09:30:57 +02:00
Christian Kamm 139555a46e
liquidator: Make the check interval configurable (#702)
And reduce the default from 5s to 1s.
2023-09-01 16:27:17 +02:00
Christian Kamm aca2b2e679
liquidator: Work on groups without openbook markets (#701) 2023-09-01 15:05:43 +02:00
Adrian Brzeziński bb478b9631 v0.19.11 2023-08-31 14:37:29 +02:00
Adrian Brzeziński d9f756b346
additional functions mechanizm (#700) 2023-08-31 14:36:04 +02:00
Christian Kamm c07978fb68
max_swap: Fix swapping between zero weight tokens (#699)
Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-31 14:01:18 +02:00
Christian Kamm e37f1ed996 update idl 2023-08-30 10:59:14 +02:00
Christian Kamm 289c3ff828 FlashLoan: Log the approved amount (#696)
Previously only the part of the approved amount that was a loan got
logged, missing some interesting information.

(cherry picked from commit 03378bb808)
2023-08-30 10:58:17 +02:00
Christian Kamm 03378bb808
FlashLoan: Log the approved amount (#696)
Previously only the part of the approved amount that was a loan got
logged, missing some interesting information.
2023-08-30 10:57:41 +02:00
microwavedcola1 e0de779d96 v0.19.10 2023-08-30 07:21:53 +02:00
microwavedcola1 e730bcd146 ts: perpCancelOrderByClientOrderIdIx
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-30 07:21:03 +02:00
Christian Kamm 7125058ce5 Account expansion: Transfer more lamports only if needed (#694)
Result of audit feedback

(cherry picked from commit 020a978270)
2023-08-29 10:03:54 +02:00
Christian Kamm 2d392c8fff FlashLoan: fee fixes (#693)
- Rename the new "swap fee" to "deposit fee" and let it apply to all
  deposits, not just for Swap-type flash loans.
- But don't apply it to withdrawals (effectively giving rebates!)

Result of audit feedback

(cherry picked from commit 1d6ce550f3)
2023-08-29 10:03:53 +02:00
Christian Kamm 020a978270
Account expansion: Transfer more lamports only if needed (#694)
Result of audit feedback
2023-08-29 10:03:24 +02:00
Christian Kamm 1d6ce550f3
FlashLoan: fee fixes (#693)
- Rename the new "swap fee" to "deposit fee" and let it apply to all
  deposits, not just for Swap-type flash loans.
- But don't apply it to withdrawals (effectively giving rebates!)

Result of audit feedback
2023-08-29 10:03:07 +02:00
microwavedcola1 0ee9af749f ts: getInstantaneousFundingRatePerSecond
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 17:56:14 +02:00
microwavedcola1 92be5b7de6 v0.19.9 2023-08-28 17:34:52 +02:00
microwavedcola1 6871ca2ad4 ts: use average slippage for computing tcs premium
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 17:33:34 +02:00
microwavedcola1 da8a5909f9 v0.19.8 2023-08-28 08:45:02 +02:00
microwavedcola1 e767990c64 ts: fix bug in perp close all lot computation
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 08:44:13 +02:00
microwavedcola1 a855d5467a v0.19.7 2023-08-25 15:30:16 +02:00
microwavedcola1 ea02670003 ts: drop the premium calculators chunk size for tcs swap, we were overestimating slippage before
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-25 15:29:30 +02:00
Christian Kamm 0f10cb4d92
client/liquidator: jupiter v6 (#684)
Add rust client functions for v6 API that are usuable in parallel to the v4 ones.
2023-08-24 16:45:01 +02:00
Christian Kamm 6e2363c86f
Improve CU benchmarks (#690) 2023-08-24 16:33:08 +02:00
Lou-Kamades 2237986c4b
Merge pull request #687 from blockworks-foundation/lou/yarn-dedup
ci: add yarn duplicates check
2023-08-24 09:32:43 -05:00
Christian Kamm f63163d737
Account limits: Prefer 4 perp + 4 serum (#689) 2023-08-21 16:26:49 +02:00
Christian Kamm a151ebcf11
Account size: restict more, but only increases (#688)
* Account size: Don't fail on unrelated resize

If the account was previously resized to larger than is allowed now,
don't fail unrelated resizes.

* Further reduce account size limits

Out of caution and future-proofing. Can always raise again.

Perp settle pnl needs 6 accounts plus 2 health account lists that could
be nearly fully disjoint.
2023-08-21 14:34:52 +02:00
microwavedcola1 5fd31270f6 v0.19.6 2023-08-21 07:38:35 +02:00
microwavedcola1 9e6ad1853c v0.19.5 2023-08-20 21:30:53 +02:00
microwavedcola1 447e7cb151 ts: update tcs helpers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-20 21:30:12 +02:00
microwavedcola1 cc72f63d06 bump
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-20 21:25:42 +02:00