Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: penumbra-zone/dex-explorer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7f8124a4cc14386f16aee963565805946fdd8688
Choose a base ref
..
head repository: penumbra-zone/dex-explorer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ae3c1fc3b86b4f0b4c3de1ef9f3d9950b907b501
Choose a head ref
Showing with 6,610 additions and 4,954 deletions.
  1. +18 −18 .github/workflows/ci.yml
  2. +1 −0 app/api/position/timeline/route.ts
  3. +1 −0 app/api/stats/route.ts
  4. +3 −0 app/inspect/lp/[id]/page.tsx
  5. +2 −2 app/inspect/page.ts
  6. +1 −0 app/not-found.tsx
  7. +0 −6 app/page.tsx
  8. +0 −3 app/trade/page.ts
  9. +4 −0 global.d.ts
  10. +6 −0 middleware.ts
  11. +48 −48 package.json
  12. +3,532 −4,304 pnpm-lock.yaml
  13. +5 −0 scripts/generate-pindexer-schema.ts
  14. +14 −0 src/pages/explore/api/use-stats.ts
  15. +17 −21 src/pages/explore/api/use-summaries.ts
  16. +15 −2 src/pages/explore/ui/info-card.tsx
  17. +4 −4 src/pages/explore/ui/pair-card.tsx
  18. +62 −10 src/pages/explore/ui/pairs.tsx
  19. +3 −3 src/pages/explore/ui/preview-chart/preview-adapter.test.ts
  20. +35 −25 src/pages/explore/ui/stats.tsx
  21. +1 −0 src/pages/inspect/index.ts
  22. +0 −11 src/pages/inspect/index.tsx
  23. +117 −0 src/pages/inspect/lp/api/position.ts
  24. +70 −0 src/pages/inspect/lp/api/types.ts
  25. +166 −0 src/pages/inspect/ui/actions.tsx
  26. +51 −0 src/pages/inspect/ui/debug.tsx
  27. +235 −0 src/pages/inspect/ui/executions.tsx
  28. +65 −0 src/pages/inspect/ui/result.tsx
  29. +67 −0 src/pages/inspect/ui/search.tsx
  30. +216 −0 src/pages/inspect/ui/state-details.tsx
  31. +29 −0 src/pages/inspect/ui/time.tsx
  32. +167 −0 src/pages/inspect/ui/volume.tsx
  33. +1 −0 src/pages/not-found/index.ts
  34. +15 −0 src/pages/not-found/link.tsx
  35. +21 −0 src/pages/not-found/page.tsx
  36. +3 −39 src/pages/trade/api/candles.tsx
  37. +23 −0 src/pages/trade/api/middleware.ts
  38. +16 −18 src/pages/trade/api/positions.ts
  39. +1 −0 src/pages/trade/index.server.ts
  40. +99 −0 src/pages/trade/model/positions.ts
  41. +6 −5 src/pages/trade/model/trace.test.ts
  42. +4 −16 src/pages/trade/model/useSummary.ts
  43. +0 −41 src/pages/trade/redirect.tsx
  44. +24 −19 src/pages/trade/ui/chart.tsx
  45. +9 −15 src/pages/trade/ui/history-tabs.tsx
  46. +0 −43 src/pages/trade/ui/history.tsx
  47. +1 −1 src/pages/trade/ui/market-trades.tsx
  48. +224 −71 src/pages/trade/ui/positions.tsx
  49. +78 −52 src/pages/trade/ui/route-book.tsx
  50. +1 −1 src/pages/trade/ui/route-tabs.tsx
  51. +4 −4 src/pages/trade/ui/summary.tsx
  52. +30 −21 src/pages/trade/ui/trade-row.tsx
  53. +1 −1 src/shared/api/server/book/helpers.ts
  54. +2 −2 src/shared/api/server/candles/index.ts
  55. +129 −0 src/shared/api/server/candles/utils.test.ts
  56. +53 −0 src/shared/api/server/candles/utils.ts
  57. +91 −0 src/shared/api/server/position/timeline/executions.ts
  58. +40 −0 src/shared/api/server/position/timeline/index.ts
  59. +107 −0 src/shared/api/server/position/timeline/state.ts
  60. +73 −0 src/shared/api/server/position/timeline/types.ts
  61. +99 −0 src/shared/api/server/position/timeline/volume.ts
  62. +44 −0 src/shared/api/server/position/timeline/withdraws.ts
  63. +20 −4 src/{pages/explore/api/get-stats.ts → shared/api/server/stats.ts}
  64. +11 −6 src/shared/api/server/summary/all.ts
  65. +5 −4 src/shared/api/server/summary/single.ts
  66. +45 −130 src/shared/api/server/summary/types.ts
  67. +2 −0 src/shared/const/pages.ts
  68. +157 −2 src/shared/database/index.ts
  69. +73 −0 src/shared/database/schema.ts
  70. +27 −0 src/shared/utils/api-fetch.ts
  71. +96 −0 src/shared/utils/serializer.ts
  72. +10 −2 tsconfig.json
  73. +10 −0 vite.config.ts
