Commit Graph

969 Commits

Author SHA1 Message Date
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 1800ad95f6
script for tx error grouping, and ts helper code for finding tx error reason (#747)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-09 15:39:38 +02:00
Nicholas Clarke 81f4929648
Add getCumulativeFunding to client. (#602)
* Add getCumulativeFunding to client.
2023-10-09 01:27:44 -07: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
Christian Kamm 32e08af598 Idl update 2023-10-05 11:04:20 +02:00
Christian Kamm 1afcff5dc2
Changelog and version bump for v0.20.0 (#739) 2023-10-04 09:18:57 +02:00
Christian Kamm ea7fae4687 Changelog, version bump for program v0.19.1 2023-10-02 19:54:09 +02:00
Christian Kamm 1db3d21529
Make getBorrowRateWithoutUpkeepRate() work in more cases (#731)
In particular when util0 == 0
2023-09-27 12:57:06 +02:00
microwavedcola1 e16a586034
ts: cleanup tcs create parameter naming (#730)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-26 14:53:17 +02:00
microwavedcola1 6712bfa4a8 ts: rename params to indicate that they are in native
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-26 14:18:15 +02:00
microwavedcola1 5ee00a6639
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>
2023-09-23 15:56:55 +02:00
microwavedcola1 f3431917b8
ts: if more ixs then more cu (#728)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-21 08:02:23 +02:00
microwavedcola1 cc114d702a
ts: higher min. cu limit for each tx (#727)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-20 15:41:05 +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 0aa2f6f631
Mc/update cu budget for perp settle pnl (#724)
* ts: bump perp settle pnl cu budget

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-20 07:08:23 +02:00
Christian Kamm ac38ccc687
Drop HealthCache from idl, disable ComputeAccountData ix (#723)
It's used for tests, we don't want people depending on it.
2023-09-19 10:01:44 +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 885427e777
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>
2023-09-11 13:37:11 +02:00
microwavedcola1 b2c187dd92
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>
2023-09-10 10:08:17 +02:00
microwavedcola1 11fbc25df7 ts: fix tcs order price limits
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 13:45:51 +02:00
microwavedcola1 cda47a18d1 v0.19.25 2023-09-08 12:15:50 +02:00
microwavedcola1 5bf737847f ts: tcs fix price display input to tx
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 12:07:51 +02:00
microwavedcola1 3fda20e3da v0.19.22 2023-09-08 12:05:01 +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
microwavedcola1 b48a937617
ts: add error when no free token position is found (#707)
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-09-08 08:28:34 +02:00
Christian Kamm 0aabd28cdc Merge remote-tracking branch 'origin/deploy' into dev 2023-09-07 13:14:03 +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 f2eb37b598 ids should return all subitems for a group regardless of active state 2023-09-06 13:51:40 -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 79ea2bc7df
preprended instruction change (#703)
* fix

* fix
2023-09-04 18:06:37 +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
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
microwavedcola1 e730bcd146 ts: perpCancelOrderByClientOrderIdIx
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-30 07:21:03 +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
microwavedcola1 0ee9af749f ts: getInstantaneousFundingRatePerSecond
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-28 17:56:14 +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 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 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 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 447e7cb151 ts: update tcs helpers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-20 21:30:12 +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 3480b62945
Changelog and version bump for program v0.19.0 (#683) 2023-08-18 15:38:28 +02:00
Christian Kamm a244c27df6
Add account_create_v2 instruction (#680)
This one allows specifying the number of tcs slots. That way accounts
can be created without needing a separate extend instruction afterwards.
2023-08-18 15:36:36 +02:00
Lou-Kamades 2460afce85
Merge pull request #662 from blockworks-foundation/lou/estimate-priority-fees
Add estimatePrioritizationFee to the ts client
2023-08-16 15:42:55 -05:00
Adrian Brzeziński 27097faa2f
listing fixes (#678)
* remove listing tools

* adjust stalness slots in trustless instruction
2023-08-15 13:33:48 +02:00
Christian Kamm 1dd934f8ad ts: fix stub oracle reading 2023-08-14 15:15:56 +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 f2d8e72057 doesnt need to be async
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-12 19:37:29 +02:00
microwavedcola1 765f82c5be make helper function public
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-11 22:06:21 +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 c37e535273 Fix price limit calculation in tcs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-11 16:46:19 +02:00
Lou-Kamades 3b67bfee8a
ts client: estimate priority fees for only write accounts 2023-08-11 09:18:41 -04:00
Vladimir Guguiev 707de12bb7
Client: wrap SOL using createWithSeed (#671) 2023-08-11 09:35:57 +02:00
Lou-Kamades aace8a06e5
TS: add estimatePrioritizationFee 2023-08-10 22:03:41 -04: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 f462c62816 ts: reuse tcs creation function 2023-08-10 13:48:28 +02:00
Christian Kamm 27dadbb6bc ts: Use tcsCreateV2 2023-08-10 13:39:39 +02:00
Christian Kamm b2e578bc61 Merge remote-tracking branch 'origin/deploy' into dev 2023-08-10 13:32:06 +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
microwavedcola1 9a2433263d Disallowing PDA token owners currently causes errors when the user wallet is a Smart Wallet (PDA). Fix that
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-09 13:32:03 +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
microwavedcola1 8d924a8b9b
Delegate with expiry (#663)
* delegate with expiry

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

* update idl

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-09 12:05:16 +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
microwavedcola1 cb3159811c Fix max sell in tcs client code
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-08 14:11:11 +02:00
Christian Kamm 785e6353c1 Fix compile after merges 2023-08-08 10:36:21 +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 f46c633a4f Fix max number
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-08 08:24:20 +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
microwavedcola1 43580ca26a expose idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-07 09:35:09 +02:00
microwavedcola1 14a2821d87 Revert "https://github.com/blockworks-foundation/mango-v4/pull/651 make transaction compatible with smart wallets"
This reverts commit ad5d0e3054.
2023-08-04 19:59:04 +02:00
microwavedcola1 ad5d0e3054 https://github.com/blockworks-foundation/mango-v4/pull/651 make transaction compatible with smart wallets
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-08-04 11:29:26 +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
Christian Kamm 06f6d75b98
Fix typo in admin_token_withdraw_fees ix (#655) 2023-08-03 12:34:33 +02:00
microwavedcola1 68f0502577 cancel all for tcs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-31 14:54:39 +02:00
microwavedcola1 6e42b041a8 v0.18.5 2023-07-31 13:39:09 +02:00
microwavedcola1 1dc692c5ac add missing fields on the group
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-31 06:48:58 +02:00
microwavedcola1 ca9b3cecf9 Revert "Client: use createWithSeed when wrapping SOL (#651)"
This reverts commit ba9a1d0b35.
2023-07-28 16:35:14 +02:00
Vladimir Guguiev ba9a1d0b35 Client: use createWithSeed when wrapping SOL (#651) 2023-07-28 16:09:25 +02:00
Vladimir Guguiev ca7f1422ca
Client: use createWithSeed when wrapping SOL (#651) 2023-07-28 16:09:05 +02:00
microwavedcola1 5f7d704911 improve tcs further
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 15:57:25 +02:00
microwavedcola1 fbe0056202 disable for now
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 15:44:52 +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 e4ff67bc2f make public
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-28 08:36:58 +02:00
microwavedcola1 1fdd327f4c Merge branch 'ckamm/deploy-v0.18.0-merge' into deploy 2023-07-28 08:26:50 +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
microwavedcola1 d162c612d0 allow pdas as owners
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-25 13:35:25 +02:00
microwavedcola1 cad6306bf6 examples
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-21 13:45:07 +02:00
microwavedcola1 d98bf2357b update idl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-21 08:46:24 +02:00
tjs 214ffafb1f expose additional bank params 2023-07-19 14:57:29 -04: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
Christian Kamm 348fef80f3 Tcs: reserve token positions while tcs is open (#647)
- Update in_use_count to u16
- Pass banks to TCS cancel instruction
- Increase the in_use_count when a tcs is created and decrease on
  trigger/cancel

(cherry picked from commit 5dd5c507f2)
2023-07-17 13:23:16 +02:00
Christian Kamm 5dd5c507f2
Tcs: reserve token positions while tcs is open (#647)
- Update in_use_count to u16
- Pass banks to TCS cancel instruction
- Increase the in_use_count when a tcs is created and decrease on
  trigger/cancel
2023-07-17 13:14:53 +02:00
microwavedcola1 7e917bb85d Fix type
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-14 14:02:06 +02:00
microwavedcola1 b1b0729eee settle all even spot
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-14 13:19:17 +02:00
microwavedcola1 1e61a6429e Fees to dao (#644)
* withdraw fees to dao

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>

* Fixes from review

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

* rename

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 18:42:50 +02:00
microwavedcola1 40a011a48e
Fees to dao (#644)
* withdraw fees to dao

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>

* Fixes from review

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

* rename

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 18:22:35 +02:00
microwavedcola1 9d2e4bf609
Perp close all positions helper (#643)
* close multiple perp positions in one tx

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

* settle all

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>

* Fixes from review

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-13 17:10:16 +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 c2a939bcfd Fix decimals
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-13 12:15:28 +02:00
microwavedcola1 2ebffcdb05 update
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 17:25:16 +02:00
microwavedcola1 b3b932f148 Fix headers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 15:45:42 +02:00
microwavedcola1 d67970ebc1 fix header
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 15:28:20 +02:00
microwavedcola1 5ca349f94b use mngo cloud for risl
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-12 14:30:47 +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
Christian Kamm 6b2f6af6e4 Idl: remove references to undefined openbook_v2 enums 2023-07-11 13:01:55 +02:00
Christian Kamm a7ac6f8dfb Update Cargo.lock and IDL after merge 2023-07-11 10:39:06 +02:00
galactus 6461743f35
Openbook v2 integration: instructions and accounts (#628) 2023-07-11 09:59:50 +02:00
microwavedcola1 c40bffb047 Merge branch 'main' into deploy 2023-07-07 15:44:50 +02:00
microwavedcola1 2060245f31 optimise
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-06 18:45:42 +02:00
microwavedcola1 05b9f8f5da ui helper
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-06 18:17:24 +02:00
microwavedcola1 4b82771487 also consider shorts
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-06 15:21:30 +02:00
Christian Kamm 30cb4d7753
Tcs: Switch prices from f32 to f64 (#634)
To have more precision when storing user supplied prices and ensure that
the rounding that will occur will be tiny compared to the user-provided
precision.
2023-07-06 14:48:49 +02:00
microwavedcola1 7ab0164d38 v0.17.1 2023-07-05 07:32:26 +02:00
Christian Kamm 3867d902d2 Bump program version to v0.18.0 2023-07-04 11:10:31 +02:00
Christian Kamm cc4a39850a Bump version and idl to v0.17.1 2023-07-04 11:08:59 +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 ae66dbc462 Bump version and idl to v0.17.1 2023-07-03 19:54:21 +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 eba7b4d15b add perp market filter
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-07-03 08:20:13 +02:00
microwavedcola1 acf02e2575 new helpers
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-28 15:03:32 +02:00
microwavedcola1 53b608d79d optimize
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-28 09:45:15 +02:00
microwavedcola1 21c2af7317 make pp liq price faster to compute
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-28 08:04:49 +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
Adrian Brzeziński f108ef4e4b
lisitng helpers (#616)
* lisitng helpers

* fix

* fix

* fix

* fix

* fix
2023-06-22 08:34:27 +02:00
Christian Kamm 7eedcbae0d
Serum3 edit market: Allow changing the name (#621) 2023-06-21 15:38:27 +02:00
microwavedcola1 09ee476ecf Fix risk computation for stable pairs
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-21 08:45:27 +02:00
microwavedcola1 6b2e9bbf12
deploy->dev (#612)
* 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

* no-cors

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

* use birdeye for prices

* try to override bad node-fetch code

* Mc/client simple setup (#611)

* make setting up of ts client easier

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

* docs

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

---------

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

* ts client: perp place order ix builders with self trade behavior (#609)

* ix builders for self trade behavior on perps

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

* ix builders for self trade behavior on perps

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

---------

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

* v0.16.0

* typo

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

* typo

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

* move to new ixs

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

* v0.16.1

* Revert "try to override bad node-fetch code"

This reverts commit 468754d5ae.

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: tjs <tjshipe@gmail.com>
2023-06-19 14:24:06 +02:00
microwavedcola1 01dbae9f0a update mm list
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-18 10:13:10 +02:00
microwavedcola1 e3300138a7
Fix ts client margin trade method to also work for delegates (#615)
* margin trade for delegate support

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

* Fixes from review

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

* example

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

* update

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

---------

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-16 16:07:09 +02:00
Christian Kamm 9bd3913ba4 Changelog and idl update 2023-06-16 13:38:26 +02:00
microwavedcola1 e39531e87c typo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-16 08:10:52 +02:00
microwavedcola1 43a034e91e typo
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-06-16 08:10:07 +02:00