Commit Graph

160 Commits

Author SHA1 Message Date
microwavedcola1 1b8f3b7cbc
Mc/maintain alts (#788)
* v0.20.3

* ts: script to maintain ALTs

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 12:57:01 +01:00
microwavedcola1 e4c0c247d4
Mc/token sanity check (#789)
* v0.20.3

* ts: token sanity check

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

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-20 12:56:03 +01:00
microwavedcola1 888a270cf2 Merge branch 'mc/update-risk' into deploy 2023-11-14 08:58:53 +01:00
microwavedcola1 71fc571ca4 ts: add formulas for risk
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 08:58:41 +01:00
Lou-Kamades 3ccf2317fe ts: use release 20 idl 2023-11-13 18:48:46 -06:00
microwavedcola1 883434b66b wip
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-12 13:05:46 +01:00
microwavedcola1 cdd23a535c ts: script to compute jitosol balances
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-11 10:11:05 +01:00
Lou-Kamades e188cd0bcb
expose oracle parsing in TS client 2023-11-08 14:23:40 +01:00
Christian Kamm 06dd834215 Merge remote-tracking branch 'origin/dev' into deploy 2023-11-08 13:32:08 +01:00
microwavedcola1 3ed4e63b58 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:46:58 +02:00
microwavedcola1 fb97685e07 ts: update settler script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 19:45:26 +02:00
microwavedcola1 e8505ddeaa settle a particular account
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-26 17:50:13 +02:00
Christian Kamm 4eaf550da9 gov-ix: add group edit ix creation 2023-10-20 14:28:29 +02:00
Christian Kamm b3ec7095ce gov ix: idl set-authority instruction 2023-10-20 13:49:39 +02:00
microwavedcola1 edaf874174
deploy -> dev (#759)
* ts: get yarn lock from dev

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

* v0.19.20

* ts: add missing dependency

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

* ts: add error when no free token position is found (#707)

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

* Mc/tcs improvements (#706)

* ts: additional tcs helpers

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

* Fixes from review

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

* Revert "Fixes from review"

This reverts commit 1def10353511802c030a100fd23b2c2f4f198eaa.

---------

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

* v0.19.21

* v0.19.22

* ts: tcs fix price display input to tx

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

* v0.19.23

* v0.19.25

* script: log all

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

* ts: fix tcs order price limits

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

* v0.19.27

* ts: fix getTimeToNextBorrowLimitWindowStartsTs (#710)

* ts: fix getTimeToNextBorrowLimitWindowStartsTs

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

* Fixes from review

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

---------

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

* Mc/keeper (#714)

* v0.19.28

* ts: tokenWithdrawAllDepositForMint

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

* Fix

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

* Fix

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

* rust: dont include tokens with errors in crank

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

* Fixes from review

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

* review fixes

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>

* v0.19.29

* ts: update debug script

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

* release 19.1 -> deploy + serum3 open orders estimation ts patch (#719)

* 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.

(cherry picked from commit 2adc0339dc)

* Changelog, version bump for program v0.19.1

* ts: ts patch for the PR

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>

* Rust client: Use alts for every transaction (#720)

(cherry picked from commit 40ad0b7b66)

* Jupiter: ensure source account is initialized

Backport of 9b224eae1b / #721

* client/liquidator: jupiter v6 (#684)

Add rust client functions for v6 API that are usuable in parallel to the v4 ones.

(cherry picked from commit 0f10cb4d92)

* Jupiter: Ensure source account is initialized (#721)

(cherry picked from commit 9b224eae1b)

* Mc/update cu budget for perp settle pnl (#724)

* ts: bump perp settle pnl cu budget

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

* ts: helpers for withdrawing tokens from bad oracles (#726)

* ts: helpers for withdrawing tokens from bad oracles

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>

* Fixes from review

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

* rename

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

* rename

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

* Fix usage of field

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

* Fixes from review

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

---------

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

* v0.19.31

* ts: higher min. cu limit for each tx (#727)

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

* v0.19.32

* ts: if more ixs then more cu (#728)

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

* Mc/tcs p95 (#708)

* use more fine grain price impact

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

* ts: for computing tcs premium use more fine grain price impact

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

---------

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

* update

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

* Mc/settler cu limit (#725)

* v0.19.30

* settler: extend cu limit to 250k for perp pnl settling

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

* TransactionBuilder: add cu limit/price based on config

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>

* ts: rename params to indicate that they are in native

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

* ts: cleanup tcs create parameter naming (#730)

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

* wip: Mc/update risk params (#729)

* v0.19.33

* ts: script to update risk params

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

* create proposals helpers

* fix

* Update env params

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

* Update

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

* Update

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

* simulate before run

* fix presets

* fix

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>

* ts: upgrade anchor (#735)

* ts: upgrade anchor

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

* Fixes from review

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

---------

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

* script for tx error grouping, and ts helper code for finding tx error reason (#747)

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

* v0.19.34

* ts: fix script for updating token params

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

* Fix typo

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

* script: update script to remove files which are of 0 size

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

* script: error tx grouping, blacklist some more

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

* fix (#753)

* jupiter: clearer slippage_bps argument name

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>
2023-10-19 10:03:07 +02:00
Adrian Brzeziński 899c9570c3
fix (#753) 2023-10-19 09:15:16 +02:00
Christian Kamm 8110dd1566
FlashLoan: Replace deposit fee by "swap fee" (#754)
Which applies to the in token amount of swaps only.

Charging a deposit fee on flash loans was a bad idea:
- It incentivizes flash loan users to make the deposit a separate
  instruction, defeating the purpose.
- For swaps, it makes traders pay a loan origination fee in in-token and
  a deposit fee in out-token, leading to more complex bookkeeping and ui
  display.

Instead, charge a fee on the in-token for all flash loans explicitly
marked as swaps only.
2023-10-13 09:02:23 +02:00
microwavedcola1 550bec53fc Fix typo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-12 07:35:45 +02:00
Christian Kamm 5809281f24
gov-ix: create an idl-resize instruction (#752) 2023-10-11 15:22:06 +02:00
Christian Kamm c354f55423
v0.20.0 minor fixes from self-audit (#751)
* tcs::is_startable only true for premium auctions
* individual tcs premium auction / linear auction ix gates
* drop unnecessary I80F48::from(...)
* minor: adjust confusing wording in v2 mango account format doc
* idl update
* ts: prettier
2023-10-11 15:19:53 +02:00
microwavedcola1 a75803662c ts: fix script for updating token params
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-10 09:18:04 +02:00
Christian Kamm a4745dae27
liquidator: improve jupiter quote cache (#748) 2023-10-09 19:56:45 +02:00
Christian Kamm 817bf9bbc6
Tcs: linear and premium auctions (#717) 2023-10-07 21:27:19 +02:00
microwavedcola1 e0b4bd1236
ts: upgrade anchor (#735)
* ts: upgrade anchor

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

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-06 10:05:56 +02:00
microwavedcola1 5f038b8f62
wip: Mc/update risk params (#729)
* v0.19.33

* ts: script to update risk params

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

* create proposals helpers

* fix

* Update env params

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

* Update

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

* Update

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

* simulate before run

* fix presets

* fix

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Adrian Brzeziński <a.brzezinski94@gmail.com>
2023-10-05 12:13:53 +02:00
microwavedcola1 bbc836f10e update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-23 16:08:15 +02:00
microwavedcola1 d128f85ddf ts: update debug script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-11 14:12:47 +02:00
Christian Kamm 7b8a92dcea
Idl compatibility check: Also cover ix args and field renames (#709) 2023-09-08 21:13:30 +02:00
microwavedcola1 68b345f053 script: log all
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 13:00:42 +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 b42a35cdb9 sb logs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-05 15:56:04 +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
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 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 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
Christian Kamm 34a875d968
Restrict account growth (#686)
Because of the 64-accounts-per-tx limit. Making a single account use
more than half of these could be problematic.
2023-08-19 08:20:40 +02:00
Christian Kamm 072cd766ca
liquidator: parallel tcs execution (#679) 2023-08-18 15:36:02 +02:00
Christian Kamm ad47e9f2e9 tcs liq test: Add net borrow limit test 2023-08-14 16:15:57 +02:00
microwavedcola1 c1be446aab
Mc/slot to tx (#676)
* v0.18.17

* ts: return confirmed slot when executing a tx

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

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-11 19:12:13 +02:00
Christian Kamm f462c62816 ts: reuse tcs creation function 2023-08-10 13:48:28 +02:00
Christian Kamm b2e578bc61 Merge remote-tracking branch 'origin/deploy' into dev 2023-08-10 13:32:06 +02:00
microwavedcola1 25a90580fd Fix group in script
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-09 15:01:19 +02:00
Christian Kamm e4a9a56f89
Pass all params to token_register (#665)
Makes governance a little easier
2023-08-09 13:55:53 +02:00
Christian Kamm 6dcd5c925c
FlashLoan swaps: Allow charging a fee (#660)
To give more flexibility to the DAO.

The fee is deducted from any deposits that happen during the flash loan
and controlled per-bank with TokenEdit.
2023-08-09 13:27:25 +02:00
Christian Kamm 4810b6afbc
Tcs: store a display-only intention enum (#667)
This way the ui can know what the user created the tcs order for.

Introduces tcs create and trigger v2 logs.
2023-08-08 18:16:59 +02:00
microwavedcola1 5755480248 threshold price ui helper for tcs in ts client
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-08 14:59:43 +02:00
Christian Kamm 774c67909e
Tcs: Use fees config from Bank instead of Group (#659)
To give more flexibility to the DAO, the maximum tcs fees from
the buy and sell banks will be used.
2023-08-08 10:21:13 +02:00
microwavedcola1 a7247ad7e7 fix ts calls
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-07 13:11:23 +02:00