Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add CSV export #342

Merged
merged 26 commits into from
Jul 8, 2024

Conversation

DavideSegullo
Copy link
Contributor

This PR introduces the functionality to export the data on the "History" page in CSV format. Specifically, the following data can be exported:

  • Trades
  • Transfers

photo_2024-02-29 13 18 11
photo_2024-02-29 13 18 08
photo_2024-02-29 13 18 05


Views

  • New: <ExportHistoryDropdown>
    • Is a dropdown menu that allows you to select the data you want to export as CSV from what is shown in the history.

Functions

  • lib/csv.ts
    • Exposes a utility to generate and download a csv file.

Packages

  • dydx-chain-web
    • add: export-to-csv, a library for generating CSV files.

Copy link

vercel bot commented Feb 29, 2024

@DavideSegullo is attempting to deploy a commit to the dYdX Trading Team on Vercel.

A member of the Team first needs to authorize it.

src/components/Icon.tsx Outdated Show resolved Hide resolved
src/constants/analytics.ts Outdated Show resolved Hide resolved
src/icons/index.ts Outdated Show resolved Hide resolved
src/components/Output.tsx Outdated Show resolved Hide resolved
Copy link

vercel bot commented Jun 17, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
v4-staging ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 5, 2024 9:14pm
v4-testnet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 5, 2024 9:14pm

@yogurtandjam
Copy link
Contributor

yogurtandjam commented Jun 17, 2024

QA-ed this and noticed that it provides transfer history beyond what is shown in the UI. I think this is cool, but just want to confirm with @yifuzhang95 that this is expected product behavior

besides this LGTM @DavideSegullo - soon as comments are addressed i'm happy to stamp
cc: @moo-onthelawn

@moo-onthelawn
Copy link
Contributor

one more comment; noticed while testing that my transfers seem to export from most recent -> least recent, whereas my trades seem to export least recent -> most recent. Would ideally like to have these both behave the same if it's not too difficult!

@DavideSegullo
Copy link
Contributor Author

QA-ed this and noticed that it provides transfer history beyond what is shown in the UI. I think this is cool, but just want to confirm with @yifuzhang95 that this is expected product behavior

besides this LGTM @DavideSegullo - soon as comments are addressed i'm happy to stamp cc: @moo-onthelawn

In theory yes, it was one of the reasons why we delayed the release, but let me know, thank you for QA!

@DavideSegullo
Copy link
Contributor Author

one more comment; noticed while testing that my transfers seem to export from most recent -> least recent, whereas my trades seem to export least recent -> most recent. Would ideally like to have these both behave the same if it's not too difficult!

Makes sense, I'll sort them!

@DavideSegullo
Copy link
Contributor Author

one more comment; noticed while testing that my transfers seem to export from most recent -> least recent, whereas my trades seem to export least recent -> most recent. Would ideally like to have these both behave the same if it's not too difficult!

done

Copy link
Contributor

@yogurtandjam yogurtandjam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stamped with some nits, ready to merge soon as those are addressed!

@DavideSegullo
Copy link
Contributor Author

stamped with some nits, ready to merge soon as those are addressed!

I also resolved the conflict with the main branch, the major merge is related to the Output.tsx component

@yogurtandjam
Copy link
Contributor

@DavideSegullo this looks great, thanks for your hard work!

unfortunately we can't merge PR's with unverified commits - would we be able to squash your original 11 commits?
Screenshot 2024-06-24 at 10 56 17 AM

@DavideSegullo
Copy link
Contributor Author

@DavideSegullo this looks great, thanks for your hard work!

unfortunately we can't merge PR's with unverified commits - would we be able to squash your original 11 commits? Screenshot 2024-06-24 at 10 56 17 AM

Do you mean if it's possible to squash old commits? Maybe it's possible to something using rebase interactive mode (so we can just pick the first commit and squash the others 10 inside it), did I have something particular in mind?

@yogurtandjam
Copy link
Contributor

Do you mean if it's possible to squash old commits? Maybe it's possible to something using rebase interactive mode (so we can just pick the first commit and squash the others 10 inside it), did I have something particular in mind?

@DavideSegullo that's perfect! i typically squash unverified commits if they make their way into my PRs

feat: ✨ add download icon

feat: ✨ add navigation menu slots

feat: ✨ add csv utility

feat: 🏷️ improve dropdown menu types

refactor: ♻️ refactor Output component

refactored Output component to export formatting utils.

feat: ✨ add ExportHistoryDropdown component

feat: ✨ add export inside History page

added ExportHistoryDropdown component inside History page layout.

feat: 🚸 disable csv export on empty data

feat: 📈 add export history analytics

fix: 🐛 fix export history download

