Christian Kamm
b123a3c5ae
jupiter: clearer slippage_bps argument name
2023-10-19 09:24:32 +02:00
Christian Kamm
381ef7401d
Group: Limit fast-listing tokens per week ( #756 )
...
To avoid potential abuse of fast listing while even when the dao is
unresponsive.
2023-10-17 13:14:49 +02:00
Christian Kamm
3b28856692
Bank: store interest curve scale and target util separately ( #755 )
...
Allows for better configurability independent of the previous MAX_RATE
concept
2023-10-17 13:14:07 +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
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
Christian Kamm
dfde7ec43f
serum health: use lower-precision division ( #750 )
...
This saves around 1/3rd of the compute for active serum markets.
2023-10-11 15:19:24 +02:00
Christian Kamm
20eb02af01
program-test improvements: performance, cu test output, warnings ( #749 )
...
* tests: Upgrade tx log capturing
Instead of overriding the system logger to intercept the logs, we can
now ask solana to return the logs of a tx execution directly.
This speeds up tests a lot because we don't need to hold a global lock
on tx execution anymore!
* tests: Improve token, serum, perp cu test
* benchmark: add a few more operations
2023-10-11 15:18:23 +02:00
Christian Kamm
a4745dae27
liquidator: improve jupiter quote cache ( #748 )
2023-10-09 19:56:45 +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
Christian Kamm
81fd7951dd
FlashLoanSwapBegin: small tx-size FlashLoanBegin for swaps ( #744 )
2023-10-06 16:18:59 +02:00
Christian Kamm
da07dae78a
Minor changelog additions
2023-10-06 13:50:39 +02:00
Christian Kamm
ee9ce8746d
ci: verifiable build job needs anchor >v0.28.0
...
due to workspace inheritance fixes
2023-10-06 13:46:58 +02:00
Christian Kamm
256edd230e
ci: update verifiable build job
2023-10-06 12:06:53 +02:00
Steve
6020c2aa0c
fix build-sbf by using "+solana" toolchain ( #743 )
2023-10-06 12:01:17 +02:00
Christian Kamm
fd997e2e2c
Cargo: Remove explicit workspace-inheritance feature use
...
solana-release cargo version was updated
2023-10-05 11:05:12 +02:00
Christian Kamm
32e08af598
Idl update
2023-10-05 11:04:20 +02:00
Steve
f625284593
Update to solana 1.16.14 and anchor 0.28.0 ( #718 )
...
- Change fixed to be a git dependency (no more submodules!)
- Upgrade fixed to a version compatible with borsh 0.10
- Upgrade openbook-v2 dependency (for anchor compat)
- Move services from mango-feeds repo into bin/
- Update mango-feeds-connector
Co-authored-by: Christian Kamm <mail@ckamm.de>
Co-authored-by: Riordan Panayides <riordan@panayid.es>
2023-10-05 10:56:45 +02:00
Christian Kamm
2ad6ec4166
Add script to fetch an account's transactions ( #740 )
2023-10-04 09:19:30 +02:00
Christian Kamm
1afcff5dc2
Changelog and version bump for v0.20.0 ( #739 )
2023-10-04 09:18:57 +02:00
microwavedcola1
2df4df048c
program: be more relaxed with max rate ( #734 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-03 21:13:50 +02:00
Christian Kamm
ea7fae4687
Changelog, version bump for program v0.19.1
2023-10-02 19:54:09 +02:00
Christian Kamm
1d241de75a
FlashLoan: Allow jup v6 for delegates ( #737 )
2023-10-02 19:40:43 +02:00
microwavedcola1
39ed3a3fb5
program: if position is not negative then continue ahead with withdrawal, also deactivate if position is 0 ( #736 )
...
Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
2023-10-02 09:11:44 +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
Christian Kamm
eca4550fa2
Client: fix issue when no serum program is registered ( #732 )
...
The serum StreamMap exiting aborts the whole streaming job.
2023-09-27 12:56:52 +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
Christian Kamm
2c4009eab1
Token deposit: Require valid oracle for new token positions ( #722 )
...
This avoids making an account accidentally or intentionally unusable
(except for deposits/withdraws) by depositing a token with a stale
oracle.
2023-09-19 09:08:32 +02:00
Christian Kamm
9b224eae1b
Jupiter: Ensure source account is initialized ( #721 )
2023-09-18 09:21:46 +02:00
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