Uniswap without TORN censoring
Go to file
Brendan Wong 9954f9502d
feat: dynamically generated images for rich link previews (#6902)
* feat: add token and nft injection

* feat: basic tests

* fix: get jest configured properly

* fix: change timeout

* fix: uninstall port ready

* fix: readd port ready

* fix: local tests work

* Update yarn.lock

* add lint disable for setup files

* fix: update dependencies

* fix: basic test suite for nfts/tokens

* feat: collection data

* fix: make tests more comprehensive

* fix: change matches to contains

* fix: tests for twitter alt image tag

* fix: image gen

* fix: add patch-package

* fix: update yarn install

* feat: basic image gen for nfts and collections

* fix: remove vibrant attempt

* use watermark asset

* dynamically grab color

* modularize code and prototype for token preview

* refactor code

* finalize css

* fix color grabber

* update tests

* fix up css

* refactor code a bit more

* remove console logs

* tests

* update tests

* update images based on design feedback

* network logos

* update lint

* slight refactoring

* more refactoring

* fix packages

* Update yarn.lock

* remove dynamically generated image stuff

* Revert "remove dynamically generated image stuff"

This reverts commit a80241edb3a970a724b9a07ce36e492ff8a1c2af.

* change image reference and revamp tests

* cleanup return values

* Create README.md

* Revert "Create README.md"

This reverts commit 7a91c98d384995fba914c9bf9a2fb3072793621f.

* First round of feedback

* comments

* feat: cache

* Update test.yml

* Update test.yml

* Update test.yml

* feedback round 2

* final feedback

* final final feedback

* add coverage and other options

* Update test.yml

* start typecheck

* update cache

* update snapshots?

* Update jest.config.json

* Update jest.config.json

* give timeout some buffer

* update import

* upgrade ts

* fix typing for apollo deps

* finalize typechecks

* downgrade typescript to original version

* add cache directory to jest

* remove coverage

* remove google analytics from tests

* merge main

* remove timeout

* update tests

* update graphql queries

* review changes

* try cache setup

* Update cache.test.ts

* make cache helper function

* cache test

* remove unneeded test causing issues

* feat: parallelize cache (#6930)

* feat: parallelize cache?

* remove graph query from concurrency await

* most of feedback

* move tests

* update token tests

* singleton cache

* restructuring res and cache promise

* abstract away repeated graph logic

* update tests and functions

* refactor

* update typing, parallelize, and start tests

* fix one tsc issue

* final feedback

* Update yarn.lock

* final final feedback

* add svgs

* try and setup svg

* stashing changes

* cleanup!

* prepare for start of feedback?

* LESS GOO

* modify versioning

* fix: update wrangler version

* Update yarn.lock

* downgrade wrangler

* Update yarn.lock

* Update yarn.lock

* fix type error

* update github test

* cleanup tests

* Delete custom.d.ts

* fix: cloudfunctions

* update tests

* final touchups

* lint

* change github action

* Update yarn.lock

* styling updates

* nate's feedback

* feedback p1

* typing feedback

* update yarn

* Create wrangler.toml

* move wrangler.toml location

* last try

* Delete wrangler.toml

* use 2.20?

* remove comment

* Update yarn.lock

* change compatibility date

* update wrangler and fix bugs

* Update colorthief+2.4.0.patch

* build: cleanup flags

* cleaner patches

* update compatibility date

* quick tweeks

* cleanup rendering and lint

* final color update

---------

Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
2023-08-10 15:29:37 -04:00
.github feat: dynamically generated images for rich link previews (#6902) 2023-08-10 15:29:37 -04:00
.vscode build: add vscode settings for default formatter (#6644) 2023-05-25 08:22:51 -10:00
cypress feat: bottom sheet for mobile swap settings (#7072) 2023-08-10 12:20:31 -04:00
eslint_rules build: use webpack-retry-chunk-load-plugin (#6885) 2023-07-06 17:54:49 -04:00
functions feat: dynamically generated images for rich link previews (#6902) 2023-08-10 15:29:37 -04:00
patches feat: dynamically generated images for rich link previews (#6902) 2023-08-10 15:29:37 -04:00
public fix: fixing deeplinks json nesting (#7126) 2023-08-09 15:28:26 -04:00
scripts feat: upgrade to node 18 (#6606) 2023-06-06 11:59:03 -07:00
src feat: base flag cleanup (#7134) 2023-08-10 11:05:48 -07:00
.env feat: base network (#6997) 2023-08-04 11:43:11 -07:00
.env.production feat: use new consolidated signing endpoint (#6222) 2023-03-22 21:41:17 -05:00
.eslintrc.js build: replace babel with swc (#7056) 2023-08-08 10:38:37 -07:00
.gitignore build: replace babel with swc (#7056) 2023-08-08 10:38:37 -07:00
.npmrc build: enforce node/npm versions (#4434) 2022-08-22 13:55:48 -04:00
.nvmrc feat: upgrade to node 18 (#6606) 2023-06-06 11:59:03 -07:00
.snyk build: bump widgets/universal-router-sdk (#5582) 2022-12-12 11:21:22 -05:00
.swcrc build: replace babel with swc (#7056) 2023-08-08 10:38:37 -07:00
codecov.yml fix: standardize styled component file names and ignore them in codecov (#7113) 2023-08-10 11:15:33 -05:00
codegen.yml feat: data api connection (#4396) 2022-08-19 15:31:10 -04:00
CONTRIBUTING.md test: enforce package size (#4098) 2023-03-07 09:27:20 -08:00
craco.config.cjs chore: moving coned formatting to interface (#7114) 2023-08-09 14:01:37 -04:00
cypress.config.ts chore: remove e2e coverage from aggregate calculation in codecov (#7108) 2023-08-09 14:48:59 -05:00
graphql.data.codegen.config.ts fix: Handle new and unsupported chains passed in from GQL BE (#6878) 2023-07-05 21:31:30 -07:00
graphql.data.config.js build: cache generated files across builds (#6495) 2023-05-09 15:49:53 -07:00
graphql.thegraph.codegen.config.ts build: cache generated files across builds (#6495) 2023-05-09 15:49:53 -07:00
graphql.thegraph.config.js build: cache generated files across builds (#6495) 2023-05-09 15:49:53 -07:00
hardhat.config.js feat: update infura fork block height for cypress tests to be dynamic (#6998) 2023-07-24 18:00:29 -07:00
LICENSE add tokens, do some summer cleaning (#368) 2019-07-23 13:50:31 -04:00
lingui.config.ts build: replace babel with swc (#7056) 2023-08-08 10:38:37 -07:00
package.json feat: dynamically generated images for rich link previews (#6902) 2023-08-10 15:29:37 -04:00
README.md feat: use router depending on the origin (#6982) 2023-08-07 15:01:45 -07:00
tsconfig.json test(cypress): clean up types/assumptions/infura (#7046) 2023-08-01 22:13:19 -07:00
yarn.lock feat: dynamically generated images for rich link previews (#6902) 2023-08-10 15:29:37 -04:00

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.