CT-525 Add liquidation position line to charts (dydxprotocol#331)

* liquidation line

* falsy val

Add transfer button to AccountInfoConnected Header (OTE-186) (dydxprotocol#332)

* Add transfer button to AccountInfoConnected Header (OTE-186)

* Organize imports

* Remove unused styling

* Remove unecessary key param

remove border (dydxprotocol#333)

Remove trading is live notification (dydxprotocol#334)

Handle BrowserRouter for testFlags (dydxprotocol#335)

Withdrawal Risk and Safety (dydxprotocol#296)

* 🚧 withdrwal-safety client calls

* 🚧 withdrawal gate and capacity

* ✏️ withdrawalGateLearnMore

* nits

* nits: Add fadedWarning and fix globalStyle type

* TransferType prop

* Add useEnvFeatures to gate fetch when unsupported on env

* Add telemetry log fn

* Add withdrawalGateLearnMore to v1/env.json

* Add Withdrawal help doc link

* Update withdrawalGateLearnMore

* Disable WithdrawalSafety fetches

Github action for syncing the release branch (dydxprotocol#319)

* Github action for syncing the release branch

* Update release to use tags for hotfix

* Update update-release.yml

* update

* update to use workflow token

update close order cell (dydxprotocol#338)

Updated otherMarketsData and Incremental improvements to Widget (dydxprotocol#326)

* new markets 2/23

* update format

* update numOracles

* new markets 2/23

* update format

* update numOracles

* new format of market data

* Update to use new otherMarket data

* fix new data format

* Filter existing proposals from New Market Widget

* bump v4-localization

* remove existing markets with invalid tickers

* update disclaimer

* add assets for new markets on the json

* add workflow that validates other market data

* clean up workflow yml

* fix LocalWallet import

* increase sleep

* sleep more

* filter by ticker and add retry

* Revert "filter by ticker and add retry"

This reverts commit 47bf20a.

* filter by ticker and add retry

* add baseAsset and omit from response

* latest clean run

* parallelize

* add validation on adjustByMarket

* fix adjsut by market parsing error

---------

Co-authored-by: jaredvu <jaredvu@gmail.com>
Co-authored-by: Tian Qin <tian@dydx.exchange>

Fix transfer button style (dydxprotocol#339)

Market filters and New Market Widget Discoverability (dydxprotocol#329)

* init

* Add useQuery for Sparklines

* New sparkline call

* Add new tags

* Update labels

* nit: remove override

* Update Market tags, add market filter to Markets page

* 💄 Fix spacing between detail items

add portal json metadata and icon (dydxprotocol#344)

* add portal json metadata and icon

* use specific v4-chain commit

---------

Co-authored-by: Tian Qin <tian@dydx.exchange>

Disable reduce-only (dydxprotocol#346)

fix release workflow (dydxprotocol#347)

Update prettier for import sorting, also run prettier on all src dir (dydxprotocol#345)

* Update prettier for import sorting, also run prettier on all src directories

* add git-blame-ignore-revs to ignore previous commit in git blame

Lower safe num oracles (dydxprotocol#350)

CT-640 Create Positions table Actions column (dydxprotocol#343)

* implement skeleton

* clean up unnecessary changes

* add to Positions table

* add key

* review comments

Add tsc to build script (dydxprotocol#348)

* typescript errors

* 🌐 tsc

* Add tsc to build script

* Add ReactNode

add AXL (dydxprotocol#352)

CT-653 Render Triggers Column skeleton (dydxprotocol#354)

* wip

* render triggers column in Positions table

* clean up

* unused import

* update to redirect FOK orders

* fix typing

* fix types round 2

* typo

* review comments

add assets for axl, meme, ocean, and add MEME tag (dydxprotocol#357)

* add assets for axl, meme, ocean, and add MEME tag

* bump v4-localization

---------

Co-authored-by: jaredvu <jaredvu@gmail.com>

style: update market filters component (dydxprotocol#356)

* style: update market filters component

* fix(marketfilter): add prop to hide propose new market button

* allow tags to be scrollable

* style(searchinput): remove clear button border/background

ensure one live websocket connection per app (dydxprotocol#361)

Add option to default to all markets in horizontal footer (dydxprotocol#349)

* Add option to default to all markets in horizontal footer

* Colocate state imports

* Consistently name 'other' section

* Colocate default enum

* Update lockfile

feat(positiontable): add column for margin (dydxprotocol#362)

* Add margin column

* Add PositionsMarginCell

* use cross/isolated string keys

* remove USD_DECIMALS since it is handled by Output

CT-655 Implement "View orders" onClick (dydxprotocol#355)

* wip

* render triggers column in Positions table

* clean up

* unused import

* update to redirect FOK orders

* fix typing

* fix types round 2

* typo

* implement onClick functionality

* add to overview; fix onclick behavior

* remove unused import

* review comments, replace arrow icon + add border

Adam/ote 207 user local storage exceeding limits (dydxprotocol#358)

* Clear abacus notifications from local storage if we exceed 50

* Don't persist AbacusGenerated notifications to LocalStorage

* Only clear notifications if AbacusGenerated exists

* touch up + prettier

---------

Co-authored-by: Bill He <bill@dydx.exchange>

chore(contributions): add conventional commits to lint pr titles (dydxprotocol#351)

* commitlint init

* chore(husky): initialize husky pre-commit and enforce commit-msg

* chore(contributions): add commit lint information on contributions.md

* chore(contributing): update md

* chore(workflow): add commitlint github workflow

* chore(workflow): commit lint pr title

* do not lint commit msg, just pr

* remove commitlint config from eslintignore

* re-add dev deps

chore(newmarkets): astr, floki, flow, edit portal (dydxprotocol#364)

* 3/7/24 run

* 3/7/24 run - discretionary

* remove sushi

* synchronously validate tickers

---------

Co-authored-by: Tian Qin <tian@dydx.exchange>

build(commitlint): Remove subject-case ENFORCEMENT (dydxprotocol#369)

* remove subject-case enforcement

* edit config

feat(radiobuttoncards): add new radio button cards component (dydxprotocol#368)

ungate trading rewards (dydxprotocol#363)

Revert "Adam/ote 207 user local storage exceeding limits (dydxprotocol#358)" (dydxprotocol#370)

This reverts commit 8446489.

chore(notification): Add Chaos Labs Season 2 Distribution notification (dydxprotocol#371)

* Add Season 2 Distribution notification

* update CTA

feat(sltp): ct-654 trigger column ui for partial close position + liquidation warnings (dydxprotocol#366)

* draft completed

* clean up

* liquidation logic fix

* remove log

* Review comments

feat(marginform): add form and dialog to adjust margin (dydxprotocol#367)

* First pass AdjustIsolatedMarginDialog

* use calculatePositionMargin

* remove unused styles

* consolidate diff output render

fix(tradeform): Change leverage buttons based on maxLeverage (dydxprotocol#373)

* Change leverage buttons based on maxLeverage

* extract if statement

ci(tests): Setup e2e browserstack testing CI (dydxprotocol#359)

* ci(tests): Add e2e browserstack testing CI

* fix

* debug

* only run for testnet and staging

* turn on all the tests

* merge jobs

* add checks

* add readme, exclude unit tests

* pnpm-lock

feat(notifications): use notification for connection errors (dydxprotocol#365)

* Use notification for connection errors

* remove code

* bump package

* fix type error

* fix type errors

* Disable trade and onboarding if chain disruption

* fix action

* bump loc

feat(aevo): add aevo, arkm (dydxprotocol#377)

* add aevo

* add assets for arkm and aevo

* add arkm asseticon and edit tag

feat(tradeform): Visual update for TradeForm with new Margin Mode and Leverage selection dialogs (dydxprotocol#372)

* First pass AdjustIsolatedMarginDialog

* use calculatePositionMargin

* remove unused styles

* desktop entrypoint and form

* skeleton adjust target leverage dialog

* Create basic Slider component

* Add SelectMarginMode and AdjustTargetLeverage forms and dialogs

* Update trade form and dialog depending on testflag

* Stretch cross/lev buttons on desktop

Only run e2e test for v4-testnet (dydxprotocol#378)

fix(onboarding): Add requestId to squid status (dydxprotocol#374)

* Add requestId to squid status

* smol refact

* address nit

add .nvmrc (dydxprotocol#375)

fix(e2e): remove @wdio/sync (dydxprotocol#382)

chore(onboarding): Add additional metadata to deposit events (dydxprotocol#380)

* add slippage and gas fee to deposit analytics

* add additional metadata

* fix tsc errors from undefined to be -1

* switch to be optional

validate that exchanges are unique in other market data validation (dydxprotocol#383)

feat(onboarding): Enable CCTP for Arbitrum (dydxprotocol#384)

feat(market): add BOME (dydxprotocol#386)

* add BOME

* add API3 kucoin

* add bome assets

Add install-local-abacus script. (dydxprotocol#387)

fix action type in profile page (dydxprotocol#379)

build: Fix clean build case in install-local-abacus (dydxprotocol#389)

feat(asset): add astr assets (dydxprotocol#391)

build: Trigger Vite restart when install-local-abacus is run. (dydxprotocol#390)

gating: use optimistic collat check for testnet (dydxprotocol#388)

feat(sltp): base ui for sltp edit modal (dydxprotocol#376)

* draft

* add view orders nav functionality

* remove testing changes

* fix the lock file

* update with new slider component

* review comments

* fix some bugs, hide advanced + CTA when no modifiable orders

fix(bug): globalThis reference error on bugsnag (dydxprotocol#353)

* fix globalThis reference error on bugsnag

* update polyfills

re-add polyfill (dydxprotocol#394)

chore(remove-notifs): Remove trigger for S2 distribution (dydxprotocol#395)

* Remove trigger for S2 distribution

* remove unused imports

bump abacus and v4-clients package for order/tx queue (dydxprotocol#392)

Add help link to env configs (dydxprotocol#396)

Add help link to env configs

use pessimistic collat check on testnet (dydxprotocol#400)

bump abacus for slippage validation update (dydxprotocol#403)

build: Enable Abacus logging in development mode. (dydxprotocol#404)

build: Enable external sourcemaps in Vite/Rollup to view Abacus source in Dev Tools (dydxprotocol#405)

Support multiple entry points with configurable HTML tags (dydxprotocol#398)

feat(performance): trading view kick off getBars / request candles sooner (dydxprotocol#399)

* remove markets dependency for loading candles

* separate indexer client out

* nits

* address feedback

* add initial price scale

* fix tv chart missing symbol error

* remove stray console.log

* bump abacus and add back settimeout

update entry-points build logic to allow for pnpm dev (dydxprotocol#409)

fix trading view chart error (dydxprotocol#408)

memo table data to avoid flickering (dydxprotocol#411)

connect wagmi on cta and not automatic for deposit (dydxprotocol#412)

fix: remove pingpongs from ws since no longer supported (dydxprotocol#414)

fix(tradingview): handle case when initial price scale doesnt need to be set (dydxprotocol#418)

* tradingview: handle case when initial price scale doesnt need to be set

build: Add v4-abacus to VSCode file watcher. (dydxprotocol#415)

feat(isolated-positions): Scaffold Unoponed Isolated Position cards (dydxprotocol#416)

* feat(isolated-positions): Scaffold Unoponed Isolated Position cards

* style(unopened-isolated-positions): backdrop-filter, vertical scroll

build: Add --clean flag to install-local-abacus (dydxprotocol#424)

feat(widget): add WIF (dydxprotocol#417)

* add WIF

* add ENA

* update celo ticker for coinbase

* increase sleep time before checking on-chain prices

* extend initializing delay to 300s

* remove tickers failing validation

* cross json data

* use commit without datadog

* print out failed proposal IDs

* use old commit

* remove tickers with price upate errors

---------

Co-authored-by: Tian Qin <tian@dydx.exchange>

fix(orderbook): rows missing/duplicated in transition state (dydxprotocol#402)

* fix orderbook rows missing/duplicated in transition state

* address feedback + fix aggregation issue

update reduceonly and withdrawal safety feature flags (dydxprotocol#422)

feat(onboarding): Privy integration (dydxprotocol#425)

* feat(onboarding): Privy integration

* update localization and make VITE_PRIVY_APP_ID optional

* fix type

feat(closepositions): hook up close positions to tradebox close position dialog (dydxprotocol#407)

* functional

* Remove flag

* fix chart tvwidget error

* Remove unnecessary change

* review comments

* update strings

* review comments

bump abacus for market order slippage (dydxprotocol#429)

update status dot for connecting state and actually degraded (dydxprotocol#430)

fix(e2e): Temperorily skip e2e (dydxprotocol#401)

feat(sltp): Flag against conditional limit orders (dydxprotocol#420)

* flag limit orders

* fixes

* fix position check

* fix hook bug

* fix selector

* last time I'll clean up these selectors I swear

* fix merge conflict

* remove entry point changes

* fix for flickering?

* Review comment

* g typo

* fix hook dep

feat(sltp): hook up abacus values to sltp dialog (dydxprotocol#426)

* update entry-points build logic to allow for pnpm dev

* working changes

* remove test changes

* add disabled condition

* fixes

* flag limit orders

* fixes

* fix position check

* fix hook bug

* fix selector

* last time I'll clean up these selectors I swear

* remove unnecessary imports

* abacus version bump

* wip

* fix merge conflict

* squash

* remove entry point changes

* bump abacus hopefully last time

* fix for flickering?

* review

* review comments

* clean up unused import

---------

Co-authored-by: aforaleka <aforaleka@gmail.com>

chore: add net funding to positions table (dydxprotocol#434)

* add net funding to positions table

* show net funding only on trade / portfolio positions

* remove extra gap before reduce-only

feat: bump client and abacus for increased gtb for short term orders (dydxprotocol#427)

* bump client and abacus for increased gtb for short term orders

* feat(new-market-widget): handle isolated markets and bump v4-client (dydxprotocol#419)

* feat(new-market-widget): handle isolated markets and bump v4-client

* update-validate-other-market-data script

* Update to support v4-client@1.1.5

* fix(type): fix type-error in newMarketMessageDetailsDialog

* fix(nits): remove unused vars

* fix(nits): update conditional, remove unused meta

* remove new markets for now

---------

Co-authored-by: Jared Vu <jaredvu@gmail.com>

chore(incentives): Update notification for incentives season 4 (dydxprotocol#436)

feat(sltp): re-enable percentage calculation on modal (dydxprotocol#432)

* update entry-points build logic to allow for pnpm dev

* working changes

* remove test changes

* add disabled condition

* fixes

* flag limit orders

* fixes

* fix position check

* fix hook bug

* fix selector

* last time I'll clean up these selectors I swear

* remove unnecessary imports

* abacus version bump

* wip

* fix merge conflict

* squash

* remove entry point changes

* bump abacus hopefully last time

* fix for flickering?

* review

* review comments

* clean up unused import

* add percentage, update abacus

* add clear button

* fix translations

* fix pnpm lock yaml lint

---------

Co-authored-by: aforaleka <aforaleka@gmail.com>

fix(sltp): bump abacus for updated perc calculation (dydxprotocol#439)

* bump v

* wrong version my bad

fix(marketWidget): hide marketType behind testflag (dydxprotocol#445)

* fix(marketWidget): hide marketType behind testflag

* add testflags

* tsignore

bump abacus and use optimistic collat check for staging and testnet (dydxprotocol#446)

feat(widget): json update (dydxprotocol#448)

* latest addition

* add FLR

* fix validate-other-market-data.ts

* remove marketType

* add FLR

* bump v4-client

* add marketId logging

* fix dydx

---------

Co-authored-by: Bill He <bill@dydx.exchange>

fix(onboarding): Disable non CCTP withdrawals with featureflag (dydxprotocol#450)

* fix(onboarding): Disable non CCTP withdrawals with featureflag

* fix condition

chore: Update README with local abacus development instructions (dydxprotocol#452)

clean up trade form stage between market changes (dydxprotocol#453)

feat(sltp): enable notifications for sl/tp orders created through modal (dydxprotocol#443)

* needs to be cleaned up

* clean up types

* fix unique stringId

* update localization

* fix lock file

fix(sltp): fix positions tables in non trade views when sltp flag is on (dydxprotocol#447)

* needs to be cleaned up

* clean up types

* fix unique stringId

* update localization

* fix lock file

* fix columns

* review comment

* review comments #2

bump abacus version for better order events error tracking (dydxprotocol#454)

chore: bump localization + abacus versions for fixed sl/tp order params (dydxprotocol#455)

* update localization + abacus

* bump localization again

fix price (dydxprotocol#457)

fix(asset-info): add dydx to market config (dydxprotocol#458)

* fix(asset): dydx asset config

* use native token cmc link

chore(trade): add CTA to place limit order on liquidity error (dydxprotocol#462)

* render limit cta

* rename variable

* fix mobile

* lint

chore(notification): Add notification for s3 rewards distribution (dydxprotocol#460)

* Add notification for s3 rewards distribution

* remove comment

bump v (dydxprotocol#463)

chore: add position size to liquidation + entry lines (dydxprotocol#456)

* added position size

* clean up

* fix tick size decimals

* remove decimal ticks; this is set by priceScale

bumped (dydxprotocol#465)

feat: refresh withdrawals ui to add clarity around fees (OTE-276) (dydxprotocol#461)

* [chore] refresh withdrawals ui to add clarity around fees

* add cctp file i forgot

* add space after comma

* cleanup

* use styled row with gap. rename ExchangeRate style to more descriptive generic RowWithGap

* address comments. add localization, use proper token by address detection

* cleanup

* replace more l8n stuff

* bump l10n package. localize lowest fees highlighted text

* removing unused code

* remove collapsible details and migrate styling

* exclude non mainnet chain

* address comment

* merge conflicts

chore(sltp): update sltp/sltplimit to be flagged behind env.json instead of url params + enable sltp in all environments (dydxprotocol#467)

* update flags

* fix bump

* why is my translation non existent

* sometimes all you have to do is restart your computer

* fix circular dep

* ungate on mainnet

* switch pessimistic check to optimistic in mainnet

* remove non v1 env.json changes

chore: enable organize imports to remove unused imports (dydxprotocol#471)

* chore: enable organize imports to remove unused imports

* run organize imports on all files (dydxprotocol#473)

default all to true (dydxprotocol#475)

feat: order status [0/n] nits and fixes re existing notifications (dydxprotocol#474)

* notification nits

* feedback

feat: deposits UI revamp (OTE-277) (dydxprotocol#466)

* [chore] refresh withdrawals ui to add clarity around fees

* address comments. add localization, use proper token by address detection

* cleanup

* replace more l8n stuff

* bump l10n package. localize lowest fees highlighted text

* remove collapsible details and migrate styling

* exclude non mainnet chain

* add tooltips, use withdrawal message for subheader as placeholder

replace string with actual strings. use sourceChain.chainName for source chain param

pipe in chain name correctly

* lowest fee deposits tooltip text

* remove test code

* cleanup

* bump l10n v use new string

* move var to receipt component

feat(compliance): Compliance UI for read only, close only and Compliance configuration (dydxprotocol#433)

* Add compliance dialog

* address comments

* UI for various compliance states

* bump abacus, remove transfer

* update localization

* fix spacing

* bump localizatoin

* add testflag

* address comments

* fix lint

* fix merge

fix: move usdc to top of TokenSelectMenu dropdown (dydxprotocol#480)

* log things

* move usdc to top of list

feat: add assets and metadata for ETHFI, FLR, TON, and WIF (dydxprotocol#484)

* add assets and metadata

* add metadata

* update TON liquidity tier

feat: add lowest fees decorator text to SourceSelectMenu (dydxprotocol#483)

* feat: add lowest fees decorator text to SourceSelectMenu

* add clarifying comment

* lint

* conditionally render

reset input to trade every time (dydxprotocol#485)

chore(sltp): bump abacus v to pull in new analytics + change sl/tp duration to 90 days (dydxprotocol#490)

* bump abacus

* add toast duration

update json (dydxprotocol#487)

chore: refactor styles [App.tsx] (dydxprotocol#468)

* refactor styles poc

* remove incorrect and unused ref

* cleanup/lint

* useref to replace old ref

* replace stateful dialog area management with ref

* address comments

* remove unused import

fix: revert env.json placeholder (dydxprotocol#491)

feat: markets page revamp (dydxprotocol#442)

* feat: 💄 add new markets page header

* feat: 💄 add new market filter styles

* feat: ✨ add new component AssetTableCell

added new component AssetTableCell to replace MarketTableCell inside the markets table.

* feat: 💄 update oracle price cell style

* feat: 💄 change price and interest rate formatting

* feat: 💄 add  number output styles

added  number output styles for markets table columns.

* feat: ✨ add sparkline chart component

* feat: ✨ add daily sparkline inside market data

* feat: ✨ add price change chart

added price change chart inside markets table.

* feat: 💄 add new billboard style

* feat: ✨ expose getCandles and add limit

* fix: 💄 fix sparkline chart margin

* feat: 💄 add new billboard styles and data

* fix: 💄 fix sparkline chart overflow

* feat: ✨ add numia chain revenue service

* feat: ✨ implement getChainRevenue inside billboard

* refactor: ♻️ move markets stats inside a specific hook

* feat: 💄 add stats section layout

* fix: 💄 fix assetCell style

* feat: 💄 add stacked variant for AssetTableCell

* feat: ✨ add MarketsCompactTable setup

* fix: 💄 fix font size inside stacked variant

* feat: ✨ add listing and openInterest cells

added new cells inside MarketsCompactTable.

* feat: ✨ add market listing date

added market listing date inside the compact table.

* fix: 💄 fix MarketsCompactTable responsive behaviour

* feat: ✨ add fiat formatting

added fiat formatting for earned by stakers section.

* feat: ✨ add sorting prop

added sorting prop for MarketsCompactTable

* feat: ✨ add gainers/losers sorting

added markets stats sorting by gainers/losers.

* feat: ✨ add view all button

added view all button inside recently listed section.

* feat: ✨ add read more link

added read more link inside ExchangeBillboards component.

* feat: ✨ add learn more link

* feat: ✨ add global markets table filter

* fix: 💄 fix market compact table overflow

* refactor: ♻️ move markets stats inside a specific component

* refactor: 🔇 remove sparkline data log

* feat: ✨ add highlights toggle

* feat: ✨ improve markets losers search

* feat: ⬆️ upgrade @dydxprotocol/v4-localization

* feat: 💬 add translations

* feat: ✨ add formatZeroNumbers utility

* test: ✅ add tests for formatZeroNumbers utility

* feat: ✨ add compress zeros inside MarketsCompactTable

* feat: 💄 improve sub font size

* feat: ✨ remove daily sparkline chart

removed daily sparkline chart from markets table.

* feat: ✨ add currency auto check

added currency auto check inside formatZeroNumbers.

* feat: ✨ add punctuationSymbol return

added punctuationSymbol symbol inside formatZeroNumbers returns.

* feat: ✨ add CompressedNumberOutput component

* revert: ⏪ revert remove of daily sparkline chart

dydxprotocol@657ef20

* feat: 💬 add translations for input search

* feat: ✨ add MarketFilter compact layout

* fix: 🐛 fix AssetTableCell rendering

* feat: ✨ remove markets charts

removed 24h volume and open interest charts.

clean up order status icon (dydxprotocol#492)

Small cleanup (dydxprotocol#494)

chore(sltp): create notification for sltp (dydxprotocol#493)

* notification

* remove unnecessary css

feat: enable regular withdrawals for privy users [OTE-282] (dydxprotocol#477)

* feat: enable regular withdrawals for privy users [OTE-282]

* lint

* only unblock privy wallets for withdrawals, not deposits

* addres comment

* fix

feat(compliance): Integrate with geoblock api (dydxprotocol#464)

* Add compliance dialog

* temp

* UI for various compliance states

* bump abacus, remove transfer

* update localization

* fix spacing

* bump localizatoin

* add testflag

* Add compliance dialog

* address comments

* UI for various compliance states

* bump abacus, remove transfer

* update localization

* fix spacing

* bump localizatoin

* add testflag

* address comments

* Integrate with geoblock api

* post geoblock on form submit

* fix merge

* temp remove ismainnet geo check

* fix lint

* fix merge

* address comments

* use abacus for survey

* revert env

* add geo endpoint

* update strings

feat: order status [1/n] replace trade form loading CTA with toast (dydxprotocol#479)

* add order status notification replacing loading state

* nits

* address

* submitted -> submitting for new orders

feat: order status [2/n] notification preferences (dydxprotocol#481)

* order status notif preferences + refactor

* notification category

feat: order status [3/n] show place order error in order status notification (dydxprotocol#482)

* show order error in order status notification

feat: order status [4/n] place order flow on mobile screen (dydxprotocol#486)

* mobile order status flow

feat: order status [5/n] cancel order toasts (dydxprotocol#488)

* add cancel order notif

* cancel in order detail dialog

* fix short term order canceled becomes filled flow

* rename

refactor(market-revamp): sum staking rewards, update compact tables, reduce sparkline api call (dydxprotocol#498)

* refactor(market-styles): refactor Styled object

* refactor(output): add slotLeft

* refact(markets-revamp): use abacus sparklines, update compact tables, etc.

feat: Test the `otherMarketData.json` file against a live slinky instance (dydxprotocol#489)

* update dydx ref to latest tag

* trigger other-market-data validation on changes to script

* evaluate slinky metrics in ci

* use dydx v4-chain version with prometheus instance

* change ref back to dydxprotocol/v4-chain + nit

* linting

feat: show latest commit hash (dydxprotocol#469)

* feat: show latest commit hash

* add to help dialog

* selectable

change script to use relative pathing (dydxprotocol#495)

chore: re-enable e2e (dydxprotocol#500)

* chore: re-enable e2e

* test

bump client and abacus for default ioc market orders (dydxprotocol#501)

feat: add Statistics link to navigation header (dydxprotocol#472)

* Add Statistics link to navigation header

* Add link to env.json

* Update correct env.json

* Revert "Add link to env.json"

This reverts commit 19d20db.

* chore(env-links): add example

---------

Co-authored-by: jaredvu <jaredvu@gmail.com>

fix(sltp): Update triggerOrders to use new notifications; remove old trigger orders notifications (dydxprotocol#496)

* add

* use new func

* wip

* remove comment

* review comments, update abacus

chore(isolated-margin-inputs): hook up abacus setTradeValues and state (dydxprotocol#497)

* chore(isolated-margin-inputs): hook up abacus setTradeValues and state

* style(adjust-target-leverage-form): update styled object

* style(trade-form): update styled object

* fix(nits-style): fix nits and fix overflow for unoponenedIsolatedPositions

feat: update json with the latest data (dydxprotocol#499)

* update json

* update TON liquidity tier

* revert existing markets and sort by cmc rank

fix: make noble addres selectable (dydxprotocol#505)

* fix: make noble addres selectable

* address comment

feat: ui updates for eimf [OTE-299] (dydxprotocol#502)

* feat: ui updates for eimf

* ui updates for eimf

* use learnMoreLink configs instead of l10n

* typo

* cap leverage state by maxLeverage

* disable buttons larger than max leverage

fix(perf): add default pagination to all tables (dydxprotocol#507)

* paginate tables

* add import

fix: disable curve dao token icon (dydxprotocol#506)

* fix: disable curve dao token icon

* remove extra file.

update abacus (dydxprotocol#510)

chore: add referrer link from landing (dydxprotocol#504)

* chore: add referrer link from landing

* more accurate type

* add referrer to all onboarding analytics

* use utm source

* revert changes

* add referrer to every tracking action

fix: Fix set latest commit script (dydxprotocol#511)

* fix: Fix set latest commit script

* address comment

fix: prefer cctp validation to squid route validation (dydxprotocol#512)

feat: improve markets page (dydxprotocol#509)

* feat: ✨ change fiat formatting

changed fiat formatting from compact to expand inside exchange billboards.

* feat: ✨ improve market sparkline cache

* feat: ✨ improve chain revenue cache

fix: hardcoded gasfee from local testing (dydxprotocol#513)

chore: refresh positions table + other nits (dydxprotocol#508)

* refresh positions table + other nits

fix(perf): memoize fills table (dydxprotocol#515)

* memoize

* oops wrong v of abacus

chore: add web version to amplitude events (dydxprotocol#516)

* add tag

* clean up

* a little less brittle

* update e2e osx to Monterey

---------

Co-authored-by: Bill He <bill@dydx.exchange>

feat(dev-3): add dev3 environment (dydxprotocol#519)

fix: Temporary default to Axelar USDC tokens on deposit while CCTP is down (dydxprotocol#514)

* fix: Temporary default to Axelar USDC tokens while CCTP is down

* address comment

fix: fix market dropdown table pagination (dydxprotocol#520)

* fix height calculation

* share a variable

fix: deposit value check (dydxprotocol#522)

* fix: deposit value check

* fix

* deboucned amount dependency array

* use bn instead of raw amount

fix: remove scrollArea style to fix safari mobile (dydxprotocol#524)

* fix: hack to get safari mobile working again

* remove unnecessary style

Revert "fix: Temporary default to Axelar USDC tokens on deposit while CCTP is down (dydxprotocol#514)" (dydxprotocol#523)

feat(new-preference): Add preference toggle for gas denom to be used when making transactions (dydxprotocol#521)

* bump v4-client

* allow user to select gas token

* fix

* update pnpm lock

* Address feedback

* remove added space

canceling toast should go from canceling -> canceled / error (dydxprotocol#529)

bump abacus (dydxprotocol#528)

chore: cleanup table component eslint errors and warnings [OTE-290] (dydxprotocol#476)

* chore: cleanup eslint ignore

* chore: cleanup table component

* use col props instead of referncing node directly

* ignore all components except table

* lint

* fix

fix: positions table close/action column title (dydxprotocol#532)

* fix positions table close/action column title

feat: update compliance strings (dydxprotocol#531)

* feat: update compliance strings

* fix tsc

* forgot to add file

* add date to config dialog

* address comments

fix stacked styling (dydxprotocol#539)

chore: add CCTPDepositOnly FF (dydxprotocol#540)

* chore: add cctpdepositonly FF

* make required ff

* cctp deposits only

* eaiser to read

chore: correctly type all Styled Components wrappers (dydxprotocol#534)

* compiles probably

* tinyfix simpler

* fix more errors

* small fixes

* fix pressed

* Fix notification

* remove unused

chore: Add latest version to web help dialog (dydxprotocol#536)

* added version

* review ocmments

chore: note in env file about deprecation (dydxprotocol#542)

* note in env file about deprecation

* update readme

chore: New es-lint rule, clean up some easy es-lint fixes (dydxprotocol#538)

* eslint add rule and make main good

* remove unnecessary

chore: cleaner handling of higher order function type inference (styled and forwardRef) (dydxprotocol#543)

* cleaner style types

* file

* Defaults and fix one more

fix(sltp): match order size slider value to input value (dydxprotocol#545)

* update abacus value to be saved

* update

* clean up

* clean up story

clena install: (dydxprotocol#547)

chore: remove eslint ignore for /pages, remove all unused styled component type references (dydxprotocol#544)

* Eslint fix

* remove

fix: pnl table flickering + limit toggles to available data (dydxprotocol#537)

* prevent pnl chart flickering + bump abacus to fetch less pnl

* remove toggle change logic to avoid buggy experience

* address feedback

* fix pnl visible data access

fix missing analytics data (dydxprotocol#555)

fix(selected-gas-denom): preserve gasDenom and set in chainTransactionProtocol (dydxprotocol#554)

* fix(selected-gas-denom): preserve selected-gas-denom and set within dydxChainTransactions

* add eslint-disable and fix circular dep

referrer (dydxprotocol#556)

chore(perf): update table pagination to be page based (dydxprotocol#530)

* wip

* wip

* fix scroll

* fix table typing

* fix default page size

* fix padding agian

* adjustment

* review comments

* oops

chore: eslint add lib (dydxprotocol#546)

* lib to eslint

* fix rest of it

* add it back

* respond to comments

chore: run lint-fix on /hooks (dydxprotocol#548)

* just lint fix

* that seems weird

update library (dydxprotocol#557)

chore: add logging for status tracking [1/n] (dydxprotocol#535)

* chore: add logging for status tracking

* add triggeredAt property for easier tracking

* prefer string litera

fix: remove noisy log (dydxprotocol#558)

* don't log there

* remove loud log

chore: apply eslint to /hooks (dydxprotocol#550)

* Get most of lib linting

* not satisfies, do rest of hooks

* cleaner name

* alias

* remove unnecessary

chore: run auto fixer on /components (dydxprotocol#551)

* apply auto fixer to components

* tiny fixes

update transition states for triggers form (dydxprotocol#563)

fix params iteration for test flags (dydxprotocol#564)

fix: rest header foreach (dydxprotocol#566)

fix: the transfer type ternery is not correct (dydxprotocol#570)

chore: remove hooks barrel file (dydxprotocol#569)

* remove hooks barrel

* remove unnecessary cycle ignores

fix top level views (dydxprotocol#552)

remove log (dydxprotocol#572)

chore: eslint more views (dydxprotocol#553)

chore: eslint the rest of easy views (dydxprotocol#560)
DavideSegullo and others added 14 commits June 28, 2024 15:11
chore: override post order position margin for full close position on isolated market (dydxprotocol#670)

fix: fix decimal places on order size/amount in positions + orders table (dydxprotocol#675)

chore(staking): (un)stake form polishes (dydxprotocol#658)

chore: set privy app client id (dydxprotocol#660)

fix: handle partially canceled orders (dydxprotocol#679)

fix(staking): add faq + fix unflagged fetch of trading rewards data (dydxprotocol#681)

feat: cancel trigger orders automatically / abacus bump (dydxprotocol#682)

chore: abacus enum casing + remove cancelOrder param (dydxprotocol#683)

chore(adjust-margin): add additional validation (dydxprotocol#668)

chore(abacus): bump to 1.7.83 (dydxprotocol#677)

Co-authored-by: aforaleka <aforaleka@gmail.com>

feat: add raydium markets to the widget (dydxprotocol#533)

Co-authored-by: jaredvu <jaredvu@gmail.com>
Co-authored-by: Bill <bill@dydx.exchange>
Co-authored-by: tyleroooo <tyler@dydx.exchange>
Co-authored-by: moo-onthelawn <70078372+moo-onthelawn@users.noreply.github.com>
Co-authored-by: Tian Qin <tian@dydx.exchange>
Co-authored-by: Nikhil Vasan <97126437+nivasan1@users.noreply.github.com>

fix(new-market-filter): remove isolated filter (dydxprotocol#688)

feat(staking): claim rewards transaction (+ simulation) (dydxprotocol#648)

fix: Recently Listed Markets View Sorted by `clobPairId` (dydxprotocol#689)

chore: bump abacus (dydxprotocol#690)

feat: share PNL analytics (dydxprotocol#678)

fix: add back precision to earned by stakers (dydxprotocol#692)

fix(sparklines): bump abacus and fix output component (dydxprotocol#695)

feat(staking): ui of validator selection (dydxprotocol#691)

chore: replace spread row with mid market price row (dydxprotocol#696)

chore(hide-gasToggle): temp hide gas toggle (dydxprotocol#700)

chore: improve order statuses (dydxprotocol#693)

fix(subaccount-transfer): enforce senderAddress matches localWallet (dydxprotocol#703)

feat: update to use proxy for staking apr (dydxprotocol#702)

chore: remove deprecated params [OTE-353] (dydxprotocol#698)

feat: add ZK, ZRO, NCAT to the widget (dydxprotocol#704)

feat(staking): polishes (dydxprotocol#701)

feat: improve markets page style (dydxprotocol#699)

feat(staking): add staking live notif (dydxprotocol#708)

feat(new market): have other market validation run on diff only (dydxprotocol#705)

feat: redirect other reward pages after staking is turned on (dydxprotocol#711)
feat: fix invert tag for certain raydium markets (dydxprotocol#709)

Co-authored-by: jaredvu <jaredvu@gmail.com>

chore(default-page): change default page to /markets (dydxprotocol#713)

chore(staking): remove last faq question (dydxprotocol#712)

feat: add tracking to staking (dydxprotocol#710)

fix: polishes for staking (dydxprotocol#716)

fix: nonzero rewards (dydxprotocol#653)

chore: fully type dialogs, fix some more any types, redo analytics (dydxprotocol#671)

fix: fix validator url icon (dydxprotocol#720)

chore(new-market): update header copy (dydxprotocol#718)

feat(mobile-download): Add mobile app store download links (dydxprotocol#717)

feat: preload metadata for all markets in otherMarketData.json (dydxprotocol#646)

Co-authored-by: jaredvu <jaredvu@gmail.com>

fix: isolated positions bug fixes + auto-open (dydxprotocol#721)

feat: orderbook refresh + updates (dydxprotocol#647)

chore: install-local-l10n command (dydxprotocol#697)

chore: use FormMaxInputToggleButton in transfer/deposit/withdraw forms (dydxprotocol#715)

fix: fix updated terms of use link (dydxprotocol#724)

fix: orderbook bugs (dydxprotocol#725)

style(nits): update exchange billboards and stats, assetIcons (dydxprotocol#726)

feat: update zk logo and zro zk logo data (dydxprotocol#727)

feat: skip track/status endpoints [OTE-354] (dydxprotocol#719)

fix(disconnect-cleanup): set localWallet and hdKey to undefined when disconnecting (dydxprotocol#728)

fix: analytics property names (dydxprotocol#730)

style(tables): update table header styling (dydxprotocol#729)
fix(staking): update button styling on tokens page + add error if wallet balance < gas fees on stake form page (dydxprotocol#731)

chore: another pass for the markets panels padding (dydxprotocol#732)

fix(staking): fix chart not loading properly (dydxprotocol#733)

fix: back to linear scale orderbook bars (dydxprotocol#734)

chore(staking): add default validator as part of stake transaction event (dydxprotocol#736)

chore: standardize date/number formatting (dydxprotocol#676)

chore(staking): update faq to have see more here link to published help article (dydxprotocol#735)

chore: observability for skip migration [OTE-432] (dydxprotocol#737)

chore(memo): clean up memo flag + flip staking to be true in mainnet (dydxprotocol#741)

feat: add blast and metadata (dydxprotocol#738)

Co-authored-by: jaredvu <jaredvu@gmail.com>
Signed-off-by: Davide Segullo <davidesegullo@gmail.com>
@DavideSegullo
Copy link
Contributor Author

Do you mean if it's possible to squash old commits? Maybe it's possible to something using rebase interactive mode (so we can just pick the first commit and squash the others 10 inside it), did I have something particular in mind?

@DavideSegullo that's perfect! i typically squash unverified commits if they make their way into my PRs

I have created an example PR on a branch in the fork, if you're back on how the history and commits are now formatted, I'll take the same content and bring it to the branch of this PR:
nabla-studio#7

@DavideSegullo
Copy link
Contributor Author

@yogurtandjam Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

5 participants