Commit Graph

179 Commits

Author SHA1 Message Date
Adrian Brzeziński bff4828bbf
use deposit limits (#852)
* edit max source token

* deposit limits adjustments

* fix comment

* pr fixes

* fix

* fix
2024-01-18 17:47:57 +01:00
Christian Kamm 27b1ceebe8 Accounts: Expect only the v3 MangoAccounts now (#783) 2023-12-19 10:08:46 +01:00
Christian Kamm 2829bef48e ts: tcs hasData was renamed to isConfigured 2023-11-24 11:05:20 +01:00
microwavedcola1 af314d01a5 format
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 17:05:55 +01:00
microwavedcola1 25fd722743 ts: update some typings, commented ones will be improved after next release
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-11-14 10:29:58 +01:00
Lou-Kamades 35bdf46c05
update getCumulativeFundingUi comment 2023-11-05 23:51:49 +01:00
Lou-Kamades b39412d3a2
add getCumulativeFundingUi 2023-11-05 15:13:23 +01:00
Nicholas Clarke a4fa1b801b
Add getCumulativeFunding to client. (#602)
* Add getCumulativeFunding to client.
2023-11-05 14:27:46 +01: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 549c4704d1
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>
2023-09-20 10:48:11 +02:00
microwavedcola1 d51c3ee85d
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>
2023-09-16 11:04:38 +02:00
microwavedcola1 cda47a18d1 v0.19.25 2023-09-08 12:15:50 +02:00
microwavedcola1 b46e275a2c
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>
2023-09-08 08:49:38 +02:00
Christian Kamm d60bea7436 Merge remote-tracking branch 'origin/main' into deploy 2023-09-07 12:59:50 +02:00
microwavedcola1 447e7cb151 ts: update tcs helpers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-20 21:30:12 +02:00
microwavedcola1 aa1a9f36e9 ts: add tcs helper for current pair price
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-13 12:01:20 +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
microwavedcola1 c7cc7c248c ts: fix threshold price computation in token conditional swaps
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-10 16:16:05 +02:00
Christian Kamm b2e578bc61 Merge remote-tracking branch 'origin/deploy' into dev 2023-08-10 13:32:06 +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 4c083a9a56
ts client: fix getMaxWithdrawWithBorrowForToken (#664)
* fix max withdraw amount, wasnt taking into account scaled weights

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-07 13:12:37 +02:00
microwavedcola1 776545fcdd
token conditional swaps, fixes from review (#653)
* tcs fixes from review, and easy to use helper functions

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-07 13:09:19 +02:00
Christian Kamm 1be38d14cb
Tcs: Add price display style enum (#654)
Tcs orders always store prices in a fixed "sell per buy" style, but users
can create them in either price direction. When they look at them later,
the ui needs to know what their preferred style is for this order.
2023-08-03 12:37:01 +02:00
microwavedcola1 5f7d704911 improve tcs further
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 15:57:25 +02:00
microwavedcola1 ef2df16f83 cleanup tcs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 15:32:50 +02:00
microwavedcola1 5008d3253c Fixes for tcs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 15:13:01 +02:00
microwavedcola1 c24e77d3a4
wip: extend tcs helpers (#649)
* extend tcs helpers

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

* comment

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

* add slippage helper

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 08:26:34 +02:00
Christian Kamm fef5fd97da Merge remote-tracking branch 'origin/release/program-v0.18' into deploy 2023-07-17 16:28:59 +02:00
microwavedcola1 f3a7c5ca14 make consistent with other sim functions
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-17 15:23:47 +02:00
microwavedcola1 7e917bb85d Fix type
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-14 14:02:06 +02:00
microwavedcola1 e623b8c276
Enforce safety limits while borrowing, while computing max swap source, and max spot order base/quote (#642)
* --wip-- [skip ci]

* enforce safety limits while borrowing

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

* --wip-- [skip ci]

* --wip-- [skip ci]

* --wip-- [skip ci]

* Fixes from review

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-07-13 16:29:13 +02:00
microwavedcola1 604c38ed5b fix max swap
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 09:53:38 +02:00
microwavedcola1 a6fe8dfd48 fix max swap
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 09:38:48 +02:00
microwavedcola1 05b9f8f5da ui helper
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-06 18:17:24 +02:00
microwavedcola1 7ab0164d38 v0.17.1 2023-07-05 07:32:26 +02:00
microwavedcola1 7e4ec9e14f Merge branch 'deploy-2' into dev 2023-07-04 11:05:39 +02:00
microwavedcola1 1ffa65d01b optimise getAllMangoAccounts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-04 09:26:59 +02:00
Christian Kamm 35064d4ab0
Token conditional swaps (#604)
Users can request token swaps to happen when the oracle price
is within a price band. Once the price is right, an executor can
trigger the swap. The executors are rewarded with a premium
over the oracle price.

This allows limit and stop loss orders on arbitrary spot pairs.

The PR comes with basic ts support and adjustments to the liquidator,
to execute available token conditional swaps.

Co-authored-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-03 14:09:11 +02:00
microwavedcola1 c2e48df051 Merge branch 'main' into deploy 2023-07-03 09:02:25 +02:00
microwavedcola1 0e180ed380
Mc/perp liq price 2 (#625)
* perp position liquidation price calculator

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

* refactor

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

* ui method

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-06-26 16:45:52 +02:00
microwavedcola1 66ccd962bc
mc/break even price ts client: account for unsettled funding (#617)
* v0.16.3

* ts: break even price, account for unsettled funding

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

* script

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-23 14:32:04 +02:00
microwavedcola1 b84b135dae add realized pnl helpers, reorder methods
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-22 08:40:06 +02:00
microwavedcola1 6a76476acd
referrerRebatesAccrued - these accrue to the ui now (#596)
* these accrue to the ui now

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-05-28 07:44:45 +02:00
Christian Kamm 5fc7aa1092
Configurable perp settle token (#550)
This changes perp market margining to no longer assume all pnl is in USD
while settlement is in USDC. Instead, a configurable settle token is used for
pnl and settlement, defaulting to USDC. 

There is no difference while the USDC price is forced to $1 and the init and liab
weights are 1. But with this patch, it becomes possible to change that.

For now it is not recommended to use a token other than USDC or USDT (or
another USD targeting stable token) for perp settlement.

The patch also updates all insurance vault use to be aware that the insurance
fund is not in USD but in USDC and apply the USDC price before payouts.
To do this, the previous PerpLiqNegativePnlOrBankruptcy was replaced by
a new PerpLiqNegativePnlOrBankruptcyV2 instruction.

Co-authored-by: microwavedcola1 <89031858+microwavedcola1@users.noreply.github.com>
2023-05-17 15:50:05 +02:00
microwavedcola1 5d31d6bf32
merge deploy changes to dev (#586)
* expose perp order type on perp order

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

* v0.9.17

* Fix funding rate method

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

* Fix scrript

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

* v0.9.18

* ts-client v0.9.19

* fix script

* update reduce only and force close flags in ts client

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

* v0.13.1

* expose underlying property

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

* v0.13.2

* Fix bug in closing mango account (#559)

* reafactor code for collecting health accounts, fix bug where bank oracle was skipped while closing account

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>

* Fixes from review

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

---------

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

* v0.13.3

* fix client code for building health accounts

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

* v0.13.4

* Fix bug in sim max serum3 bid

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

* v0.13.5

* increase charge

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

* ts-client v0.14.0

* Fix getBorrowRate() to include loan upkeep

* ts-client v0.14.1

* Client: Move jup's CU ix outside of flash loan

That makes a flash loan based jup swap usable with delegates.

* liquidator: Don't attempt to close in-use token positions

This could happen if the user manually used serum on the liquidator
account.

* Mc/ci cd (#570)

* prettier

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

* Fix branch

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

---------

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

* rename

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

* Increase iterations for max swap to fix some edge case, fix debug script since fees are already accounted for

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

* v0.14.2

* Risk notification bot (#565)

* risk stuff

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>

* cleanup

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

* client function

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

---------

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

* fix

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

* v0.15.0

* fix risk computati

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

* Fixes from review

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

* v0.15.2

* Fix units

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

* dont drop or rally stable assets

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

* dont skip usdc

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

* Fixes from review

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

* v0.15.3

* Fix

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

* v0.15.4

* update

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

* v0.15.5

* update

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

* v0.15.6

* add highlight

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

* v0.15.7

* Fix math

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

* Fix

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

* v0.15.10

* Fix

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

* v0.15.12

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
2023-05-16 19:20:43 +02:00
microwavedcola1 8255d53a09 Risk notification bot (#565)
* risk stuff

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>

* cleanup

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

* client function

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-05-13 11:55:24 +02:00
microwavedcola1 08dfb0ddba
Risk notification bot (#565)
* risk stuff

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>

* cleanup

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

* client function

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-05-13 11:55:08 +02:00
microwavedcola1 01ae9175e9 Fix bug in sim max serum3 bid
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-04-25 13:50:30 +02:00