🦄 An open source interface for the Uniswap protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Connor McEwen 120ad935fa
revert: "fix: mini portfolio layout fixes" (#6279)
17 hours ago
.github fix: put environment in the wrong place (#6277) 19 hours ago
.vscode chore: use @uniswap eslint preset (#5556) 3 months ago
cypress fix: close MP drawer on nft nav (#6251) 2 days ago
patches build: patch vanilla extract to speed up build time (#4447) 7 months ago
public fix: theme-aware root element color (#5788) 3 months ago
scripts fix: remove unused deps (#6227) 1 week ago
src revert: "fix: mini portfolio layout fixes" (#6279) 17 hours ago
.env feat: use new consolidated signing endpoint (#6222) 1 week ago
.env.production feat: use new consolidated signing endpoint (#6222) 1 week ago
.eslintignore chore: use @uniswap eslint preset (#5556) 3 months ago
.eslintrc.js fix: remove deprecated default imports from zustand (#6270) 2 days ago
.gitignore feat: cypress test coverage reporting (#6212) 4 days ago
.npmrc build: enforce node/npm versions (#4434) 7 months ago
.nvmrc build: update .nvmrc (#5559) 4 months ago
.nycrc feat: cypress test coverage reporting (#6212) 4 days ago
.snyk build: bump widgets/universal-router-sdk (#5582) 4 months ago
CONTRIBUTING.md test: enforce package size (#4098) 3 weeks ago
LICENSE add tokens, do some summer cleaning (#368) 4 years ago
README.md docs: Update PR template (#6235) 3 days ago
apollo-codegen.ts chore: use @uniswap eslint preset (#5556) 3 months ago
apollo-codegen_thegraph.ts chore: use @uniswap eslint preset (#5556) 3 months ago
babel-plugin-macros.config.js chore: use @uniswap eslint preset (#5556) 3 months ago
codecov.yml chore: update codecov yaml (#6262) 2 days ago
codegen.yml feat: data api connection (#4396) 7 months ago
craco.config.cjs feat: cypress test coverage reporting (#6212) 4 days ago
cypress.config.ts feat: cypress test coverage reporting (#6212) 4 days ago
cypress.release.config.ts build: wait 1m between release tests (#4077) 9 months ago
graphql.config.js chore: use @uniswap eslint preset (#5556) 3 months ago
graphql_thegraph.config.js chore: use @uniswap eslint preset (#5556) 3 months ago
lingui.config.ts chore: merge widgets work into main (#3065) 1 year ago
package.json build: upgrade sentry (#6264) 2 days ago
tsconfig.json chore: upgrade react-spring version (#4770) 6 months ago
yarn.lock build: upgrade sentry (#6264) 2 days ago

README.md

Uniswap Labs Interface

codecov

Unit Tests Integration Tests Lint Release Crowdin

An open source interface for Uniswap -- a protocol for decentralized exchange of Ethereum tokens.

Accessing the Uniswap Interface

To access the Uniswap Interface, use an IPFS gateway link from the latest release, or visit app.uniswap.org.

Unsupported tokens

Check out useUnsupportedTokenList() in src/state/lists/hooks.ts for blocking tokens in your instance of the interface.

You can block an entire list of tokens by passing in a tokenlist like here

Contributions

For steps on local deployment, development, and code contribution, please see CONTRIBUTING.

PR Title

Your PR title must follow conventional commits, and should start with one of the following types:

  • build: Changes that affect the build system or external dependencies (example scopes: yarn, eslint, typescript)
  • ci: Changes to our CI configuration files and scripts (example scopes: vercel, github, cypress)
  • docs: Documentation only changes
  • feat: A new feature
  • fix: A bug fix
  • perf: A code change that improves performance
  • refactor: A code change that neither fixes a bug nor adds a feature
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests

Example commit messages:

  • feat: adds support for gnosis safe wallet
  • fix: removes a polling memory leak
  • chore: bumps redux version

Other things to note:

  • Please describe the change using verb statements (ex: Removes X from Y)
  • PRs with multiple changes should use a list of verb statements
  • Add any relevant unit / integration tests
  • Changes will be previewable via vercel. Non-obvious changes should include instructions for how to reproduce them

Accessing Uniswap V2

The Uniswap Interface supports swapping, adding liquidity, removing liquidity and migrating liquidity for Uniswap protocol V2.

Accessing Uniswap V1

The Uniswap V1 interface for mainnet and testnets is accessible via IPFS gateways linked from the v1.0.0 release.