From 0f11c093213c588f46fd82629184d3ab1796c9c3 Mon Sep 17 00:00:00 2001 From: Nishad Date: Fri, 28 Aug 2020 07:20:09 +0800 Subject: [PATCH] Initial commit --- .gitignore | 25 + LICENSE | 13 + README.md | 17 + craco.config.js | 17 + package.json | 74 + public/CNAME | 1 + public/android-chrome-192x192.png | Bin 0 -> 4576 bytes public/android-chrome-512x512.png | Bin 0 -> 16617 bytes public/apple-touch-icon.png | Bin 0 -> 4230 bytes public/favicon-16x16.png | Bin 0 -> 336 bytes public/favicon-32x32.png | Bin 0 -> 725 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/index.html | 72 + public/logo.ico | Bin 0 -> 238654 bytes public/logo192.png | Bin 0 -> 5347 bytes public/logo512.png | Bin 0 -> 9664 bytes public/manifest.json | 25 + public/robots.txt | 3 + src/App.js | 31 + src/App.less | 40 + src/App.test.js | 9 + src/ant-custom.less | 3 + src/assets/logo.svg | 1 + src/components/BasicLayout.js | 21 + src/components/BottomBar.js | 13 + src/components/DepositDialog.jsx | 51 + src/components/DexProgramSelector.js | 115 + src/components/ErrorBoundary.jsx | 29 + src/components/Footer.jsx | 49 + src/components/HelpUrls.js | 10 + src/components/Link.js | 18 + src/components/Orderbook.jsx | 183 + src/components/StandaloneBalancesDisplay.jsx | 98 + src/components/TopBar.js | 70 + src/components/TradeForm.jsx | 247 + src/components/TradesTable.jsx | 65 + .../UserInfoTable/BalancesTable.jsx | 121 + src/components/UserInfoTable/FillsTable.jsx | 73 + .../UserInfoTable/OpenOrderTable.jsx | 108 + src/components/UserInfoTable/index.jsx | 26 + src/components/layout/DataTable.jsx | 33 + src/components/layout/FloatingElement.jsx | 12 + src/global_style.ts | 92 + src/index.css | 13 + src/index.js | 17 + src/logo.svg | 7 + src/pages/TradePage.jsx | 211 + src/react-app-env.d.ts | 1 + src/serviceWorker.js | 141 + src/setupTests.js | 5 + src/utils/connection.js | 92 + src/utils/fetch-loop.js | 201 + src/utils/markets.js | 510 + src/utils/notifications.js | 20 + src/utils/send.js | 313 + src/utils/usePrevious.js | 15 + src/utils/utils.js | 75 + src/utils/wallet.js | 80 + tsconfig.json | 27 + yarn.lock | 12452 ++++++++++++++++ 60 files changed, 15945 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 craco.config.js create mode 100644 package.json create mode 100644 public/CNAME create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/logo.ico create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 src/App.js create mode 100644 src/App.less create mode 100644 src/App.test.js create mode 100644 src/ant-custom.less create mode 100644 src/assets/logo.svg create mode 100644 src/components/BasicLayout.js create mode 100644 src/components/BottomBar.js create mode 100644 src/components/DepositDialog.jsx create mode 100644 src/components/DexProgramSelector.js create mode 100644 src/components/ErrorBoundary.jsx create mode 100644 src/components/Footer.jsx create mode 100644 src/components/HelpUrls.js create mode 100644 src/components/Link.js create mode 100644 src/components/Orderbook.jsx create mode 100644 src/components/StandaloneBalancesDisplay.jsx create mode 100644 src/components/TopBar.js create mode 100644 src/components/TradeForm.jsx create mode 100644 src/components/TradesTable.jsx create mode 100644 src/components/UserInfoTable/BalancesTable.jsx create mode 100644 src/components/UserInfoTable/FillsTable.jsx create mode 100644 src/components/UserInfoTable/OpenOrderTable.jsx create mode 100644 src/components/UserInfoTable/index.jsx create mode 100644 src/components/layout/DataTable.jsx create mode 100644 src/components/layout/FloatingElement.jsx create mode 100644 src/global_style.ts create mode 100644 src/index.css create mode 100644 src/index.js create mode 100644 src/logo.svg create mode 100644 src/pages/TradePage.jsx create mode 100644 src/react-app-env.d.ts create mode 100644 src/serviceWorker.js create mode 100644 src/setupTests.js create mode 100644 src/utils/connection.js create mode 100644 src/utils/fetch-loop.js create mode 100644 src/utils/markets.js create mode 100644 src/utils/notifications.js create mode 100644 src/utils/send.js create mode 100644 src/utils/usePrevious.js create mode 100644 src/utils/utils.js create mode 100644 src/utils/wallet.js create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a1bea6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +.idea diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6623dd0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,13 @@ +Copyright 2020 Serum Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a79c736 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Serum DEX UI + +An implementation of a UI for the Serum DEX. + +See [A technical introduction to the Serum DEX](https://projectserum.com/blog/serum-dex-introduction) to learn more about the Serum DEX. + +See [serum-js](https://github.com/project-serum/serum-js) for DEX client-side code. Serum DEX UI uses this library. + +See [sol-wallet-adapter](https://github.com/project-serum/sol-wallet-adapter) for an explanation of how the Serum DEX UI interacts with wallet services to sign and send requests to the Serum DEX. + +See [spl-token-wallet](https://github.com/project-serum/spl-token-wallet) for an implementation of such a wallet, live at [sollet.io](https://sollet.io). + +--- + +Run `yarn start` to start a development server or `yarn build` to create a production build that can be served by a static file server. + +See the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started) for other commands and options. diff --git a/craco.config.js b/craco.config.js new file mode 100644 index 0000000..cdcc35c --- /dev/null +++ b/craco.config.js @@ -0,0 +1,17 @@ +const CracoLessPlugin = require('craco-less'); + +module.exports = { + plugins: [ + { + plugin: CracoLessPlugin, + options: { + lessLoaderOptions: { + lessOptions: { + modifyVars: { '@primary-color': '#2abdd2' }, + javascriptEnabled: true, + }, + }, + }, + }, + ], +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..cbbaa4e --- /dev/null +++ b/package.json @@ -0,0 +1,74 @@ +{ + "name": "serum-dex-ui", + "version": "0.1.0", + "private": true, + "dependencies": { + "@ant-design/icons": "^4.2.1", + "@craco/craco": "^5.6.4", + "@project-serum/serum": "^0.6.9", + "@project-serum/sol-wallet-adapter": "^0.1.0", + "@solana/web3.js": "^0.71.9", + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.3.2", + "@testing-library/user-event": "^7.1.2", + "@tsconfig/node12": "^1.0.7", + "antd": "^4.6.0", + "bn.js": "^5.1.3", + "craco-less": "^1.17.0", + "immutable-tuple": "^0.4.10", + "qrcode.react": "^1.0.0", + "react": "^16.13.1", + "react-app-polyfill": "^1.0.5", + "react-copy-to-clipboard": "^5.0.2", + "react-dom": "^16.13.1", + "react-router": "^5.2.0", + "react-router-dom": "^5.2.0", + "react-scripts": "3.4.3", + "styled-components": "^5.1.1" + }, + "scripts": { + "start": "craco start", + "build": "craco build", + "test": "craco test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "jest": { + "transformIgnorePatterns": [ + "^.+\\.cjs$" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "prettier": { + "singleQuote": true, + "trailingComma": "all" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "devDependencies": { + "git-format-staged": "^2.1.0", + "husky": "^4.2.5", + "lint-staged": ">=10", + "prettier": "^2.0.5", + "typescript": "^4.0.2" + }, + "lint-staged": { + "*.{js,css,md}": "prettier --write" + } +} diff --git a/public/CNAME b/public/CNAME new file mode 100644 index 0000000..5f54191 --- /dev/null +++ b/public/CNAME @@ -0,0 +1 @@ +demo.projectserum.com \ No newline at end of file diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..1962ba99a86dde8755e2c857a8b3df85d4726ef3 GIT binary patch literal 4576 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 KMNUMnLSTZ&0i9g{ literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..756e55121ab0ee123b3815362a6f13d33400c6b0 GIT binary patch literal 16617 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 i^#B66X%$%W8TbR)szqkRc<09e0000fUK literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..83881ecf015c83c65b65639b20a8ac517737b62d GIT binary patch literal 725 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 aXlK7SBEC|tB#1p%AK4exXzuAXn*Rfts@75f literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..a227d7f --- /dev/null +++ b/public/index.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + Serum + + + +
+ + + diff --git a/public/logo.ico b/public/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..05b4b9599ba80806b7d996b9b974542cf00a3980 GIT binary patch literal 238654 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 literal 0 HcmV?d00001 diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..6e8c40e --- /dev/null +++ b/src/App.js @@ -0,0 +1,31 @@ +import React, { Suspense } from 'react'; +import './App.less'; +import { ConnectionProvider } from './utils/connection'; +import { MarketProvider } from './utils/markets'; +import { WalletProvider } from './utils/wallet'; +import TradePage from './pages/TradePage'; +import BasicLayout from './components/BasicLayout'; +import { GlobalStyle } from './global_style'; +import { Spin } from 'antd'; +import ErrorBoundary from './components/ErrorBoundary'; + +export default function App() { + return ( + }> + + + + + + + }> + + + + + + + + + ); +} diff --git a/src/App.less b/src/App.less new file mode 100644 index 0000000..9bf61aa --- /dev/null +++ b/src/App.less @@ -0,0 +1,40 @@ +@import '~antd/dist/antd.dark.less'; + +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/src/App.test.js b/src/App.test.js new file mode 100644 index 0000000..4db7ebc --- /dev/null +++ b/src/App.test.js @@ -0,0 +1,9 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + const { getByText } = render(); + const linkElement = getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/src/ant-custom.less b/src/ant-custom.less new file mode 100644 index 0000000..f4990b3 --- /dev/null +++ b/src/ant-custom.less @@ -0,0 +1,3 @@ +@import '~antd/dist/antd.css'; +@import '~antd/dist/antd.dark.less'; +@primary-color: #2abdd2; diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..c3b488c --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/BasicLayout.js b/src/components/BasicLayout.js new file mode 100644 index 0000000..ce91aff --- /dev/null +++ b/src/components/BasicLayout.js @@ -0,0 +1,21 @@ +import { Layout } from 'antd'; +import React from 'react'; +import TopBar from './TopBar'; +import { CustomFooter as Footer } from './Footer'; +const { Header, Content } = Layout; + +export default function BasicLayout({ children }) { + return ( + + +
+ +
+ {children} +