36 changes: 18 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -51,21 +51,21 @@ jobs:
- run: pnpm install --frozen-lockfile
- run: pnpm build

# test:
# name: test
# runs-on: buildjet-4vcpu-ubuntu-2204
# steps:
# - uses: actions/checkout@v4
# - id: tested
# uses: buildjet/cache@v4
# with:
# path: .next
# key: ${{ hashFiles('pnpm-lock.yaml') }}-${{ github.ref }}-${{ github.sha }}-test
# restore-keys: ${{ hashFiles('pnpm-lock.yaml') }}-${{ github.ref }}-${{ github.sha }}-compiled
# - uses: pnpm/action-setup@v4
# - uses: buildjet/setup-node@v4
# with:
# node-version: "22"
# cache: "pnpm"
# - run: pnpm install --frozen-lockfile
# - run: pnpm test
test:
name: test
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
- uses: actions/checkout@v4
- id: tested
uses: buildjet/cache@v4
with:
path: .next
key: ${{ hashFiles('pnpm-lock.yaml') }}-${{ github.ref }}-${{ github.sha }}-test
restore-keys: ${{ hashFiles('pnpm-lock.yaml') }}-${{ github.ref }}-${{ github.sha }}-compiled
- uses: pnpm/action-setup@v4
- uses: buildjet/setup-node@v4
with:
node-version: '22'
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- run: pnpm test
1 change: 1 addition & 0 deletions app/api/position/timeline/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { GET } from '@/shared/api/server/position/timeline';
1 change: 1 addition & 0 deletions app/api/stats/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { GET } from '@/shared/api/server/stats';
3 changes: 3 additions & 0 deletions app/inspect/lp/[id]/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { LpInspectResult } from '@/pages/inspect/ui/result.tsx';

export default LpInspectResult;
4 changes: 2 additions & 2 deletions app/inspect/page.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import { InspectPage } from '@/pages/inspect';
import { InspectSearch } from '@/pages/inspect';

export default InspectPage;
export default InspectSearch;
1 change: 1 addition & 0 deletions app/not-found.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { NotFoundPage as default } from '@/pages/not-found';
6 changes: 0 additions & 6 deletions app/page.tsx

This file was deleted.

3 changes: 0 additions & 3 deletions app/trade/page.ts

This file was deleted.

4 changes: 4 additions & 0 deletions global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
declare module '*.css' {
const content: Record<string, string>;
export default content;
}
6 changes: 6 additions & 0 deletions middleware.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Redirects "/" and "/trade" paths to "/trade/:primary/:numeraire"
export const config = {
matcher: ['/', '/trade'],
};

