Release v9.0.0-rc1
What's Changed
- Revert "Add Orderbook Mid Price Cache (#2289)" by @adamfraser in #2333
- [OTE-784] Limit addresses for compliance check to dydx wallets with deposit by @jerryfan01234 in #2330
- Add Orderbook Mid Price Cache by @adamfraser in #2338
- Add current equity as a pnl tick. by @vincentwschau in #2335
- Update MsgSetActiveState proto by @jayy04 in #2337
- Mergify for v7 branches by @adamfraser in #2343
- Fix: deterministically fetch perp info from state by @ttl33 in #2341
- Add sql script latency metrics by @dydxwill in #2356
- [TRA-617] Integrate PML and Megavault by @shrenujb in #2331
- [OTE-829] upgrade handler for affiliates by @affanv14 in #2332
- [CT-1198] Add smart account and circuit break ante handler by @jayy04 in #2325
- enable username generation roundtable by @jerryfan01234 in #2361
- [OTE-823] Fix FNS onchain events staging + retrieval logic by @teddyding in #2318
- Use vault table rather than placeholder config flags to fetch vaults. by @vincentwschau in #2364
- chore: add OE Abort rate debug flag by @teddyding in #2366
- Add oracle prices index on ("marketId", "effectiveAtHeight") by @dydxwill in #2368
- [TRA-617] Fix calculation for atomic resolution by @shrenujb in #2360
- Include getting main subaccount equity / pnl for megavault PnL query. by @vincentwschau in #2376
- Add a cli method for vault withdrawal by @shrenujb in #2369
- [OTE-839] add query for unconditional revshare by @affanv14 in #2380
- [OTE-840] add missing HasEndBlocker interface by @affanv14 in #2384
- migrate vault shares to megavault shares in v7 upgrade handler (backport #2379) by @mergify[bot] in #2381
- Add function to fetch availability zone id (#2326) by @roy-dydx in #2390
- register deprecated MsgSetVaultQuotingParams by @tqin7 in #2392
- Create consumer using rack id (#2352) by @roy-dydx in #2393
- initialize megavault module account in 7.0.0 upgrade handler by @tqin7 in #2394
- [CT-1203] add clob pair id and subaccount num filters by @jayy04 in #2388
- [CT-1237] enable messages and add ante decorator to the chain by @jayy04 in #2375
- bug: Internalize FNS logic to stage FinalizeBlock events by @teddyding in #2399
- [CT-1258] add order removal reason for expired permissioned keys by @jayy04 in #2407
- [CT-1259] account plus module code cleanup by @jayy04 in #2408
- [CT-629] Fix entryPrice calc by @dydxwill in #2415
- Filter out to single tick per interval. by @vincentwschau in #2403
- Add tests for when market pair name changes by @chenyaoy in #2280
- Fix flaky vault test. by @vincentwschau in #2422
- Revert "[CT-629] Fix entryPrice calc" by @dydxwill in #2425
- chore: Bump Cometbft to log proposer when proposal is rejected by @teddyding in #2421
- [OTE-846] Bazooka sequential clear by @jerryfan01234 in #2423
- [TRA-611] Get MarketPrice exponent from marketmap by @chenyaoy in #2324
- Fix issue with flaky candle test by @adamfraser in #2430
- [CT-1202] logic to handle unauthorized maker orders when authenticato… by @jayy04 in #2412
- Update large cap params in genesis by @chenyaoy in #2431
- feat: upgrade to connect/v2 by @aljo242 in #2419
- Move FinalizeBlock event staging logic into a generic EventStager by @teddyding in #2435
- Update GetAllRevshare to handle liquidations by @affanv14 in #2413
- remove deprecated params from x/vault params query by @tqin7 in #2387
- Return undefined from getOrderbookMidPriceMap by @adamfraser in #2441
- [TRA-654] add listing module state init into v7 upgrade handler by @shrenujb in #2432
- [CT-1259] move account plus test functions to testutil by @jayy04 in #2444
- Split affiliate info fees by taker and maker by @jerryfan01234 in #2439
- Fix bug with PnL aggregation. by @vincentwschau in #2446
- Update indexer testnet url by @Christopher-Li in #2312
- [OTE-849] Add metrics to track revenue shares by @affanv14 in #2449
- [CT-1268] fix genesis for account plus by @jayy04 in #2452
- [TRA-671] Prevent connect messages in x/authz by @chenyaoy in #2434
- fix tsnonce preventing multisignature bug by @jerryfan01234 in #2453
- feat: make PML compatible with OE by staging in-memory CLOB side effects by @teddyding in #2447
- in testing, megavault main subaccount has 0 usdc by default by @tqin7 in #2462
- Update sidecar to connect v2 by @chenyaoy in #2458
- don't initialize megavault subaccount if balance is 0 in genesis by @tqin7 in #2464
- Get latest hourly tick to compute final tick for megavault PnL. by @vincentwschau in #2454
- remove megavault subaccount from sample pregenesis by @tqin7 in #2467
- add afflaiteReferredMakerRebates field to response by @jerryfan01234 in #2473
- [CT-1262] add e2e tests for new auth flow failure cases by @jayy04 in #2461
- [OTE-852] Register rpc routes in module by @affanv14 in #2480
- [OTE-863] update username generation query by @affanv14 in #2482
- Improve vault endpoint performance. by @vincentwschau in #2475
- [CT-629] Fix entryPrice calc by @dydxwill in #2455
- Fix test flakiness due to using inconsistent time. by @vincentwschau in #2485
- Add GRPC gateway route for listing module and add hard cap setting by @shrenujb in #2489
- Don't increment messageId for custom ping messages by @dydxwill in #2493
- [OTE-876] update roundtable loop timings for instrumentation and uncrossing by @affanv14 in #2494
- [OTE-877] deprecate OI indexer update event by @affanv14 in #2499
- set each megavault share to be worth 0.001 usdc on 7.x upgrade by @tqin7 in #2492
- [OTE-880] Emit log in case of collisions by @affanv14 in #2500
- add metadata to megavault operator params by @tqin7 in #2509
- Remove orderbook cache roundtable job by @adamfraser in #2510
- Rename MATIC to POL in genesis and tests by @chenyaoy in #2503
- [TRA-721] Enforce sidecar versions by @chenyaoy in #2491
- Add config var to exclude specific stateful order ids from being processed. by @vincentwschau in #2513
- Drop patch number from upgrade name, v7.0.0 to v7.0 by @adamfraser in #2512
- FNS polish - metrics, max msg size, default flag values by @jonfung-dydx in #2517
- Add script to get insurance fund balances by @ttl33 in #2516
- full node streaming - reusing subscription ids by @jonfung-dydx in #2518
- add wallet when transfer to subaccount by @jerryfan01234 in #2519
- update migration to stop excessive consumption of computation by @affanv14 in #2521
- FNS - bounds check raw subscription payload int vals by @jonfung-dydx in #2523
- Get funding index maps for vault positions in chunks. by @vincentwschau in #2525
- Protocol support for Rust by @therustmonk in #2172
- Vulcan topic to 210 partitions by @roy-dydx in #2528
- Bump SDK - Always Reset OE by @teddyding in #2531
- [CT-1262] add e2e tests for permissioned keys success cases by @jayy04 in #2479
- Fix typo and add test for invalid vaults. by @vincentwschau in #2535
- Add missing fields to perpetual markets kafka update by @shrenujb in #2539
- Change Rust protobufs crate name, license reference by @v0-e in #2541
- Use Rust proto crate name as
dydx-proto
by @v0-e in #2543 - De-duplicate and filter out invalid pnl ticks for megavault. by @vincentwschau in #2540
- [TRA-513] Deprecate exchange config json and min exchanges by @chenyaoy in #2524
- Full node streaming -- perp position to signed int by @jonfung-dydx in #2544
- [OTE-882] Add prefix to accountplus keeper by @jerryfan01234 in #2526
- [CT-1307] Make pnl ticks computation consistent within a transaction. by @vincentwschau in #2548
- pass shares to withdraw in megavault withdrawal query rest endpoint by @tqin7 in #2550
- Dont set default value for fills rows by @adamfraser in #2552
- Add gRPC gateway routing for affiliate queries by @teddyding in #2554
- Bump Comet version by @teddyding in #2556
- Update Rust protos, dependencies enhancements by @v0-e in #2538
- fix(affiliates): [OTE-898] Refactor subaccount username generation by @teddyding in #2569
- Allow configuring day vault PnL starts. by @vincentwschau in #2570
- Use alphanumeric suffix for username by @teddyding in #2573
- fix(affiliates): Generate username with address, not subaccount id by @teddyding in #2575
- Use repeatable read for pnl tick generation. by @vincentwschau in #2578
- fix(affiliate): Use DB transaction for username generation; add more stats for update… by @teddyding in #2579
- Fix username generator unit test by @teddyding in #2582
- fix(affiliates): exclude liquidation fees in referred fee calculation by @teddyding in #2585
- Update cosmossdk.io/math to v1.4.0 by @vincentwschau in #2588
- [CT-1320] proto for FNS price updates by @jayy04 in #2586
- [TRA-507] Add new gov message for upgrading markets: UpgradeIsolatedPerpetualToCross by @hwray in #2551
- Check for invalid addresses in
SetAffiliateWhitelist
by @teddyding in #2594 - [CT-1321] subscribe to market prices streaming services by @jayy04 in #2592
- Optimize query for latest pnl tick at specific time. by @vincentwschau in #2599
- Revert "[CT-629] Fix entryPrice calc (#2455)" by @vincentwschau in #2600
- Use materialized view for vault pnl data. by @vincentwschau in #2598
- feat(oe): Enable OE by default (target: v8.0+) by @teddyding in #2595
- Start refresh vault PnL task. by @vincentwschau in #2603
- make megavault withdrawal logging more succinct by @tqin7 in #2607
- Use release env for release github workflow by @ttl33 in #2608
- Fix vaults PnL endpoint. by @vincentwschau in #2612
- Candles Cache Improvements by @adamfraser in #2590
- Upgrade connect dependency to allow market authorities to remove markets by @chenyaoy in #2615
- [TRA-507] Add Indexer changes for UpgradeIsolatedPerpetualToCross by @hwray in #2597
- [CT-1326] send price updates after block is finalized by @jayy04 in #2611
- [TRA-890] Return nearest hour PnL as final data point for vaults pnl. by @vincentwschau in #2616
- Update
DefaultFundingPpm
for PML markets by @teddyding in #2610 - [TRA-885] Upgrade handler to set market, perp and clob pair id to fixed number by @shrenujb in #2589
- allow megavault operator to set default quoting params by @tqin7 in #2620
- Fix flaky Candles test by @adamfraser in #2619
- feat(blocktime): Use gov-controlled
next_block_delay
to replacetimeout_commit
by @teddyding in #2609 - [CT-1327] place post only orders first in prepare check state by @jayy04 in #2618
- update localnet sidecar to 2.1.2 by @chenyaoy in #2622
- fix(affiliates): Fix logic in affiliate referred volume aggregation by @teddyding in #2623
- Revert "Use release env for release github workflow (#2608)" by @jayy04 in #2626
- Run account plus migration in v8 upgrade by @jayy04 in #2628
- fix transfers parent SA API for external addresses in transfers by @shrenujb in #2630
- Remove unused line in transfer controller by @teddyding in #2632
- fix(affiliates): Reject self referral in
RegisterAffiliate
by @teddyding in #2637 - Increase FNS default numbers and close connections properly with reasons by @jayy04 in #2634
- Fix uncaught postgres error by @roy-dydx in #2635
- Increase orderbook mid price cache duration to 60 seconds by @adamfraser in #2633
- Add athena tables for affiliates/vaults. by @vincentwschau in #2636
- Add permissioned keys cli by @jayy04 in #2644
- Enable permissioned keys by default by @jayy04 in #2645
- Improve query to find candles map. by @vincentwschau in #2650
- fix(feetiers): Reject malformed address in query by @teddyding in #2653
- chore: Add EIGEN,BOME as isolatd market in default test genesis by @teddyding in #2651
- fix(affiliates): Check address is valid in
ReferredBy
query [OTE-896] by @teddyding in #2567 - feat(accountplus): Add query for accountplus account state by @teddyding in #2659
- Switch connect v2 to slinky v1 by @chenyaoy in #2657
- Improve vault start pnl query. by @vincentwschau in #2664
- Support non critical opt extions in clob and sending cli by @jayy04 in #2667
- base64 encode permissioned keys config arg by @jayy04 in #2668
- Fix sidecar version checker by @chenyaoy in #2671
- Patch for ASA-2024-0012 and 0013. by @vincentwschau in #2666
- [CT-1338] Add channel and id properties to error message on subscription failure. by @vincentwschau in #2678
- Add subaccount usernames table to list of tables to export. by @vincentwschau in #2677
- Move memstore hydration initialized flag to memstore by @jayy04 in #2681
- chore(oe): More info log for OE by @teddyding in #2683
- feat(blocktime): Implement query for SynchronyParams by @teddyding in #2686
- chore: Fix typo in
get-synchrony-params
by @teddyding in #2688 - fix: add metadata to more errors by @tyleroooo in #2690
- Cast oracle price to bigint and then numeric to get proper values by @shrenujb in #2689
- Add schema checks for addresses in url endpoints by @shrenujb in #2692
- feat(funding): Add
defaultFunding8hrPpm
field to Perpetual Create/Update indexer events by @teddyding in #2674 - fix(tx_search): Set
cometbft-db
tov0.12
to fix tx_search issue (Long-term fix needed) by @teddyding in #2699 - Downgrade batch cancel logs by @jayy04 in #2703
- Check for blocked address before withdrawing to it by @roy-dydx in #2709
- Fix ASA-2025-001 and ASA-2025-002 by @roy-dydx in #2712
- [BUG2-156] Only return recent best effort canceled orders. by @vincentwschau in #2716
- Fix bug with socks subaccount subscription with best effort canceled logic. by @vincentwschau in #2718
- Create delisting gov proposal script by @chenyaoy in #2722
- add cli to update default quoting params of vaults by @tqin7 in #2721
- Full Node Streaming Order Filtering by Subaccount impl and tests by @UnbornAztecKing in #2704
- initialize candles cache based on latest indexed block time by @tqin7 in #2725
- fix(market-updater): Fix timing stats by @teddyding in #2728
- perf(postgres): Improve
market-updater
task andgetLatestPrice
query by @teddyding in #2730 - fix(pnl): Fix PNL ticks leaderboard test flakiness by @teddyding in #2738
- feat(fills): Improve
fills/parentSubaccount
query by @teddyding in #2735 - feat(default-funding): Add default funding to
nextFunding
calculation by @teddyding in #2696 - update actions/cache to v4 (v2.1.3 is deprecated) by @tqin7 in #2748
- bump ibc-go to latest patch on fork (commit 8733b3e) by @tqin7 in #2747
- perf(postgres): Add short-term open order index for
cancel-stale-orders
task. by @teddyding in #2743 - remove single clob msg restriction for stateful orders by @shrenujb in #2737
- perf(postgres): Improve sparklines query by @teddyding in #2736
- fix(funding): Gracefully handle individual market errors in
sampleAllPerpetuals
by @teddyding in #2760 - perf(postgres): Add index on blocks."time" and optimize roundtable query by @teddyding in #2742
- [ENG-29] Use New Instant Liquidity Tier for IML by @anmolagrawal345 in #2744
- perf(postgres,comlink): Improve
order/parentSubaccount
query by @teddyding in #2765 - perf(postgres,comlink): Improve
historical-pnl/parentSubaccount
query by @teddyding in #2764 - allow x/vault MsgUpdateDefaultQuotingParams to be an external msg by @tqin7 in #2763
- Full Node Streaming: filter all pairs when none are specified by @UnbornAztecKing in #2746
- Skip persisting vault orders in ender by @tqin7 in #2745
- perf(ender): Use empty JSONB for skipped event by @teddyding in #2772
- [CT-1354] Extend Order Proto for TWAP by @anmolagrawal345 in #2778
- add 8.x rules to mergify by @UnbornAztecKing in #2784
- intrument sizes of bids and asks in orderbook cache by @tqin7 in #2786
- fix(fills-controller): Re-enable pagination for
fills/parentSubaccountNumber
by @teddyding in #2790 - pipeline redis queries in orders/parentSubaccount endpoint by @tqin7 in #2791
- in perpetual markets endpoint, find all markets in one query instead of one query per market by @tqin7 in #2794
- fix perpetual-markets controller test by @tqin7 in #2795
- perf(vault queries): Cache MV/Vault PNL on request by @teddyding in #2783
- [ENG-94] Replace skip-mev/slinky with dydxprotocol/slinky by @hwray in #2789
- fix /perpetualMarkets endpoint by @tqin7 in #2799
- (chore) Normalize branches for push and build to ECR by @UnbornAztecKing in #2802
- [ENG-4] Add cross-margin launch for listings by @hwray in #2804
- [CT-1353] Handle TWAP Order Placement by @anmolagrawal345 in #2779
- (build) add datadog git repository and sha tags to dockerfile and indexer workflow by @UnbornAztecKing in #2806
- replace candles (ticker, resolution) index with (ticker, resolution, startedat desc) by @tqin7 in #2807
- (bug) don't remove CLOSE event handler on websocket send error by @UnbornAztecKing in #2798
- [CT-1355] Handle Suborders in End Blocker by @anmolagrawal345 in #2780
- Add Mergify workflow for v8.1.x release by @hwray in #2819
- refactor(comlink): Separate readonly and primary Redis on comlink by @teddyding in #2817
- (perf) raise semi and old space heap sizes by @UnbornAztecKing in #2814
- (perf) use luxon.DateTime.fromSQL vs moment() by @UnbornAztecKing in #2818
- add orders table index (subaccountId, status, goodTilBlock, goodTilBlockTime) by @tqin7 in #2823
- optimize parent subaccount query and replace subaccounts index (address) with (address, subaccountNumber) by @tqin7 in #2833
- drop unused fills table indices by @tqin7 in #2838
- (perf) precompute DateTime's for candles by @UnbornAztecKing in #2839
- (metrics) add processed_blocktime_lag metric by @UnbornAztecKing in #2842
- (perf) patch mangled timestamps from pg for from ISO by @UnbornAztecKing in #2835
- (build) trigger indexer builds for mainnet and testnet on release by @UnbornAztecKing in #2846
- drop unused orders_clobpairid_side_price_index by @tqin7 in #2849
- drop unused indices by @tqin7 in #2851
- [BUG2-313] Correct fill notification to use fill size/price rather than order by @shrenujb in #2853
- Fix(orderbook): Fix to-indexer order replacement logic by @teddyding in #2855
- add hex to bech32 script by @tqin7 in #2858
- ENG-120 Removed datadog container from localnet by @Kefancao in #2862
- chore: add warn log for ts nonce rejection by @northstar456 in #2863
- (perf) use multi-hgetall vs Lua script by @UnbornAztecKing in #2865
- fix close position order by not replaying fully filled reduce-only IOC orders by @tqin7 in #2867
- [IND-596] Create funding payments store by @Kefancao in #2868
- (fix) improve handling of unhealthy websockets connections by @UnbornAztecKing in #2854
- [IND-597] API for Funding Payment History. by @Kefancao in #2872
- emit metrics on ibc deposit and withdrawal amount by @tqin7 in #1074
- verbose logging for py and js releases by @tqin7 in #2874
- fix py release workflow by @tqin7 in #2876
- fix js release workflow by @tqin7 in #2878
- [ENG-5] Funding Payment History by @Kefancao in #2869
- Update funding payment time stamp to match funding table. by @Kefancao in #2890
- Small comlink fix by @Kefancao in #2891
- [CT-1362] Support Builder Codes in the Protocol by @anmolagrawal345 in #2837
- update testnet chain ID from dydx-testnet-1 to dydx-testnet-4 by @tqin7 in #2892
- Fix race condition in update funding table task. by @Kefancao in #2895
- feat(permissioned key): require sig verification in authenticator tree by @northstar456 in #2870
- in start up scripts, set cosmovisor symlink to current version's binary by @tqin7 in #2897
- fix: fix protocol container test by @northstar456 in #2889
- [ENG-143] Add an upgrade handler for v8.1 by @shrenujb in #2880
- polish funding payment task logs and metrics by @tqin7 in #2899
- Add pagination to com link funding payments. by @Kefancao in #2900
- Add tx batching gas decorator fix by @shrenujb in #2888
- Reconciled payments with funding index. by @Kefancao in #2904
- Add funding index column by @Kefancao in #2905
- Update comlink fundingIndex column for fundingPayments. by @Kefancao in #2906
- [CT-1363] Support Builder Codes in the Indexer by @anmolagrawal345 in #2861
- Don't default to null in builder codes migration by @anmolagrawal345 in #2935
- Adds createdAtHeight index to fills table by @Kefancao in #2940
- Disable transactions for index migration by @Kefancao in #2943
- Add metrics in funding payments roundtable task. by @Kefancao in #2939
- Removes funding payments that are 0s from comlink response. by @Kefancao in #2948
- (fix) auxo: stop ender prior to db upgrade by @UnbornAztecKing in #2951
- (fix) auxo service name string formatting by @anmolagrawal345 in #2954
- (fix) raise roundtable heap limit to 6G by @UnbornAztecKing in #2957
- upgrade cosmos-sdk dependency to include security patch ISA-2025-005 by @tqin7 in #2962
- (perf) patch kafkajs and protobufjs by @UnbornAztecKing in #2960
- [ENG-159] Script to auto launch markets by @Kefancao in #2938
- Upgrade Handler 8.2 by @anmolagrawal345 in #2966
- perf: optimize postgres findFundingIndexMap(s) by @UnbornAztecKing in #2974
- perf: upgrade ws to 8.18.3, reduce service semi-space size by @UnbornAztecKing in #2975
- Add governance & save order router rev share to state by @jusbar23 in #2970
- Indexer Node 20 by @UnbornAztecKing in #2987
- [ENG-239] Add support for updating referral codes by @lukabuz in #2989
- Add logic for ORRS by @jusbar23 in #2981
- perf(socks): restore large semi space, revert node 20 packages by @UnbornAztecKing in #2998
- Add market as query parameter (alias to ticker) to v4/PerpetualMarkets by @davidli1997 in #3004
- Add script for adding an order router rev sahre by @jusbar23 in #3005
- [CT-1356] Handle TWAP Cancels and Expiry by @anmolagrawal345 in #2785
- Add optional cli commands for ORRS and builder codes by @jusbar23 in #3011
- Add script to deserialize ender block data by @jusbar23 in #3012
- [CT-1358] Support Limit Price for TWAP by @anmolagrawal345 in #2787
- Remove unused environments from github actions by @jusbar23 in #3014
- Add orrs protocol changes by @jusbar23 in #3013
- [CT-1364] Fix Store Fetching Logic for TWAP by @anmolagrawal345 in #3007
- Fix: ghost order fix + e2e test by @northstar456 in #3015
- Upgrade v9.0 by @jusbar23 in #3017
- Update mergify to target protocol & indexer v9.0 by @jusbar23 in #3021
- Add postgres changes for ORRS by @jusbar23 in #3016
- Add Postgres helper to calculate net funding payments between blocks by @davidli1997 in #3018
- feat(comlink): add configurable Cache-Control middleware by @UnbornAztecKing in #3023
- update cosmos-sdk and cometbft version to enable proposer set reduction by @tqin7 in #3019
- Add a test:clean cmd that rebuilds the package when testing by @jusbar23 in #3025
- fix: disable
MsgVerifyInvariant
by @northstar456 in #3028 - Retroactive pr by @jusbar23 in #3033
- Change to warn instead of error for invalid ORRS by @jusbar23 in #3036
- [CT-1365] Safely Handle Exceptions to TWAP Suborders by @anmolagrawal345 in #3039
- [CT-1361] Add Support for TWAP Events in the Indexer by @anmolagrawal345 in #2815
- Add release qual script for performing a chain upgrade by @jusbar23 in #3044
New Contributors
- @therustmonk made their first contribution in #2172
- @v0-e made their first contribution in #2541
- @anmolagrawal345 made their first contribution in #2744
- @northstar456 made their first contribution in #2863
- @jusbar23 made their first contribution in #2970
- @lukabuz made their first contribution in #2989
- @davidli1997 made their first contribution in #3004
Full Changelog: protocol/v7.0.0-dev0...protocol/v9.0.0-rc1