Commit Graph

152 Commits

Author SHA1 Message Date
Bartłomiej Głownia
d0ec016adc
Feature/151 orderbook (#266)
* [#151] Add orderbook

* [#151] Add orderbook components

* [#151] Add market-depth data provider

* [#151] Add orderbook manager

* [#151] handle market depth updates in orderbook manager

* [#151] Fix PageQueryContainer usage of AsyncRenderer

* [#151] Move data handling logig out from orderbook manager

* [#151] Use mocked data, fix data issues

* [#151] Add compact order book data unit tests

* [#151] Add updateData unit tests

* [#151] Add updateCompactedData unit tests

* [#151] update cummulative vol on update, move data ref handling from effect to manager

* [#151] Update cummulative vol on update, fixes

* [#151] Optimieze orderbook ag-grid render

* [#151] Replace ag-grid with orderbook component

* [#151] Use react memo to optimize orderbook rendering

* [#151] Fix cummulative vol computation on compacted data update

* [#151] Add resolution controls

* [#151] Fix cumulative spelling mistake

* [#151] Use number instead of string for cumulative values

* [#151] Expose restart callback in useDataProvider hook

* [#151] Update empty cumulative values

* [#151] Add horizontal line under header in orderbook

* [#151] reuse orderbook data in market-depth chart

* [#151] restart market depth provider on sequenceNumber gap

* [#151] use throttle in orderbook and depth-chart

* [#151] Add comments, refactor data functions

* [#151] Add comments, refactor data functions

* [#151] move orderbook and depth-chart libs to market-depth
2022-04-26 17:26:28 +02:00
Bartłomiej Głownia
2cdf349641
Limit number of warnings in tests (#298) 2022-04-25 17:33:49 +01:00
Sam Keen
3354fbb0c2
frontend-monorepo-267 Reduce total staked to 2 decimal precision (#282)
* frontend-monorepo-267 Reduce total staked to 2 decimal precision

* Tweak to formatNumber to allow fixed decimal specificity

* Setting default value for the 'defaultPrecision' argument in the function signature of 'addDecimal'
2022-04-25 15:28:31 +01:00
Matthew Russell
49169e5755
Fix/Loader size, token refetch, order dialog and deposits subscription (#228)
* fix loader size, balance refresh after faucet and string interpolation of market name in order dialog

* fix ts errors

* remove ts-ignores

* remove 0x from pubkey before starting sub for deposit event

* add remove0x helper
2022-04-12 11:41:07 -07:00
Dexter Edwards
04669bf9ad
Fix/213 total staked not showing (#242)
* total staked should show

* format number correctly with the correct number of decimal places
2022-04-12 11:18:58 -07:00
Matthew Russell
98c1fc82f7
Feat/152 Trade list MVP (#217)
* add trades lib with data provider

* add trades table and cell color logic

* ensure we only show last 50 rows

* add test for table columns and formatting

* update trades table to get cells using col-id

* fix linting

* use default function param for fetchpolicy
2022-04-07 06:41:57 -07:00
Bartłomiej Głownia
c573349f68
[#185] Add accounts table (#193)
* [#185] Add accounts table

* [#185] Add summary row to accounts table
2022-04-06 10:48:05 -07:00
Matthew Russell
f244cd07d4
Feat/103 deposits (#143)
* add web3 provider using web3-react package

* add env setup, add guard for incorrect chain id

* add lib for web3-provider

* make wallet and ethereum connect dialogs look more consistent

* add setup tests file for jest-dom

* remove chain id config and just use appChainId prop, add disconnect button to invalid chainId state

* switch handling of connect dialog state to the consuming app

* rename web3-provider package to just web3

* envs for each environment so we can specify chainId

* make web3container enforce connection before rendering childen

* add web3 provider using web3-react package

* make web3container enforce connection before rendering childen

* add container for getting network params

* Move ethereum config query to web3 container

* add basic deposit form elements

* add queries required for deposits, add asset default

* add bridge contract and deposit transaction

* break txhash

* restrict etherscan link props, use etherscan link in transaction dialogs

* use smart-contracts-sdk

* split hooks and components into different files, fix find deposit logic, add styles and progress for tx dialogs

* fix text colors for dark mode

* improve tx dialogs, rename deposit query

* position use buttons, fix select validation

* fix type errors after not being in strict mode, add allowance checking

* add deposit-limits component, fix types now that strict mode is enabled

* make contract hooks have a single instance

* split out dialogs into separate files, fix icon alignment

* improve error types for use transaction hook, add number save min and max for the amount input

* add validation for ethereum and vega addresses

* add unit test for deposit form component

* add icons and shared dialog styles so it better matches order transaction dialog

* fix underline class, reset finalized deposit

* fix type imports, use i18n function, regen types

* only pass contract address to token contract hook

* add vega env, refactor so retrieving asset contract address logic isn't duplicated

* add faucet functionality, combine dialogs into single transaction-dialog

* combine rendering logic into single func of transaction dialog, rever contract hooks to just useMemo

* use to field rather than connected key

* fix props and imports in deposit form test

* share faucetable condition, pass it to token contract

* pass contracts in as params to hooks to avoid multiple contract instances

* refetch balance in wallet after deposit, add comments

* use hook state for tracking deposit via partyid, add test for use ethereum transaction hook

* add deposits lib

* add last smart contract sdk package

* fix asset import in test

* tidy up ts-ignores

* pass arg for faucetable token contract

* add provider url to env vars and use in place of infura id, also update web3-connector to only allow the chain permitted by the app

* add type guard for erc20 assets

* fix intent shadow helper function, use arrow function for isEthereumError

* update etherscan link to use env vars for url base

* rename deposit related hooks to indicate read vs write calls

* move ethereum error class and helpers to react-helpers

* add use-ethereum-read-contract hook to contain fetch logic

* remove unused import

* move validation to lib, add hex check for vega public key

* use map for transaction modal states, pass confirmed prop to transaction dialog for deposits

* remove unused import for classnames
2022-04-06 10:34:51 -07:00
Matthew Russell
018e5fe139
Task/33 add sentry to trading (#189)
* add sentry setup, add VEGA_ENV to env files

* rename custom error page

* capture exception for eager connect

* add link to setup docs in comment

* add browser tracing plugin

* define sentry auth token once

* enable sourcemaps on build

* use correct sentry config property
2022-04-04 12:45:40 -07:00
Matthew Russell
15551b65e5
Feat/83 switching vega key (#156)
* add manage dialog to wallet lib, add it to trading app

* add test for wallet button

* add tests for manage dialog

* move tooltip to ui-toolkit, add copy with tooltip component for manage dialog

* add better labelling

* add tooltip story

* add story for copy-with-tooltip

* add tests for tooltip and copy-with-tooltip

* move useFakeTimers call to beforeAll

* adjust design of manage dialog

* fix linting issues
2022-03-31 10:16:30 -07:00
sam-keen
b6df83ede8 Resolved merge conflicts with master, reduced warnings 2022-03-31 14:20:36 +01:00
Matthew Russell
4899d1bce8
Task/Mark translations (#174)
* add dummy i18n translate function to market text that will need translation in future

* add i18n function to aria-labels
2022-03-30 18:08:25 -07:00
Bartłomiej Głownia
7af0efa8d8 Enable @typescript-eslint/consistent-type-imports eslint rule 2022-03-30 13:05:41 +02:00
Matthew Russell
3f62c79f8d colocate querys with libs 2022-03-29 15:52:51 -07:00
Bartłomiej Głownia
7ba74eeafd [#128] generic data provider improvments 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
e3a1142579 [#128] Add variales handling in data provider 2022-03-29 19:13:00 +02:00
Bartłomiej Głownia
aec5d54820 [#128] add <Positions/> component to trade-grid, add useDataProvider hook 2022-03-29 19:12:45 +02:00
Bartłomiej Głownia
7f1632d44d [#128] add <PositionsTable/> component 2022-03-29 18:57:13 +02:00
Sam Keen
47e703c558
Merge pull request #149 from vegaprotocol/feat/113-stats-use-theme-switch-hook-and-ui
Feat/113 stats use theme switch hook and UI
2022-03-29 12:49:05 +01:00
sam-keen
1d2db41e92 Added new shared theme switcher into stats project 2022-03-25 16:47:28 +00:00
sam-keen
e308a923c2 Moved the theme switcher hook into a shared lib 2022-03-25 16:45:12 +00:00
Bartłomiej Głownia
afd82a8e45 Revert useApplyGridTransaction changes 2022-03-24 14:52:33 +01:00
Bartłomiej Głownia
1db7919875 Code style fixes 2022-03-24 14:29:51 +01:00
Bartłomiej Głownia
2c28c9dd2d Test ag-grid optimization approach 2022-03-24 14:27:00 +01:00
Bartłomiej Głownia
15a7887351 Fix 0 handling in PriceCell 2022-03-24 14:23:31 +01:00
Matthew Russell
6ad2a7676e
Feat/84 Order list (#89)
* scaffold dealticket package, remove trading views from react-helpers

* add deal ticket component, add intent utils, expand dialog and form group styles

* add splash component, show market not found message if market doesnt exist

* tidy up error handling

* add handleError method for vega tx hook

* add better testname for provider test, flesh out tests a bit more for deal ticket

* Add unit tests for useVegaTransaction and useOrderSubmit hooks

* add wrapper component for order dialog styles

* add vega styled loader to ui toolkit and use in order dialog

* add title prop to order dialog

* add button radio component

* revert dialog styles

* move splash component to ui-toolkit, add story

* convert intent to enum

* add date-fns, add datetime to helpers

* add order types to wallet package, make price undefined if order type is market

* tidy up order state by moving submit and transaction hooks out of deal ticket

* add types package, delete old generated types from trading project

* rename types package to graphql

* add order list container and order list component

* add test setup for useOrders

* add test for use-orders hook

* tidy unnecessary diff

* regen types and use them in order-list, also change to use applytransaction hook for orderlist grid

* make order table columns resizable

* make market table not have highlightable cells, use splash for orders errors and loading states, unit test for orderlist container

* add tests for order list table

* show rejection reason and expires at depending on status and tif

* add decimal places to query

* only update row if data has changed, add test coverage

* add setup tests file to avoid importing jest-dom for every test, add async-renderer component to handle fetch ui logic

* install all of lodash but import individually to get tree shaking

* add setup tests file for orderlist package

* add missing fields to use orders spec mock order

* fix act warnings in index page test

* fix casing of app import

* remove react-singleton-hook, simplify side formatting

* fix linting errors
2022-03-23 12:08:10 -07:00
Bartłomiej Głownia
3e69e53c4e #29 Add market-list-table 2022-03-18 13:13:14 +01:00
Matthew Russell
313e6e1217
Feat/63 Deal ticket (#82)
* scaffold dealticket package, remove trading views from react-helpers

* add deal ticket component, add intent utils, expand dialog and form group styles

* add splash component, show market not found message if market doesnt exist

* tidy up error handling

* add handleError method for vega tx hook

* add better testname for provider test, flesh out tests a bit more for deal ticket

* Add unit tests for useVegaTransaction and useOrderSubmit hooks

* add wrapper component for order dialog styles

* add vega styled loader to ui toolkit and use in order dialog

* add title prop to order dialog

* split limit and market tickets into own files

* add button radio component

* revert dialog styles

* move splash component to ui-toolkit, add story

* convert intent to enum

* Make button always type=button unless type prop is passed

* inline filter logic for tif selector

* add date-fns, add datetime to helpers

* add order types to wallet package, make price undefined if order type is market

* use enums in deal ticket logic

* tidy up order state by moving submit and transaction hooks out of deal ticket

* add comment for dialog styles

* remove decimal from price input

* add types package, delete old generated types from trading project

* rename types package to graphql

* update generate command to point to correct locations

* fix use order submit test

* use intent shadow helper

* remove date-fns and format manually, update submit button error to use input-error

* remove stray console.log
2022-03-17 12:35:46 -07:00
Bartłomiej Głownia
8a829964be
Feature/38 data grid component (#77)
* Add ag-grid

* Add lazy loaded ag-grid component

* Add theme context, move VegaWallet to separate lib

* Fix trading app cypress configuration

* Lazy load ag-grid theme css files

* Encapsulate theme switch hook
2022-03-14 14:18:11 +01:00
Matthew Russell
1f1ce70a67 re add tsconfigs for storage package 2022-03-10 20:51:05 -08:00
Matthew Russell
69924aa0b3 Add connect diaglog tests convert storage to js to avoid ts issues with testing 2022-03-10 20:51:05 -08:00
Matthew Russell
a47e4526bb fix vega connect button alignment 2022-03-10 20:51:05 -08:00
Matthew Russell
af2f05b778 remove input error from form and just use red text to avoid clash with the actual input errors 2022-03-10 20:51:05 -08:00
Matthew Russell
145e2558aa move connectors to own folder 2022-03-10 20:51:05 -08:00
Matthew Russell
74ac60fbfa fix jest setup for react helpers 2022-03-10 20:51:05 -08:00
Matthew Russell
fdc5e68158 tidy up storage keys in wallet provider 2022-03-10 20:51:05 -08:00
Matthew Russell
847d51e060 use components from ui-toolkit, add form-group, adjust input widths 2022-03-10 20:51:05 -08:00
Matthew Russell
9bffb15c2a use compoments from ui-toolkit, minor style changes 2022-03-10 20:51:05 -08:00
Matthew Russell
fb1bd68aee increase spacing of input elements 2022-03-10 20:51:05 -08:00
Matthew Russell
4bcafea969 remove hard coded vega wallet auth values 2022-03-10 20:51:05 -08:00
Matthew Russell
77214d5427 further styling 2022-03-10 20:51:05 -08:00
Matthew Russell
0b3bf269b6 tidy styles and tailwind config 2022-03-10 20:51:05 -08:00
Matthew Russell
e92e708cf1 add vega wallet manager component and re add current single pubkey to provider state 2022-03-10 20:51:05 -08:00
Matthew Russell
84af6177ad update eager connect hook and make app concerned with selected pubkey, refactor token to be stored as object 2022-03-10 20:51:05 -08:00
Matthew Russell
1e6900d147 handle session expired 2022-03-10 20:51:05 -08:00
Matthew Russell
bb485d5783 add useEagerConnect hook 2022-03-10 20:51:05 -08:00
Matthew Russell
a44b8538fa renew default api class after authentication 2022-03-10 20:51:05 -08:00
Matthew Russell
59d0beebe2 add current key selector, fix revoke token/disconnect 2022-03-10 20:51:05 -08:00
Matthew Russell
fba3101753 refactor so that consuming app chooses to render modal and what connectors to use 2022-03-10 20:51:05 -08:00
Matthew Russell
ff24a4a3ba add dialog to ui-toolkit, add functionality to provider to render connect dialog and connectors ui 2022-03-10 20:51:05 -08:00
Matthew Russell
351cd77f84 move trading views to react helpers 2022-03-02 12:21:35 -08:00
Bartłomiej Głownia
355de1a32f Create a Mono-repo for DeFiUI + ui toolkit using nx 2022-02-11 15:02:11 +01:00