export { tradeMiddleware as middleware } from '@/pages/trade/index.server';
96 changes: 48 additions & 48 deletions package.json
Original file line number Diff line number Diff line change
@@ -14,6 +14,7 @@
"dev": "next dev",
"dev:local": "WEBPACK_WATCH=true next dev",
"start": "next start",
"preview": "next build && cp -r public .next/standalone/ && cp -r .next/static .next/standalone/.next/ && cp -r ca-cert.pem .next/standalone/ && node .next/standalone/server.js",
"format": "prettier --write .",
"lint": "eslint src",
"lint:fix": "eslint src --fix",
@@ -24,13 +25,13 @@
},
"dependencies": {
"@bufbuild/protobuf": "^1.10.0",
"@chakra-ui/icons": "^2.1.1",
"@chakra-ui/react": "^2.8.2",
"@chakra-ui/styled-system": "^2.9.2",
"@connectrpc/connect": "^1.4.0",
"@connectrpc/connect-web": "^1.4.0",
"@emotion/react": "^11.13.3",
"@emotion/styled": "^11.13.0",
"@chakra-ui/icons": "^2.2.4",
"@chakra-ui/react": "^2.10.4",
"@chakra-ui/styled-system": "^2.12.0",
"@connectrpc/connect": "^1.6.1",
"@connectrpc/connect-web": "^1.6.1",
"@emotion/react": "^11.13.5",
"@emotion/styled": "^11.13.5",
"@formkit/auto-animate": "^0.8.2",
"@grpc/proto-loader": "^0.7.13",
"@penumbra-labs/registry": "^12.0.0",
@@ -44,81 +45,80 @@
"@penumbra-zone/types": "^26.3.0",
"@penumbra-zone/ui": "^13.4.2",
"@penumbra-zone/wasm": "^34.0.0",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-icons": "^1.3.2",
"@rehooks/component-size": "^1.0.3",
"@styled-icons/octicons": "^10.47.0",
"@tanstack/react-query": "^5.59.0",
"@tanstack/react-query": "^5.62.3",
"@textea/json-viewer": "^4.0.0",
"@tsconfig/strictest": "^2.0.5",
"@tsconfig/vite-react": "^3.0.2",
"@vercel/analytics": "^1.3.1",
"@vercel/speed-insights": "^1.0.12",
"@tsconfig/vite-react": "^3.4.0",
"@vercel/analytics": "^1.4.1",
"@vercel/speed-insights": "^1.1.0",
"bech32": "^2.0.0",
"bignumber.js": "^9.1.2",
"chart.js": "^4.4.4",
"chart.js": "^4.4.7",
"chartjs-adapter-date-fns": "^3.0.0",
"chartjs-chart-financial": "^0.2.1",
"chartjs-plugin-annotation": "^3.0.1",
"chartjs-plugin-zoom": "^2.0.1",
"chartjs-plugin-annotation": "^3.1.0",
"chartjs-plugin-zoom": "^2.2.0",
"clsx": "^2.1.1",
"configs": "https://github.com/prax-wallet/configs.git#main",
"date-fns": "^3.6.0",
"configs": "github:prax-wallet/configs#main",
"date-fns": "^4.1.0",
"echarts": "^5.5.1",
"echarts-for-react": "^3.0.2",
"framer-motion": "^11.3.31",
"framer-motion": "^11.13.1",
"grpc-tools": "^1.12.4",
"grpc_tools_node_protoc_ts": "^5.3.3",
"kysely": "^0.27.4",
"lightweight-charts": "^4.2.0",
"kysely": "^0.27.5",
"lightweight-charts": "^4.2.2",
"lodash": "^4.17.21",
"lucide-react": "^0.445.0",
"mobx": "^6.13.3",
"lucide-react": "^0.468.0",
"mobx": "^6.13.5",
"mobx-react-lite": "^4.0.7",
"next": "^14.2.7",
"pg": "^8.12.0",
"prettier": "^3.3.3",
"next": "^14.2.18",
"pg": "^8.13.1",
"prettier": "^3.4.1",
"react": "^18.3.1",
"react-chartjs-2": "^5.2.0",
"react-dom": "^18.3.1",
"react-loader-spinner": "^6.1.6",
"react-outside-click-handler": "^1.3.0",
"react-use-size": "^3.0.3",
"sharp": "^0.33.5",
"webpack": "^5.94.0",
"webpack": "^5.97.1",
"zod": "^3.23.8"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.4",
"@babel/preset-react": "^7.24.7",
"@babel/preset-typescript": "^7.24.7",
"@babel/core": "^7.26.0",
"@babel/preset-env": "^7.26.0",
"@babel/preset-react": "^7.26.3",
"@babel/preset-typescript": "^7.26.0",
"@chakra-ui/react-types": "^2.0.6",
"@eslint/js": "^9.10.0",
"@penumbra-zone/types": "^25.0.0",
"@eslint/js": "^9.16.0",
"@svgr/webpack": "^8.1.0",
"@types/chrome": "^0.0.278",
"@types/date-fns": "^2.6.0",
"@types/lodash": "^4.17.7",
"@types/chrome": "^0.0.287",
"@types/lodash": "^4.17.13",
"@types/milliseconds": "^0.0.33",
"@types/node": "^22.5.4",
"@types/pg": "^8.11.8",
"@types/react": "^18.3.5",
"@types/react-dom": "^18.3.0",
"@types/react-outside-click-handler": "^1.3.3",
"@types/node": "^22.10.1",
"@types/pg": "^8.11.10",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@types/react-outside-click-handler": "^1.3.4",
"autoprefixer": "^10.4.20",
"babel-loader": "^9.1.3",
"babel-loader": "^9.2.1",
"eslint": "8.57.0",
"eslint-config-next": "14.2.3",
"eslint-plugin-react": "^7.35.2",
"globals": "^15.9.0",
"eslint-plugin-react": "^7.37.2",
"globals": "^15.13.0",
"kysely-codegen": "^0.17.0",
"postcss": "^8.4.47",
"postcss": "^8.4.49",
"styled-components": "^6.1.13",
"tailwindcss": "^3.4.12",
"tailwindcss": "^3.4.16",
"ts-loader": "^9.5.1",
"tsx": "^4.19.2",
"typescript": "^5.5.4",
"typescript-eslint": "^8.4.0",
"vitest": "^2.1.3",
"typescript": "^5.7.2",
"typescript-eslint": "^8.17.0",
"vitest": "^2.1.8",
"webpack-watch-external-files-plugin": "^3.1.0"
}
}
Loading