Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: CI
on: [push, workflow_dispatch]

jobs:
lint-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest

- name: Install dependencies
run: bun install

- name: Run codegen against ponder dev
run: bun run codegen

- name: Build
run: bun run build

# TODO: fix linting errors
# - name: Lint
# run: bun run lint
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

A React-based mini application built with Vite, TypeScript, and Tailwind CSS. This project provides an easy to get started with UI for interacting with the [Doppler liquidity bootstrapping protocol](https://docs.doppler.lol/).

## Quick Start
```bash
cp .env.example .env.local && \
bun install && \
bun dev
```

## Tech Stack

- React
Expand Down
Binary file modified bun.lockb
Binary file not shown.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"codegen": "graphql-codegen --config codegen.ts"
},
"dependencies": {
"@delvtech/drift": "^0.9.1",
Comment thread
rustydotwtf marked this conversation as resolved.
"@delvtech/drift-viem": "^0.9.1",
"@delvtech/drift": "^0.8.4",
"@delvtech/drift-viem": "^0.8.4",
"@radix-ui/react-checkbox": "^1.1.3",
"@radix-ui/react-dialog": "^1.1.5",
"@radix-ui/react-label": "^2.1.1",
Expand Down
4 changes: 2 additions & 2 deletions src/gql/gql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const documents = {
"\n query Token($address: String!) {\n token(address: $address) {\n address\n name\n symbol\n decimals\n isDerc20\n totalSupply\n firstSeenAt\n }\n }\n": types.TokenDocument,
"\n query Positions($pool: String!) {\n positions(where: { pool: $pool }) {\n items {\n liquidity\n tickLower\n tickUpper\n }\n }\n }\n": types.PositionsDocument,
"\n query Asset($address: String!) {\n asset(address: $address) {\n numeraire\n timelock\n pool {\n address\n liquidity\n price\n tick\n baseToken {\n address\n name\n symbol\n decimals\n }\n quoteToken {\n address\n name\n symbol\n decimals\n }\n }\n createdAt\n migratedAt\n }\n }\n": types.AssetDocument,
"\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n graduationThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n": types.PoolsDocument,
"\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n minThreshold\n maxThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n": types.PoolsDocument,
};

/**
Expand Down Expand Up @@ -64,7 +64,7 @@ export function graphql(source: "\n query Asset($address: String!) {\n asset
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
export function graphql(source: "\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n graduationThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n"): (typeof documents)["\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n graduationThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n"];
export function graphql(source: "\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n minThreshold\n maxThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n"): (typeof documents)["\n query Pools(\n $orderBy: String\n $orderDirection: String\n $limit: Int\n $where: poolFilter \n ) {\n pools(\n orderBy: $orderBy\n orderDirection: $orderDirection\n limit: $limit\n where: $where\n ) {\n items {\n address\n chainId\n tick\n sqrtPrice\n liquidity\n createdAt\n asset {\n marketCapUsd\n }\n baseToken {\n address\n name\n symbol\n }\n quoteToken {\n address\n name\n symbol\n }\n price\n fee\n type\n dollarLiquidity\n dailyVolume {\n volumeUsd\n }\n volumeUsd\n percentDayChange\n totalFee0\n totalFee1\n minThreshold\n maxThreshold\n graduationBalance\n isToken0\n lastRefreshed\n lastSwapTimestamp\n reserves0\n reserves1\n marketCapUsd\n }\n }\n }\n"];

export function graphql(source: string) {
return (documents as any)[source] ?? {};
Expand Down
Loading