* upgrade seaport
* working 1.4 listing
* update OS fee to 0%
* update zone to null addr
* update var name
* rounding bug
* unused exports
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* defined useTrendingCollections hook and made fields optional
* working trending collections table
* add gql file
* add gql to search suggestions and handle floor wei vs eth
* gql carousel
* fontWeight typo and skip if flag disabled
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* moving cards to styled components
* converting rows to styled components
* image
* finished images
* handling all media
* removed VE from cards
* no content colors
* removing aspect ratio calc
* responding to all comments
* NFT-1113 add new statsig backed feature flag for nft graphql migration
* remove comment
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* NFT-1075 update floor and last price to use body primary
* NFT-1080 update image thumbnail size and adjusted row accordingly
* NFT-1081 force page refresh on success screen
* NFT-1089 update same price icons
* NFT-1082 show warning colors over focus
* remove unused state var
* replace margin with padding for sticky header
* NFT-1109 properly calc if listing date is over 6mo
* NFT-1076 change listing button text to light and mobile profile bar to backgroundSurface
* NFT-1079 persist row data when listing to multiple markets
* perf improvement
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* feat: implementing graphql endpoint
* changing from hook to function call
* initial gql routing works
* feat: initial pwatRouting setup
* sending correct amount
* removing console
* it is working
* sufficient balance
* 0 if no inputCurrency
* removing value to send if erc20
* removing console
* permit2 optional flag
* removing not necessary stuff
* mobile fixes
* overlay needs to be here
* changing swap amount to pool reserves
* refactoring routing logic
* no route found button state
* better price loading for insufficient liquidity
* refactoring graphql routing code
* overflow
* initial comments
* resetting bag status on input currency change
* locking
* done
* remove helper text for eth
* fix: pay with any token routing bug
* reordering button
* zindex
* price updated
* keeping debounce
* feat: adding amplitude events for pwat
* bumping analytics version
* types and hooks
* moving erc20 flag to useSendTransaction
* why did i put it in a hook
* no return
* fix: not using usdc value to calculate price impact
* refactor + loading state
* feat: implementing graphql endpoint
* changing from hook to function call
* initial gql routing works
* feat: initial pwatRouting setup
* sending correct amount
* removing console
* it is working
* sufficient balance
* 0 if no inputCurrency
* removing value to send if erc20
* removing console
* permit2 optional flag
* removing not necessary stuff
* mobile fixes
* overlay needs to be here
* changing swap amount to pool reserves
* refactoring routing logic
* no route found button state
* better price loading for insufficient liquidity
* refactoring graphql routing code
* overflow
* initial comments
* resetting bag status on input currency change
* locking
* done
* remove helper text for eth
* fix: pay with any token routing bug
* reordering button
* zindex
* price updated
* keeping debounce
* feat: adding amplitude events for pwat
* bumping analytics version
* types and hooks
* moving erc20 flag to useSendTransaction
* why did i put it in a hook
* no return
* feat: implementing graphql endpoint
* changing from hook to function call
* initial gql routing works
* feat: initial pwatRouting setup
* sending correct amount
* removing console
* it is working
* sufficient balance
* 0 if no inputCurrency
* removing value to send if erc20
* removing console
* permit2 optional flag
* removing not necessary stuff
* mobile fixes
* overlay needs to be here
* changing swap amount to pool reserves
* refactoring routing logic
* no route found button state
* better price loading for insufficient liquidity
* refactoring graphql routing code
* overflow
* initial comments
* resetting bag status on input currency change
* locking
* done
* remove helper text for eth
* fix: pay with any token routing bug
* reordering button
* zindex
* price updated
* keeping debounce
* feat: implementing graphql endpoint
* changing from hook to function call
* initial gql routing works
* feat: initial pwatRouting setup
* sending correct amount
* removing console
* it is working
* sufficient balance
* 0 if no inputCurrency
* removing value to send if erc20
* removing console
* permit2 optional flag
* removing not necessary stuff
* mobile fixes
* overlay needs to be here
* changing swap amount to pool reserves
* refactoring routing logic
* no route found button state
* better price loading for insufficient liquidity
* refactoring graphql routing code
* overflow
* initial comments
* resetting bag status on input currency change
* locking
* done
* remove helper text for eth
* feat: implementing permit2 with pay with any token
* permit2 hook
* usePayWithAnyTokenHook
* removing ternary operators
* weird export type bug
* resolving merge
* fixing nft test
* styles
* refactoring styles
* reformatting
* price impact warnings
* forgot trans tag
* responding to comments
* fixes
* disabling pay with any token when on the wrong chain
* missing enabled flag
* vertically centering button
* duration wrap
* better styling a different breakpoints
* throw error on listing same price
* don't show spinner on v2
* remove unused check
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* added success screen with images
* add listing proceeds
* working return
* working single tweet
* working tweet multiple
* update how we parse twitterName
* add scrollbar styles
* usestablecoinvalue
* math.min
* add collection name backup to tweet
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Add responsive button styles
* Clean up responsive
* Use SmallButtonPrimary
* Allow button to accept padding props
* Fix vote padding and update link
* Hide position NFT in mobile
* dynamic styles based on listing status
* connect collection approval to v2 modal
* import cleanup
* add comments
* connect sign listing logic
* correct pending styles
* correct pending status for collection approval
* correct pending status for os listings
* use check from react-feather
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* feat: adds input token quote for nfts
* remove eslint
* correct usdc pricing
* fix: uses swap token selector for pay with any token selector
* check when balances are loaded
* removing token selector
* only showing active tokens in pay with any token
* init modal title
* active and closed section headers
* added left border to section
* add tooltip
* complete collection row
* enforce max height
* add sign listings section
* fix top margin for section
* file re-org
* make modal section re-useable and move to its own file
* format
* define section props
* use accentAction for icons
* improved index
---------
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* fix: caching on apollo token queries
* refactor: rename state variable
* added documentation for state variable purpose
* added documentation for nullish operator usage
Upgrades @uniswap/universal-router-sdk to fix a bug where legacy wallets submitted unhandled legacy signature formats, with suffixes that failed to execute when calling estimateGas.
See ticket CX-140
* hide bag on list page
* use feature flag
* maxWidth
* convert existing bag to modal'
* add new file
* add overlay
* only show old padding with flag off
* set margin const
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* initial floating bar and VE removal
* dynamic price info
* align bottom bar to bottom
* fixed to bottom
* darkmode gradient
* dynamic overlay
* style tweaks
* toggle bag if flag enabled
* handle really small numbers
* address comments
* add border
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* feat: adding price scaling for sudoswap xyk pool
* big number
* updating pricing logic for xyk
* fixing sweep
* removing isnotxykpool
* sudoswap calc refactoring
* refactoring calcpoolprice to include sudoswap
* refactoring calcpoolprice
* not letting asset items equal to 0 to be added
* removing comment
* remove redundant styles
* wrap nft info
* added back needed style
* style nft image
* style token and collection name
* wrap token info and marketplace rows
* use Row and Column shared components
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Revert "fix: use localStorage for Fiat announcement (#5750)"
This reverts commit 62361647e0.
* fix: when a user dismisses the FoR banner, never show it again
* pr feedback
* fix some weird nft e2e test issues
* adding in floor price
* consolidating fee columns
* adding in tooltip
* adding in floor price
* current table progress
* better flex experience
* improved mobile listing experience
* improving the mobile experience
* cleaned up mobile experience
* reverting some file changes
* improving mobile experience
* some final adjustments
* updating text color to be line with task
* updating to address design comments
* resolving lint errors
* updating fees logic
* fixing linting issues
* removing generated files
* removing generated files
* removing generated files
* updating margin left
* Adding in trans components
* fixingl inting errors
* fixing minus icon placement
* i18n sort dropdown prompt
* move tooltip to its own file
* remove unused styles
* move NFTListRow to its own file
* move PriceTextInput to its own file
* adjust column settings
* add more translations
* Move MarketplaceRow to its own file
* warning message on small screens
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* test: disable fiat announcement on cypress tests
* Revert "test: skip tests due to fiat on-ramp change (#5742)"
This reverts commit 283479f76e.
* dismissed
* test: add tests for landing redirect
* test: add tests for landing page (#5737)
* test: add tests for landing page
* lint
* intro=true
* rm downloads?
* fix: use second config option for no wallet in cypress
Co-authored-by: Eddie Dugan <eddie.dugan@uniswap.org>
Co-authored-by: Eddie Dugan <eddie.dugan@uniswap.org>
* style: updating cards to use appropriate aspect ratio
* loading card height
* audio and video cards
* change loading height rendering
* respond to self serving comments
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* feat: move about content into landing page
* fix: delete unused image files
* fix: remove unused components
* fix: pointer events on title and subtitle
* feat: add about footer to landing page
* fix: simplify css in Landing Page
* feat(moonpay): moonpay ip checks to determine if the user can access the fiat onramp (#10)
* feat(moonpay): useFiatOnrampAvailable
* feat(moonpay): ip check with moonpay for buy crypto availability
* add error state and clear up some of the sequence of logic
* add button-specific spinner, put the ... menu button behind the feature flag
* hide ... menu option if onramp is unavailable
* add live publishable moonpay key
* add initial FoR hype border flash to announcement acknowledgment
* remove ... menu access to FoR feature
* add tooltip and external link to info icon
* nicer error display
* add stale market to ack
* pr feedback from zzmp
* fix really weird react bug
* ts fix and clear timeout
* pairing staleness handler w/ zzmp
* add back feature flag
* feat: fiat on ramp tile for about page
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
* feat: move about content into landing page
* fix: delete unused image files
* fix: remove unused components
* fix: pointer events on title and subtitle
* feat: add about footer to landing page
* fix: simplify css in Landing Page
* feat(moonpay): moonpay ip checks to determine if the user can access the fiat onramp (#10)
* feat(moonpay): useFiatOnrampAvailable
* feat(moonpay): ip check with moonpay for buy crypto availability
* add error state and clear up some of the sequence of logic
* add button-specific spinner, put the ... menu button behind the feature flag
* hide ... menu option if onramp is unavailable
* add live publishable moonpay key
* add initial FoR hype border flash to announcement acknowledgment
* remove ... menu access to FoR feature
* add tooltip and external link to info icon
* nicer error display
* add stale market to ack
* pr feedback from zzmp
* fix really weird react bug
* ts fix and clear timeout
* pairing staleness handler w/ zzmp
* add back feature flag
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
* fix: use render function for SearchBar placeholder translation
* fix: use render function for SearchBar placeholder translation
* fix: correct clsx usage
fix: hide celo on uniswap wallet connections (#48)
* fix: hide celo on uniswap wallet connections
* add disabled UI instead of removing network from list
Revert "fix: hide celo on uniswap wallet connections (#48)"
This reverts commit b22d82545fef6812b22fe1adc3f281588642c9cd.
* fix: remove currencyCode config property from moonpay url
* add 8px padding to moonpay iframe
* don't switch button text when loading
* update tooltip text
* update announcement text
* remove FoR announcement on iOS mobile
* improve fiat quote format in account dropdown
fix: typo (#51)
* feat(moonpay): useFiatOnrampAvailable
* feat(moonpay): ip check with moonpay for buy crypto availability
* add error state and clear up some of the sequence of logic
* add button-specific spinner, put the ... menu button behind the feature flag
* hide ... menu option if onramp is unavailable
* add live publishable moonpay key
* add initial FoR hype border flash to announcement acknowledgment
* remove ... menu access to FoR feature
* add tooltip and external link to info icon
* nicer error display
* add stale market to ack
* pr feedback from zzmp
* fix really weird react bug
* ts fix and clear timeout
* pairing staleness handler w/ zzmp
* feat: styled footer links
* grid
* center
* Update bottom links and full bleed image
* Mobile spacing and font size adjustments
Decrease spacing in mobile and swap the sizing of fonts between mobile and desktop sizes
* Add responsive behavior to steps
Changes font size and margins in mobile view
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Responsive styling for info buttons
Reduces margins and font size in mobile view
Adds some margin to the side of the external-link arrow
Co-authored-by: Vignesh Mohankumar <vignesh@vigneshmohankumar.com>
* feat: styled footer links
* grid
* center
* Update bottom links and full bleed image
* Mobile spacing and font size adjustments
Decrease spacing in mobile and swap the sizing of fonts between mobile and desktop sizes
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Co-authored-by: pp-hh-ii-ll <111304124+pp-hh-ii-ll@users.noreply.github.com>
Fixes a bug where a user could submit a transaction, but would be required to re-sign a permit for a subsequent transaction, because the prior transaction's modification of allowance was not detected.
Hexlifies the value returned from universal-router-sdk, which is required for ethers to accept it as input.
Fixes an error thrown by ethers (RE: un-hexlified data).
See Uniswap/universal-router-sdk#92 (fixed in Uniswap/universal-router-sdk#93 but not yet released).
* init TEMP
* it's working now but the loading spinner is being redesigned by fred
* working with fred new design
* undo unnecesary changes
* undo unnecessary change
* rspond to jordan
* more fixes
* remove %
* Adjustments to font size
Changes font weights and sizes of text elements in the about page
* fixes
* fixes
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
Uses a stable value for the trade's currencies, so that hooks depending on the currency are not rerendered.
Practically, this fixes an issue where changing the input amount would reset approval state.
* large collection name text on tablet and above
* make description text larger on tablets and above
* remove sprinkles
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Initial landing page redesign updates
* export
* unnecessary brackets
* unused component
* remove state for the overlay
* remove more show landing logic
* only show when on /
* gated
* pointer events fix
* import z-index
* get started -> continue
* rm text-fill-color
* no fill color
* unused icon
* dont add route
* css fixes
* initial commit
* chore: tweaks
* chore: tweaks ahead of full rewrite
* chore: only enable Sentry in production builds
* chore: keep existing behavior
* chore: fix lint
* chore: add release
* feat: remove GA sendEvent exception
* chore: simplify
* chore: bring back new line
* chore: group code together
* only show owner container if we have NftBalance data
* add endAt to NftBalanceQuery
* simplify isOwner check
* add undefined check
* remove test
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* move to temp url
* update url to include nft path
* use prod graphql
* remove redundant declaration
* enable nfts on uniswap
* remove unused env var
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* chore: fix black collection title in light mode
* fix: explore bottom padding on mobile, align on larger devices
* chore: introduce new xs breakpoint, as per Figma
* feat: new copy for banner on mobile + text wrapping
* chore: extra code
* chore: remove unused theme
* chore: update copy
* Update Banner.tsx
* chore: wrap it up
* move to temp url
* update url to include nft path
* use prod graphql
* remove redundant declaration
* reformating event request
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
Co-authored-by: Jack Short <john.short.tj@gmail.com>
* Match tokens table & price designs with nft
- adjust token table max width
- update price percentage changes styling
* Default delta arrow iconSize to 20px
* Pass in boolean instead of number to styled component param
* marketplace links
* drop down size of successful purchase image
* align unicorn with header
Co-authored-by: JackShort <john.short.tj@gmail.com>
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* properly show LR royalties in grid
* add LR royalty to total return calculation
* common LR basis points const
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* wip
* finished modal, waiting for assets
* feat: use srcset for better assets optimisation
* feat: bg photo
* various tweaks
* feat: wrap up logic
* chore: use proper link
* chore: bring switch back
* init
* it looks good and is working
* don't change image on every render
* un-move dark mode hook
* oops
* handle mobile screen smallest size
* first round comment responses
* second round comments
* rest of comments
* fix analytics changes
* remove unnecesasry z index
* update color confirmation
* update color checkmark
* reset continue button after retry
* reset before listing
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* initial commit
* chore: responsive improvements
* feat: responsive carousel
* chore: fix carousel
* chore: less magic, components
* chore: bump friction a bit to compensate for carousel changes
* fix: position of loading bubbles
* chore: fix max-width on fullscreen breakpoints not taking 100 space
* fix full screen max-width
* chore: remove first card offset
* working dropdown button
* memo text
* working dropdown modal
* click outside
* move grid to its own file
* add file
* re-organized page layout
* header updates
* text change
* margin
* ETH
* text input
* respond to comments
* move listinggrid to its own file
* add file
* organize imports
* remove 0 margin
* undo testing
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* working dropdown button
* memo text
* working dropdown modal
* click outside
* respond to comments
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* infinite_scroll_working
* fix
* remove extra
* add infinite loading
* working
* remove null
* filter button text fixes
* respond to charlie plus mobile tooltip fixes
* make filter bar sticky
* respond to charlie
* chore: add more pronounced glow on all nft pages
* chore: add glow effect everywhere
* chore: add in a few more places
* wip: simplification
* chore: describe API
* chore: small refactor
* feat: add glow to two more pages
* chore: add glow on all other pages
* chore: simplify
* chore: tweaks
* chore: update type
* chore: update white bg as per Cal suggestion
* chore: dont export props
* chore: fix type
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
* mobile bag scroll behind and snap
* fix laggy animation on profile page when filters are opened
* don't scroll assets behind bag
* refactor duration
* correct placement of isBagExpanded
* simplify conditions
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* style: moving mobile sell bag above tab bar
* changing color
* changing to toggleBag
* cleanup imports
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* wip: change formatting of nft
chore: use a different package
use pure webpack instead
* revert changes to yarn.lock
* chore: update lock one more time
* chore: upgrade conedison
* chore: tweaks
* chore: handle 0
* chore: update to latest and use proper method
* chore: update conditional
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
* fix: use ThemeButton for claim and view/sell nfts
* fix(bag): icon update to remove front handle
* Revert "fix(bag): icon update to remove front handle"
This reverts commit 8d8a40bd4a.
* all listing working
* working when connected locally
* update LR and cleanup
* add comment about LR strategy
* use ms 60s
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* fix: remove cyberpunks from trading
* nits
* chore: refactor loading a bit
* chore: bring back hardcoded value
* chore: remove import
* chore: filter out
* chore: use memo
* fix(bag): simplify header
* pr feedback: adjust margins
* add margin-auto instead of flex-basis for space-filling to get a more accurate click area
* pr feedback from lynn
* rename numberdot to counterdot
* fix(bag): header counter for small values
* start routing fn
* file renaming
* properly load NFtBalance data
* lazy load asset details
* extend useLoadNftBalance
* working go to list
* reset assets before routing
* reset state when entering via profile button
* remove cancel listing button
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* fix(bag): simplify header
* pr feedback: adjust margins
* add margin-auto instead of flex-basis for space-filling to get a more accurate click area
* pr feedback from lynn
* rename numberdot to counterdot
* init
* make height into variable
* respond charlie
* cleaner code
* dont include erc 1155 when selecting all
* fix
* disable select all for sus flag nfts too
* oops
* fix: show loading assets at uniform height
* fix: enforce the uniform asset height
* fix: memoize assets
* fix: be more lenient with uniformHeight
* fix: simplify mapping
* header and scroll
* allow sweep buy now off
* generic filter row header
* begin building sort dropdown
* add file
* working checkmark
* remove icons
* updating scroll to work with mobile
* prevent scorlling behind menu
* hover styles
* remove console.log
* respond to comments
* revert null
* styled component header
* filter item styled component
* padding for items, slider, and inputs
* fixed scroll on mobile
Co-authored-by: Alex Ball <alex.ball@uniswap.org>
* init
* it's working with jack's card.tsx components
* add nft details on cards for view my nfts
* listed cards ready for review
* remove unnecessary code
* updated radius
* first round charlie comments
* respond all comments
* init
* fix
* color
* remove floor price when not on sell mode
* remove floor when nft is listed
* feat: Web 1858 disabled card 1155 when sell mode is on (#5169)
* disabled states + tooltips
* remove collection asset changes
* popover offset changes
* respond to padmini comment
* respond to charlie
* init
* it's working with jack's card.tsx components
* add nft details on cards for view my nfts
* listed cards ready for review
* remove unnecessary code
* updated radius
* first round charlie comments
* respond all comments
* fix
* remove floor price when not on sell mode
* Drop classnames on Trending Table TD cells (no longer used)
* Fix font-weight in Trending Collections table collection name to match Figma
* There was a newer Figma
* Fixes
* Extend maxWidth on collection name (mobile)
* Mobile/desktop tweak
* Fix mobile size and add constants
* Make truncatedText a styled component
* begin nft balance integration
* inf scroll works
* working list
* update comment
* connect collection filters
* use lazyload
* update schema
* working with new schema
* details for nfs assets
* cleanup
* more null checks
* unique index for loading cards
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add some null checks
* undo susflag change
* fix not for sale logic
* fix rarity
* fix rarity format
* remove logging
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add suspense loading states for Relay
* remove duplication
* cleanup
* add back in suspense wrapper
* rename to skeleton
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add medium-button and use it nft bag for removal
* close icon hover states
* update bag row to use correct hover background color
* update x to opacity effect
* pr feedback
* Log collection page view
* Make property names/intention more clear
* Remove console log
* Add event for Activity tab
* Filter events (buy now, marketplaces, and price range)
* Handle trait items
* Bump collection stats mobile padding
* Use shouldLogImpression to conditionally fire event
* Adding back trace on Collection page, still necessary
* Add back address property
* Drop Buy Now log, not part of first set
* Update filter properties to match spreadsheet
* Only trigger price range log if inputs contain a value
* Fix ordering on Page Names
* Capitalize text
* Add constant for filter types
* Add chainId as property
* adding slider
* removing test css
* initial sweep pass
* cleaning up sweep functionality
* adding eth amount for sweep
* handling input
* sweep does not add duplicates
* updating fetcher to handle traits + price
* locking sweeped items on contract addr change/ filter change
* final touches to sweep for desktop
* desktop sweep finalizations
* keeping state after close
* added mobile sweep
* loading state
* dedup
* addressing comments
* removed selected list logic and state
* updated copy
* updated warning color
* updated lists and fixed native currency bug
* removed no-longer-relevant active list tests
* removed leftover list code
* copy and color changes
* add nft graphQl feature flag
* connect flag to env provider
* attempting metadata relay env switch
* working config
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Add 24-hour volume and delta arrow to Collection Stats
* Move 24-hour floor change after Floor stat in row
* Position percent change arrow with styled div
* Use math.round instead of toFixed()
* PR Feedback
* Remove console log
* can approve marketplaces for listing
* add consts
* fix issue with expiration time
* adding api key to env + changing variable
* updating env name to req
* removing console
* use v3 endpoint
* remove unussed util
* uneeded null check
* remove console.log
Co-authored-by: Jack Short <john.short.tj@gmail.com>
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Revert "fix: handle backspace out of /tokens (#4879)"
This reverts commit 3e40a6f5c6.
* Revert "fix: add padding-bottom to TokenDetailsLayout (#4882)"
This reverts commit f91b48e214.
* Revert "fix: updates outputCurrency link in mobile balance footer (#4885)"
This reverts commit e340f405b4.
* fix: map wrapped to native for trending tokens
* fix: close top tokens subscription
* fix: map wrapped to native for top tokens
* fix: link to native from native
* refactor: unwrapToken.ts
* fix: mv query to effect
* fix: native token logos
* fix: use NATIVE_CHAIN_ID
* fix: rm todo
* fix: include NATIVE_CHAIN_ID
* fix: NATIVE_CHAIN_ID import
* make every duration have latest price point
* simplify
* fix info tip icon regression
* remove unecessary line
* use memo
* fix MASSIVE ERROR in number cal
* bump widget v
* delete unit test failing for some obscure reason, added todo
* fix unit tests
* fix(token-details): make breakpoints more consistent and use only theme.breakpoint values
* feat(token-details): design patch for mobile swap button footer
* render mobile balance footer w/ only swap button when user is disconnected
* don't render BalanceSummary if no balances are provided
* full width swap button footer until breakpoints.lg
* token prices in explore, token details, search
* use correct dollar format function
* additional price corrections
* remove oopsies
* changes in notion from andy
* use currencyAmountToPreciseFloat everywhere
* Add sell header to Bag
* split bag content to its own file
* empty tag state
* continue button
* file re-arranging and add profile select row content
* update padding
* better null check
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Adjust verified icons to accentAction
* Adjust to match designs
* Apply verified icons in all places
* use theme.accentAction
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
* testing
* remove dev dep
* fixed
* fixes
* add developer comments
* link to eth token page when eth clicked in search bar
* undo commit to wrong pr / branch smh
* fix ascending sorted tokens index
Fix comparing formattedData reference with []
This condition will always return 'false' since JavaScript compares objects by reference, not value. ts(2839)
* Migrate Trending Collections: first pass
* Adding types for react-table
* Forgot to add yarn.lock
* Update sprinkles colors and add accentSuccess to match Figma
* Style cleanup
* Fix overlap on activity items and text wrapping on Value Prop
* Update header to new typography name
* Make entire table row link to collection
* Remove duplicated navigate() on table row
* Use borderStyle: none (sprinkle) instead of hidden
* Use common typography style for table header row
* Sprinkles for rank styles
* Sprinkles for TrendingOptions border styles
* Update color on trendingOption active state
* Restore useEffect to hide certain columns on mobile
* forgot to save one file
* Update accent color
* Use isMobile instead of breakpoint check
* adding activitySwither
* in the middle of porting activity
* ported over activity leaving - working on breakpoints
* updating responsive design
* updating responsive design
* addressed comments
* initial commit
* replaced isUserAddedToken with chain-switching friendly version of hook
* reverted useTopTokens()
* addressed first round of PR comments
* fix explore table bugs
* temp
* fix search bar incongruency when navigating to other tab + remove flickering data
* add local cache
* more clear names
* add back useTopTokens return type interface
* respond to comments and dedup repeated code
* respond to cmcewen comments
* text primary and secondary
* backgroundOutline
* lightGray
* placeholder
* error and disconnect
* deprecate
* loading
* white opacities
* white
* border cleanup
* organize
* bagQuantity color fix
* fix nav border colors
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* init
* messy but working omfg
* dont set initial to 500 set to just 1 for testing purposes
* it looks pretty now and works well
* sorting filtering and suspense loading are working
* fix comments
* handle token rows lacking addresS
* start working with new data schema
* new gql schema
* initial commit
* improved performance, added filtering
* lint
* removed comments and accidental settings.json changes
* refactor: switch explore over to new queries (#4657)
* initial commit
* improved performance, added filtering
* addressed pr comments
* fixed typescript issue
* merges
* fix
* fix oopsies
* fix accidental changes
* its working
* drop leftover comment
* clean up loaded row props
* respond to comments
* respond to jordan comments
* init
* remove unnecessary pkgs
* undo yarn lock changes
* loading rows fix
* change loading rows to 3 as per fred instruction
* remove anys
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: cartcrom <cartergcromer@gmail.com>
Co-authored-by: cartcrom <39385577+cartcrom@users.noreply.github.com>
* logic
* working
* grid
* some file renaming
* Move to ChainSelectorRow.tsx
* remove flex
* more renames
* more styles
* fixes
* local imports
* more styling changes
* style
* fix mobile
* toggle open on open
* setIsOpen
* add listing modal
* add new files
* remove useeffect
* re-add useeffect and includes array
* position relative
* add listing datatype
* use pluralize
* readable const
* clsx
* parseFloat 0 default
* don't use any
* cant use months for ms
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add select nfts shopping bag modal
* Add shopping bag to top lovel modal wrapper
* addressing comments
* rename to listingTag
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add main nft sell page
* remove background
* more precise naming
* Add wallet assets for select page
* update styles while without filter bar
* remove unnecessary useeffect
* deprecate old stlye
* move to common props
* add round helper fn
* use react router link
Co-authored-by: Charlie <charlie@uniswap.org>
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add main nft sell page
* remove background
* more precise naming
Co-authored-by: Charlie <charlie@uniswap.org>
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* animations working pre cleanup
* all sprinkles
* fix bug with phase1 search content
* new isTablet hook
* add conditional vars
* typeof window
* remove unneeded clsx usage
Co-authored-by: Charlie <charlie@uniswap.org>
* Use timeScale for x-axis
* Use d3 time intervals for ticks
* Drop slice for now, will handle differently
* scaleTime turned out to be unnecessary
* Use .nice() to help with tick spacing at start/end
Co-authored-by: gbugyis <greg@bugyis.com>
* Add maxHeight to CurrencySearchModal (search only)
* Combine min and maxHeight into single modalHeight value
* Use clearer variable name to distinguish window height value
Co-authored-by: gbugyis <greg@bugyis.com>
* fix: logos
* different font sizings for diff token sizes from fred
* remove missing symbol
* fix
* fixes to comments
* fix
* use calc instead of fn
* add comment
* feat(widget): sync transaction states
* s
* waiting on type release
* slippage is all that remains
* finalize tx integration
* pr feedback
* pr feedback - else if
* update @uniswap/widgets to 2.7
* add slippage tolerance from transaction.info
Updated color definitions for BackgroundModule and tokens list in Explore page
Update Dark Mode BackgroundModule to Grey800 to match new design spec
Update Widgets theme to use BackgroundModule for Module
Update Token List in Explore page to use Surface instead of Module
Add Scrolled Surface color definition
* Modify line curve on token price chart to fix inconsistency on steep drops/increases and glyph placement
* Make curve required on LineChart
* Add curve to SparkLine chart
* Remove dependency: d3-curve-circlecornders - no longer used
* Drop d3-curve-circlecorner from react-app-env
Co-authored-by: gbugyis <greg@bugyis.com>
* add null check to collection floor price
* don't show 0 if floor is null
* remove top margin for no results
Co-authored-by: Charlie <charlie@uniswap.org>
* add null check to collection floor price
* don't show 0 if floor is null
* formatEthPrice accepts udnefined
Co-authored-by: Charlie <charlie@uniswap.org>
* wrap tabs and searchbar
* wrap chain switcher and fix right align bug
* undo translate chains
* replace t with i18n
* revert i18n
Co-authored-by: Charlie <charlie@uniswap.org>
* working and cleaned up mobile nav
* delete old files
* fix wallet position
* update searchbar breakpoint
* update full screen search
* delete old comments
* cleanup eslint
* Update MenuDropdown.tsx
* Update SearchBar.tsx
Co-authored-by: Charlie <charlie@uniswap.org>
* checkpoint: token modal safety warning working, showing speedbump
* fix styling
* dont show token safety once user has already ack'd that token
* fix cancel button on token safety - always navigate back to search
* fix bug with network with no info
* remove unneeded check
* add null checks
* check info for supported case
Co-authored-by: Charlie <charlie@uniswap.org>
* Add unsupported network and active state to chain switcher
* update switcher dropdown modal
* undo
* undo new styles, adjust padding
* update padding
* use supported chain helper fn
Co-authored-by: Charlie <charlie@uniswap.org>
* init: revert to pre redesign swap changes
* differentiate between swapCurrencyInputPanel and regular
* it was inverted whoops
* add padding to fiat row from cal
* NFT Explore: Banner section and carousel
* Fixes from PR feedback
* PR feedback and slight refactor of Carousel Progress indicators
* Only render current collection, and simplify fullWidth class
* Add colors to sprinkles and drop zIndex on bannerContent
* Simplify component structure
* Separate out CarouselIndicator and other cleanup
* Restore CarouselProgress component
* Position carousel progress over bg overlay
Co-authored-by: gbugyis <greg@bugyis.com>
* inti
* respond to vm comments
* add paragraphs as per fred, respond vm comments
* respond last vm comment
* simplify
* move fn out of component
* fix messed up styling
* simplify
* simplify
* fred nits
* remove xtra token detail props
* fix sentence casing
* cleanup navbar lightmode
* lightmode and hover states
* move magical gradient to common stlyes
* inherit border radius
* hover transition
* further split common gradient style
Co-authored-by: Charlie <charlie@uniswap.org>
* feat: add phase0 searchbar
* exhaustive deps
* use router Link'
* use correct navigate for tokens
* useLocation
* add util function for organizing search results
* fix mobile navbar link
* remove exhausted depedencies
* split suggestion rows to their own file
* add new file
* use pathname instead of hash
* use imageholder classname
* fallback update
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* feat: add routingfunctionality to navbar
* update colors
* rename and pass strings directly
* rename symbol
* rename props
* better symbol name for mobile link
* more isPoolActive
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add some initial infra for blank navbar
* add blank navbar
* add new files
* use web3status
* remove unused mobile flag
* remove colors
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* add in common genie components
* update import and run linter
* better event type handling
* rotate 360
Co-authored-by: Charles Bachmeier <charlie@genie.xyz>
* Expand typing to match new QuoteResponse from routing api
* lint autofix
* Expand InterfaceTrade class to match router-sdk and allow mixedroutes
* Add new routing-api poolInRoute logic for client side trade
* eslint fix ==
* Add custom mxiedProtocolBadge and add into badgeDiagram
* Bump router-sdk to published version, and install latest local SOR
* git checkout main yarn.lock && yarn && npx yarn-deduplicate
* Bump SOR to 2.9.2
* bump SOR to 2.9.2
* Update yarn.lock
* revert slice.ts
* Add guesstimate logic for mixedRoutes
* Oops wrong pool import lol
* Add beta url + expand protocols array
* Add forceMixedRoutes for testing
* Fix cyrpress build issue: no-loop-func
* Change to prod url and remove testing param
* remove protocol flag
* Revisions: getRouteProtocol helper, fix gas acc for mixed route
* revert protocols array abck
* Remove :Protocol
* test init
* breakpoint at 540
* fix nav link
* polishes
* respond to kaylee comments
* fix spacings
* ensure up to 8 digits shown for price on all size screens as per fred guidance
* refactor: move initializeAnalytics code to top-level
* expect that there's a node env per key
* remove more dev specific stuff
* module.exports
* remove locales
* fix
* service worker update
* init commit
* remove absolute value in date calc
* all the events are now logged properly plus changed native token address to NATIVE
* add documentation line
* remove unnecessary prop
* init
* init
* checkpoint
* checkpoint
* merge
* lint
* cleanup
* wallet user model stuff working as expected now
* add app loaded event and rest of user properties
* fix tests
* change token balances as per kyle rec
* refactor connected wallet state handling + rest of vm comments
* fix redux breaking, revert wallet from set to array
* modified redux state to track wallet connections to properly log reconnects
* linted and removed console.log
* fixes for lynn's comments + documenting
* initial
* add to index
* show more logic
* split up
* nvm combine
* combine more
* loading state for the app
* no conditional
* rm var
* comment
* move comment
* add control specifically
* init commit
* remove absolute value in date calc
* all the events are now logged properly plus changed native token address to NATIVE
* add documentation line
* remove unnecessary prop
* init
* add approve token event
* fix build
* add route event properties
* fix build
* respond to vm comments
* respond to vm comments
* remove routes properties
* feat: fetch stablecoins price with SOR, PI warning
* calculate realized price impact
* remove unrelated changes
* dupe import
* pr feedback
* use the same calculation function for PI
* use proper var
* init commit
* remove absolute value in date calc
* all the events are now logged properly plus changed native token address to NATIVE
* add documentation line
* remove unnecessary prop
* respond to vm comments
* merge and rename util method
* respond to vm comments again
* init commit
* add amplitude ts sdk to package.json
* add more comments and documentation
* respond to vm comments
* respond to cmcewen comments
* fix: remove unused constants
* init commit
* adapt to web
* add optional event properties to trace
* correct telemetry to analytics
* init commit
* change telemetry to analytics in doc
* init commit
* fix: respond to cmcewen comments + initialize analytics in app.tsx + add missing return statement
* add element name constant
* init commit
* correct price_impact calculation
* resolve vm comments
* fixes in response to comments
* respond to vm
* use ALL significant digits for token amounts
* init commit
* logged all properties
* create helper function getPriceImpactPercentageNumber
* 4 decimal points for percentages
* price percentage fn
* only log event on FIRST price fetch
* init commit
* add swap transaction completed event
* respond to cmcewen comments
* add two events
* remove console.logs
* move transaction completed logging to reducer
* simplify and remove unnecessary logic and constants
* respond to cmcewen comments
* respond to cmcewen comments
* respond to vm comment
* chore: upgrade react-router-dom to v6
* migrate Redirect to Navigate
* use Routes instead of Switch
* migrate useHistory to useNavigate
* use To type
* use element
* work around activeClassName
* fix typing for useParams
* deduplicate
* fix Navigate
* add e2e tests
* visit /swap directly
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
* init commit
* add amplitude ts sdk to package.json
* add more comments and documentation
* respond to vm comments
* respond to cmcewen comments
* fix: remove unused constants
* init commit
* adapt to web
* add optional event properties to trace
* correct telemetry to analytics
* init commit
* change telemetry to analytics in doc
* init commit
* fix: respond to cmcewen comments + initialize analytics in app.tsx + add missing return statement
* add element name constant
* init commit
* correct price_impact calculation
* resolve vm comments
* fixes in response to comments
* respond to vm
* use ALL significant digits for token amounts
* init commit
* logged all properties
* create helper function getPriceImpactPercentageNumber
* 4 decimal points for percentages
* price percentage fn
* only log event on FIRST price fetch
* respond to cmcewen comments
* init commit
* add amplitude ts sdk to package.json
* add more comments and documentation
* respond to vm comments
* respond to cmcewen comments
* fix: remove unused constants
* init commit
* adapt to web
* add optional event properties to trace
* correct telemetry to analytics
* init commit
* change telemetry to analytics in doc
* init commit
* fix: respond to cmcewen comments + initialize analytics in app.tsx + add missing return statement
* add element name constant
* init commit
* correct price_impact calculation
* resolve vm comments
* fixes in response to comments
* respond to vm
* use ALL significant digits for token amounts
* create helper function getPriceImpactPercentageNumber
* 4 decimal points for percentages
* change percentage to basis points units
* Add deprecated_ label to white and black
* Add deprecated_ label to text1 through text5
* Add deprecated_ label for bg0 through bg6
* Add deprecated_ prefix to remaining colors
* Add deprecated_ prefix to direct style references
* Add deprecated_ prefix to all remaining colors
* Update link color
* Fix 'deprecated_white' -> theme.deprecated_white
* Update snapshots
* Update graph link
* Add Gas over ride temp for Polygon
* removal of personal tweaks
* Update index.tsx
* reset to original file
* missing EOL
* Update useClientSideV3Trade.ts
* remove space
* replaceURLChain
* reorder stuff
* don't use usePrevious for previousChainId
* remove the replace param call in promise
* variable names
* comment
* confirm isActive
* wrong place for isActive
* change ret type
* add comments
* check if not previous chain id
* init commit
* add amplitude ts sdk to package.json
* add more comments and documentation
* respond to vm comments
* respond to cmcewen comments
* fix: remove unused constants
* init commit
* adapt to web
* add optional event properties to trace
* correct telemetry to analytics
* change telemetry to analytics in doc
* fix: respond to cmcewen comments + initialize analytics in app.tsx + add missing return statement
* respond to zzmp comments
* fixes
* eliminate unnecessary state
* respond to part of zzmp comments
* respond to zzmp comments round 2
* fixes
* respond to zzmp comments
* made initial changes for pools page displaying w/ unsupported chains
* condensed styling
* added chain validation to CTACards and wrote tests for both CTAcards and Pools page
* linted changes
* switched from snapshot to text matching tests
* switched test to use check for text instead of testid
* feat: Support for Celo
* fix: wrong condition
* combine celo and alfajores lists
* use celo erc20 representation
* fix: refactor infura.ts to networks.ts & add celo to rpc urls
* feature: add celo contract addresses
fix: remove celo from supported gas estimate chains until feature is available
* refactor: useUSDCPrice to useStablecoinPrice
fix: add celo to supported gas estimate chains
* fix: use unique factory address for getting pool address
* fix: darkmode background graident
* fix: removing a comment left behind
* fix: remove bad import
* fix: remove dead link until the Celo is live on info.uniswap.org
* fix: add asset to common bases & minor refactoring
* fix: celo info links point to root info.uniswap.org
* fix: change celo token bridge to portal
* fix: update redux-multicall to latest version
* refactor: for code readability
* fix: celo banner colors & remove unused alternative logo
* fix: change celo token list to hosted version
* fix: update celo banner colors
* fix: move celo to the bottom of the network selector list
* fix: dedup dependencies @uniswap/router-sdk @uniswap/v3-sdk
* fix: refactoring + move Celo above L2s
* fix: update celo contract addresses
* fix: update celo subgraph
* fix: update v3-sdk and smart-order-router versions
* fix: move Celo to the bottom of the network selector list
* fix: downgrade smart-order-router and add casting fix
* fix: downgrade smart-order-router and add casting fix
* fix: resolve Pool dependency
* fix: bridge chain id types
* fix: explorer link test
* fix: use quoter v2 ABI in useClientSideV3Trade fro Celo
* fix: update connection "infura_rpc" to networks
* fix: revert yarn.lock and force install
* fix: dedup router and v3 sdk
* refactor: mv quoter v2 to client side v3 trade
* build: dedup lockfile
* feature: add portal ether to common bases
* fix: add comment for chains that use QuoterV2
* fix: use token as native asset
* fix: supply correct factory address to getPoolAddress call & refactor nativeOnChain method
* feature: adjust celo tokens presetned
* fix: update celo explorer to celoscan
* fix: celo token casting
* fix: celo celo explorer it
* fix: celo chain info should be consistent with block explorer used.
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
* fix windows dev environment bugs
* fix NetworkSelector toggle bug
* revert: ⏪ add `prei18n:extract` script back
this change to make the script Windows-compatible will be dealt with in a separate PR
* revert: ⏪ revert prettier endOfLine fix
Will be dealt with in a separate PR
* updates
Co-authored-by: Vignesh Mohankumar <vignesh@vigneshmohankumar.com>
Co-authored-by: Vignesh Mohankumar <me@vig.xyz>
* don't need undo logic
* maybe need to return connector
* make sure the urlChainId doesn't equal existing chainId
* fix network switching
* add back revert logic
* undo changes to switchChain
* move revert logic into the hook
* feat: show injected options in wallet browsers
* initial testing
* more mocking
* mock more
* mobile tests
* updates
* add data test
* finally got the mock to work
* WORKING
* uncomment
* rm console.log
* fix
* check length
* fix tests to use useWeb3React
* rm
* rename tests
* use data-testid
* findByTestId
test -> it
add types
temp
rm exclude
get -> find
* Revert "findByTestId"
This reverts commit 1e1c483ef9.
* rm some test ids
* fix
* fix: set content-type on cached document
* fix: delete old content-types
* fix: avoid immutable headers
* test: content-type
* fix: do not destructure response
* test: serve from cache with vercel
* fix: inject cache marker into body
* fix: serviceworker request path
Always requests the app-shell from the same path as the cache key, in
order to guarantee that the etags will match should the cache be valid.
* fix: avoid returning redirects
* fix: show no price impact eth to weth
Fixed the price estimate values to reflect the correct price estimates depending on whether it is a wrapped trade
* fix: show no price impact eth to weth
Fixed to display the correct price estimates depending on whether it is a wrapped trade (eth -> weth should show no price impact)
* Added ETH->wETH testing
Added a Cypress test to check wrapped value swap has no price impact
* make Cypress test cleaner
* fix: always-fresh service worker cache
* chore: clarify service-worker
* fix: cache in CacheStorage
* feat: set __isDocumentCached
* add back in manifest precaching
* add unit tests (incomplete)
* test: simplify test env
* test: add service-worker cypress test
* test: service-worker document handler
* fix: CachedDocument ctor
* fix: Readable for ReadableStream in jest
* build: clean up module loading
* fix: rename commands->ethereum
* build: simplify package.json deps
* build: clean up cypress usage
* build: clean up yarn.lock
* build: record cypress runs
* build: disable chromeWebSecurity in cypress tests
* build: rm babel
* build: disable sw in ci cypress
* build: nits
* build: update workbox version
* chore: fix merge
* test: cache
* test: cypress-ify the before hook
* test: clear sw before each test
* fix: cy then
* test: cypress shenanigans
* style: lint
* chore: rm todo
* test: fail fast for service worker with dev builds
* docs: update contributing to tests
* fix: clean up tests after merge
- Add fast fail in case of dev server, which lacks ServiceWorker
* fix: inject ethereum
* test: service worker
* test: increase sw timeout
* test: sw state
* test: run cypress in chrome
* feat: add on-demand caching to improve sw startup time
* test: test dynamically
* fix: simplify cached doc
* fix: optional sw
* fix: expose response on cached doc
* fix: stub out sw req
* fix: intercept
Co-authored-by: Christine Legge <christine.legge@uniswap.org>
* fix: fix scroll on page navigation
* fix: scroll to top when navigating in whole app
* fix: refactor to use useHistory hook
* fix: change scrollToTop component to hook
Co-authored-by: Lynn Yu <lynn.yu@uniswap.org>
* fix: use simple toggle instead of toggle with text init commit
* fix: also change toggle in voting page and list toggle used in manage token list
* fix: simplify all toggle components into one configurable toggle
* fix: add ease-in animations for toggle
* fix: remove animation from toggle on initial page load to reduce thrash
Co-authored-by: Lynn Yu <lynn.yu@UNISWAP-MAC-015.local>
Co-authored-by: Lynn Yu <lynn.yu@uniswap.org>
* fix: use simple toggle instead of toggle with text init commit
* fix: also change toggle in voting page and list toggle used in manage token list
* fix: simplify all toggle components into one configurable toggle
* fix: add ease-in animations for toggle
Co-authored-by: Lynn Yu <lynn.yu@UNISWAP-MAC-015.local>
Co-authored-by: Lynn Yu <lynn.yu@uniswap.org>
* fix: add animated loading bars and ensure sorted tokens upon load
* refactor: undo refactor of token selector component in CurrencySearch
* fix: fix styling as per design, still need to respond to other comments in review
* fix: add timeout to token loader of 2 seconds
* fix: add snapshot test and styling changes as per fred rec
* refactor: simplify function in currency list test
* fix: increase loading bars time from 2 seconds to 3 sec
* fix: respond to zach's comments
* fix: fix import errors
Co-authored-by: Lynn Yu <lynn.yu@UNISWAP-MAC-015.local>
* Add 'hide closed positions' to mobile pool view
* Update 'Hide closed positions' mobile font size
* add new toggle from design spec
* change off toggle button color
* Update SimpleToggle.tsx
* update wrapping position for toggle, improve component naming
* change usdcPrice in swap modal to use fixed decimals instead of significant formatting
* change text for fiatValue as well
* change decimal points condition to 1.05
* (m) missed one value
- fix: handle non existing inputCurrency from url
oppening an url swap?inputCurrency=not_existing_address
cause a state where you are not able to change input currency
* feat(widgets): empty token list on network alert
* make it work
* pr review
* split dialog header out of tokenselect
* correctly filter token list case
* find -> some
* pr feedback
* clean up query hooks
* Add on-hover tooltips for tx details
* Change tooltips to use <Trans> macro instead of t
* fix: remove info tooltip on transaction popup
* fix: update getting the nativeCurrencyVariable
* use getNativeCurrency() instead of chainInfo const
Co-authored-by: Christine Legge <christine.legge@uniswap.org>
* feat(analytics): add a GA event on risk block
* Update src/hooks/useAccountRiskCheck.ts
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
* feat(compliance): risk screening
* add api endpoint
* hosted app only
* add help center link and click-to-copy email address
* only show on app.uniswap.org and fix spacing nits
* 12px for bottom section
* fix: can burn position even if fetching fees fails.
* Revert "fix: can burn position even if fetching fees fails."
This reverts commit a96f7178e5.
* recover more gracefully from failed fee fetch
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
* add widgets info to the repo README
* pr feedback from z
* pr feedback from w and z
* separate README.md and INTERFACE_README.md
* Update WIDGETS_README.md
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
* chore: mv SwapButton to dir
* chore: mv approval data to its own hook
* chore: mv approval actions to approvals hook
* chore: simplify SwapButton logic
* fix: pass through approval amount
* fix: mv error handling to consumer
* chore: mv useFilterFresh to its own hook
* fix: use a minimum fresh block
* fix: re-poll on stale data
* chore: rename to staleCallback
* check for undefined
* chore: rename fresh->valid
Co-authored-by: ianlapham <ianlapham@gmail.com>
Propagates the exact amount to the trade currency amount without waiting for the trade to be computed. This allows things like insufficient balance or approval to be reflected in the UI while typing, instead of having a lag.
* feat: green text on neg price impact
* chore: propagate all of usdc price impact
* chore: pass price impact to summary details
* chore: propagate slippage and impact warnings
* feat: update warnings on summary dialog
* chore: rm todo
* chore: mv usdc price impact to hook
* fix: popover padding
* feat: warn on high price impact from toolbar
* fix: display price impact on warning too
* chore: rename useUSDCValue params
* fix: conform uses of price impact color
* update wrapped native currency type
* fix build error on base check
* update type on mapping to permit undefined values
* undo unneeded changes
* update filter check
* feat: make data user-selectable
* fix: consider the whole node for focus
* fix: back out lineheight typing
* fix: straggling occurences
* chore: comment on root user-select
* use permit when valid on approvals
* fix broken check for permit sig
* update conditionals
* update text
* remove unneeded else
* move permit and approve logic to combined hook
* update comment
* split txn and approval state, code clean
* organize disable conditions
* small changes
* update conditional check
* disable interactions and don't show summary screen on unsupported networks
* clear input values on unsupported network
* pr feedback
* pr feedback
* simpler active trade clearing
* rename some things
* feat(swap): default 1 eth to usdc on the swap page
* fix unit tests
* fix tests
* fix the issue better
* use the token list logo
* fix integration tests for swap and add one for eth/usdc
* address comments
* fix: propagate ROUTE_NOT_FOUND and fallback appropriately
* fix: display insufficient liquidities
* fix: ignore stale SOR results
* fix: retain trade state while loading
* fix: mv debouncing to SOR logic for sync state
* fix(widgets): complete etherscan link and stop timer on tx inclusion
* use preexisting helper for etherscan link
* use z's EtherscanLink component
* pr review
* add basic number formatting
* test formatLocaleNumber
* localize CurrencyAmounts and Prices
* use lingui locale hook
* pr review
* cleaner type assertions
* check if locale is supported when formatting
* pr feedback
* fix(widgets): fix broken unsupported network message
* require that the user be on a Uniswap chainId AND a token-list supported chainID before fetching swap info
* use .some instead of .reduce
* create use best trade hook for widgets
* update comment in hook file
* add loading states to input / output fields
* update to not use imports from app
* remove custom loading component
* update var name and syncing detection logic
* fix USD div type
* simplify loading css, small changes
* fix: rm infura urls from lib
* fix: use passed providers for client SOR
* fix: clean up supported chain ids
* nit: rename params with specificity
* fix: use public rpc urls for l2
* fix: special-case rpc urls
* fix: avoid json named imports
This is required by webpack 5, and is done to keep the widgets library compatible.
See https://webpack.js.org/migrate/5/#using-named-exports-from-json-modules
Note that this must be done upstream as well, in @uniswap/v3-sdk and @uniswap/router-sdk.
* chore: bump v3-sdk to avoid json named imports
* create use best trade hook for widgets
* update comment in hook file
* refactor loading state conditional
* update logic in use best trade
* clean code in best trade hook
* start SOR by creating custom widget hook
* update best trade hook to use SOR in widget
* update organization for client side SOR logic
* fix auto router chain id import
* remove dependency on react GA for widget
* update dependencies for SOr
* remove new useBestTrade.ts
* update loading logic for fetching hook
* update dependencies with import from ethersproject
* update import version
* add try catch on SOR usage
* code cleanup, nit fixes
* format usd prices, add loading states
* remove tildes, collapse details by default
* update swap deadline to use seconds
* update syntax for loading states
* update swap hooks to add swap txn confirmations
* fix: remove uneeded comments
* update with latest
* update utils to separate swap callback hooks
* create generic swap callabck to be used by both app and widget
* update app swap callback to use logic from lib
* update big number import
* add swap txn to state on submit
* remove redundant fields in txn interfaces
* consolidate trade type logic
* update swap hooks to add swap txn confirmations
* fix: remove uneeded comments
* update with latest
* update utils to separate swap callback hooks
* create generic swap callabck to be used by both app and widget
* update app swap callback to use logic from lib
* update big number import
* feat: use default input/output on chain switch
* feat(widgets): ErrorGenerator -> PropValidator
* default prop validation
* useDefaults hook
* pr feedback
* fix cosmos
* drop token map changes
* add default inputs to cosmos fixture
* set up different validation layers for widget and swap
* split widget/swap prop types
* cleanup
* pr feedback
* clear defaults when they're no longer valid on the current chain
* remove state checks on validators
* stop using address in cosmos fixture
* pr feedback
* useMemo on useSwapDefaults args
* tell the user what they gave to error'd props
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
* feat: track approval txs
* refactor: update transactions
* chore: add ms to deps
* test: rm stale test
* fix: comment usage of trade for optimized trade
* read from query param and change networks if necessary
* dont open network selector menu on url param change
* prompt network change when url changes
* keep url, network in sync
* use chain name instead of id in url param
* only prompt network switch if url chain doesnt match
* update slippage tolerance to use auto or custom
* remove attempted styling for other PR
* back out UI changes, small naming updates
* remove UI work
* small code style changes, fix typo
* update comment to doc comment
* feat: filter selected currency from select
* test: use infura urls
* fix: load native with chain
* fix: use currencyId for key
* feat: switch currencies when selecting other
* fix: resolve merge conflict name
* refactor: mv settings state to own file
* chore: add default exports
* refactor: update swap state to match biz logic
* feat: copy biz logic to widgets
* Hook up UI to updated swap state
* fix: decimal inputs
* fix max slippage
* fix error in settings
* fix: typing errors
* revert: useBestTrade changes
* fix: use client side trade for widgets
* fix: exhaustive deps
* chore: add router-sdk
* fix: gate old web3 on widget env
* fix building errors
* update trade imports
* update hook naming for swap amount and currencies
* small changes
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
* fix: token image for chains / natives
* feat: include native currency in select
- Updates widgets swap state to use Currency (and deals with downstream updates)
- Refactors logoURI code to a new lib/hooks/useCurrencyLogoURIs
- Adds native currency to useQueryTokenList
NB: This does not build because tests must be updated to use Currency (they currently use mock tokens)
* test: update fixtures to use real currency
* fix: data uri color extraction
* fix: token img state
* fix: use new array
* feat: swap defaults
* refactor: mv token list utils to lib
* feat: expand fetchTokenList to include inlined
* feat: simple widget token list
* fix: token img props
* feat: use token list in selector
* fix: update useColor for optional logoURI
* fix: avoid leaking deps
* chore: add state to lib build
* chore: mv devDeps to deps for lib
* fix: microbundle css import
* fix: match ethers versions
* fix: use color callback
* chore: clean up token info type
* chore: widget type simplification
* refactor: share token map code
* test: include list in token select fixture
* fix: no tokens without chain id
* Add `{id}` replacement for ERC-1155
For issue #3010
* Update useENSAvatar.ts
Add leading zero pad to 64 hex chars
* Update useENSAvatar.ts
Following review comments
* feat: design system (#2622)
* refactor: mv setInterval to lib (#2621)
* chore: widget tooling (#2620)
* chore: remove global styles from cosmos viewer
* chore: add generated svgs to bundle
* chore: alias lib within lib
* feat: widgets swap settings and arch (#2629)
* style: update theme
* feat: grid-based row/column
* feat: widget/modal arch
* feat: tooltip arch
* feat: atoms arch
* feat: swap settings
* chore: update deps
* fix: input width
* refactor: modularize Tooltip
* feat: add grow to Row
* style: true prop
* refactor: clean NumericInput
* fix: customizable data structure
* chore: sort styled-components
* fix: import ReactNode
* fix: svgr index generation
* chore: run tests on widgets (#2635)
* chore: widgets nits (#2636)
* fix: restrict type color to theme
* feat: add types
* fix: input width
* fix: header divider
* fix: eslint
* fix: color name
* fix: use inputs for a11y (#2646)
* fix: clearable customizable
* feat: accent hovered select option
* feat: custom slippage color
* fix: use buttons for a11y
* fix: widgets styles (#2654)
* style: add body1
* refactor: modularize theme/components
* refactor: modularize all text Input
* fix: toggle opacity
* test: fixture arch
* feat: rm gas price select
* fix: toggle styles/strings
* feat: mock toggle
* fix: dialog overflow clipping
* fix: mix-blend-mode for safari
* fix: clip-path for safari svg
* fix: mock toggle content
* fix: input margin
* fix: input and cursor
* fix: validate . input
* fix: unused useMemo
* feat: widgets empty state (#2657)
* refactor: TextButton
* feat: inline icons
* feat: swap empty state
* feat: define TokenSelect
* fix: always inline icons
* feat: recent transactions (#2661)
* feat: wallet button
* fix: tx deps
* feat: widgets token select (#2685)
* fix: line height of 1
* fix: button margin
* fix: update styles
* feat: token select
* refactor: mocks and types
* feat: close dialog on esc
* feat: focus input on token select
* refactor: layer swap elements
* feat: use token color
* fix: widget theme
* fix: use vibrant
* chore: lodash types
* fix: fixture props
* feat: smoother color extraction
* fix: vibrant dep
* perf: extract input token color too
* feat: eased token background
* feat: token color prefetching
* chore: mv polished to deps
* chore: package management
* fix: token background transition
* fix: better color transitions
* feat: widgets UI (#2742)
* feat: add swap states
* fix: widget-global box-sizing
* feat: desaturate and opacity on token approval
* feat: red balance on balance insufficient
* fix: states
* feat: action button
* refactor: action button
* feat: loading spinner border
* fix: typescript errors
* fix: token color transition
* fix: unused typings
* feat: swap summary sans tooltip
* refactor: swap state
* feat: swap summary
* refactor: simpler swap names
* fix: cutoffs around footer
* refactor: recent txs
* refactor: buttons
* feat: tx status
* fix: consistent formatting
* feat: tx error
* test: tx error
* test: widget decorator
* style: theming
* fix: clean up dialogs
* fix: clean up swap
* fix: clean up overlays
* fix: action button text on hover
* fix: pickAtom
* fix: pickAtom typings
* fix: smoother error transition
* feat: enter for toggle
* fix: select tabbing
* refactor: simplify dialogs
* feat: widgets polish (#2757)
* fix: loading spinner fallback for safari
* fix: use border for focus
* refactor: token options
* fix: use react toggle event
* fix: token select
* fix: inert content when modal
* fix: windowed token select
* chore: mv windowing utils to deps
* fix: windowing with no rerender
* feat: widget i18n (#2765)
* feat: configure widget i18n
* i18n: wrap translatable strings in macros
* fix: rm lib/locales
* refactor: t to trans
* feat: cosmos locale selector
* chore: widgets nits (#2786)
* fix: tooltip color
* fix: tx ttl tooltip
* fix: tooltip positioning
* fix: token list padding top
* style: responsive tx
* nit: fix summary copy
* chore: change byline
* feat(widgets): add new @web3-react cosmos decorator (#2799)
add new @web3-react cosmos decorator and provider api to widget
* feat: token color mock (#2878)
* chore: merge main into widgets (#2893)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* chore: yarn-deduplicate
* chore: lint widgets
* fix: use lib useInterval
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
* chore: merge main into widgets (#2923)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a, reversing
changes made to 097b8361d4.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbd.
* Revert "deleted files"
This reverts commit 097b8361d4.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
* feat: Multicall lib integration for widgets (#2946)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a, reversing
changes made to 097b8361d4.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbd.
* Revert "deleted files"
This reverts commit 097b8361d4.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* package.json tweaks
* add multicall lib and some basic provider things
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
* feat: widgets style update (#2939)
* feat: widgets empty state (#2951)
* chore: mv onHover to computed theme; reduce to 0.16
* chore: transparentize primary on hover
* chore: transparentize dynamic primary on hover
* style: restrict icon usage
Restricts icons to lib/icons. This ensures that icons are loaded as singletons outside of the React lifecycle. Doing otherwise hinders performance.
* fix: logo mix-blend-mode
* wip: empty states
* fix: accent/active colors
* wip: empty states
* fix: input hover states
* nit: specific user select
* nit: button transition
* nit: no button transition
* chore: better cosmos toggles
* chore: load inter
* make cosmos work with new required widget props (#2956)
* separate connector atoms (#2959)
* fix: widgets nits sans summary/status (#2960)
* fix: dynamic scrollbar
* feat: system theme hook
* nit: settings
* nit: large settings icons
* fix: accessible color computation
* fix: ignore status scroll for now
* fix: ignore txs scroll for now
* feat: widgets summary (#2980)
* fix: output first in toolbar
* fix: widget height
* feat: token color extraction toggle
* fix: header sizing
* fix: height nits
* chore: re-arch sub pages
* nit: height
* feat: border radius as range
* fix: exclude cosmos setter from hook deps
* feat: default width to 360
* feat: type classes
* fix: header height
* fix: default cosmos width to 360
* refactor: icon button
* wip: summary
* fix: scrollbar
* feat: summary
* fix: summary expando
* fix: widgets transitions (#2983)
* fix: action button height
* fix: summary scrollbar fading
* fix: summary fixture
* fix: action button transitions
* feat: widgets status (#2987)
* fix: action button height
* fix: summary scrollbar fading
* fix: summary fixture
* fix: action button transitions
* refactor: commit spinner as svg asset
* feat: status dialog
* fix: spinner rounding
* feat: widgets fonts and transitions (#2998)
* feat: fonts using @fontsource
* feat: dialog transitions
* fix: swap transitions
* Refactor use active web3 react (#3002)
* separate connector atoms
* refactor cosmos and set up widgets env var
* fix: cosmos modularization (#3014)
* fix: cosmos modularization
* fix: web3 in atom provider
* feat: make connectors resettable
* drop empty test (#3022)
* Revert "feat: make connectors resettable"
This reverts commit db5af68b9b.
* undo dumb open reorder
* bump widget web3-react versions
* bump to fix tests
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
* chore(widgets): Merge main into widgets (#3013)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: center focused outline card (#2625)
* fix: add usdc to arbitrum/optimism common bases (#2641)
* remove WETH from optimism bases (#2640)
* use l2 logos in base pairs (#2634)
* fix: split calls into more chunks if they fail due to out of gas errors (#2630)
* fix: split calls into more chunks if they fail due to out of gas errors
* set to 100m gas
* back to 25m so we batch fewer calls
* do not pass through gas limit, some simplification of the code
* unused import
* fix: restrict @davatar usage to avoid 3p fetches (#2649)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): ensure chainIds match before fetching pool data (#2652)
* ensure chainIds match before fetching pool data
* debounce both input currencies, and only look for pairs on currencies that share a chainId
* pr feedback
* fix: use optional operator for chainId (#2666)
* chore: update token list (#2670)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: update token list (#2671)
* update token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: extend privacy and terms (#2623)
* initial iteration
* add logging
* added hook
* polish
* remove unused import
* add hash
* addressed pr feedback
* remove autorouter icon
* use firebase store
* style
* adjust recat ga
* log remove liquidity
* update copy
* addressed pr feedback
* addressed pr feedback
* prevent privacy content from dismissing modal
* make top-level key origin
* use hostname
* restore trm
* chore(i18n): synchronize translations from crowdin [skip ci]
* log full signed tx (#2681)
* refactor monitoring (#2682)
* chore: set final privacy learn more link' (#2684)
* add learn more button
* add final link
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: back arrow bug in wallet modal and fill tx for wallet (#2687)
* add tx to wallet connect
* remove id from env
* restore env
* block import of unsupported tokens (#2673)
generalize custom import token block ui
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps-dev): bump @uniswap/token-lists (#2699)
* chore(i18n): synchronize translations from crowdin [skip ci]
* try out 'dimension1' (#2704)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: walletconnect modal re-open after user rejection (#2693)
Co-authored-by: M0kY <moky@example.com>
* chore: update unsupported token list (#2689)
* chore: update unsupported token list
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: memoize the list stuff so the tokens are consistently clickable (#2724)
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: update cmc list link (#2710)
* update cmc lists
* update CMC url
* add token to unsupported list (#2732)
* don't overwrite localstorage lists when fetch throws (#2723)
* try cd1 for custom dimension (#2734)
* fix: Update walletlink-connector to 6.2.8 (#2655)
* Update walletlink-connector to 6.2.5 which has a walletlink update to support addEthereumChain+switchEthereumChain requests
* Update walletlink-connector to 6.2.7
* Update walletlink-connector to 6.2.8
* fix: Parse latest proposal description correctly
* add proposal start time (#2738)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: #2741 Increase liquidity form off center (#2746)
* fix: bump to latest token list including ENS token
* fix: remove deprecated optimism status url (#2771)
* feat: Menu update. Add help center & feature requests. Remove analytics & github. (#2709)
* Add help center, remove analytics from menu
* Add canny feature requests link, remove github link
* add coffee icon
* no unused imports eslint rule (#2773)
* chore(i18n): synchronize translations from crowdin [skip ci]
* add protocols param to quote endpoint (#2774)
* add protocols param to quote endpoint
* Fix code style issues with ESLint
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: lint error (#2775)
* fix(optimism): Optimism regenesis support (#2703)
* feat(optimism): optimistic kovan local regenesis changes
* use the regenesis version of the sdk
* remove the override no longer necessary
* diff rpc url
* back to kovan url
* lint error
* Optimism mainnet regenesis test (#2695)
* remove the optimism mainnet specific code and point to the mainnet regenesis rpc url
* point at the old mainnet multicall address
* bump the sdk version
* copy the list
* multicall address regenesis change
* revert the gas limit special casing for optimism
* bump the sdk version
* remove a couple other temporary edits
* unused test case
* specific version of v3-sdk
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(i18n): synchronize translations from crowdin [skip ci]
* feat: add support for 0.01% tier (#2769)
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): update block warning updater to check most recent block timestamp (#2777)
* update block warning updater to check most recent block timestamp
* stop doing dumb state manipulation
* fix: copy in network alert
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix(L2): remove redux from chain connectivity (#2781)
* remove redux from chain connectivity
* useMachineTimeMs instead of Date.now to force updates, useCurrentBlockTimestamp
* use useInterval
* change not created font size to 10 (#2785)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: format date using Date.toLocaleString (#2459)
* fix: format date using Date.toLocaleString
Fixes#2458
* fix: date typings
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: broken link to docs (#2816)
* chore: fix typo in useAllCurrencyCombinations.ts (#2778)
occurence -> occurrence
* chore: update typechain scripts for Windows (#2707)
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* perf: lazy load vote related routes (#2468)
* perf: lazy load vote related routes
* wrap Switch in Suspense
* remove exact to match nested routes
* fix nested routes
* split Landing
* fix
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: Enable 3085 requests for coinbase wallet (#2753)
enable 3085 requests for coinbase wallet
* feat: set the auto slippage tolerance by the dollar value of gas (#2815)
* feat: set the auto slippage tolerance by the dollar value of gas
* comments
* min/max at 0.5% to 25%
* oops on constant
* address review feedback
* Fixing #2818 (#2820)
* Fix code style issues with ESLint
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: fix#2818
* chore(i18n): synchronize translations from crowdin [skip ci]
* log an event on max click (#2827)
* Add trailing slash to L2 info links (#2696)
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
* fix(L2): block L2 tokens explicitly linked to L1 tokens that are blocked (#2721)
* block L2 tokens explicitly linked to L1 tokens that are blocked
* Fix code style issues with ESLint
* check for support on all connectors, and disable when the connector (or lack thereof) no longer supports 3085 (#2824)
* feat: display an ENS avatar (#2806)
* feat: ens avatar resolution
* chore: uninstall @davatar/react
* fix: add avatar alt
* feat: support data uris
* feat: support arweave uris
* feat: support erc721 avatars
* feat: support erc1155 avatars
* fix: jazzicon integration
* fix: clean usage of status icon
* fix: fix jazzicon svg offset
* refactor: share status icon component
* fix: pass memoized args to multicall
* Update locales.ts (#2825)
update Finnish from person (Suomalainen) to language (suomi)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore: fix the build blocking linter error
* chore: run linters with auto_fix = false for forks (#2852)
* fix: do not show urls if issue is not occurring on app.uniswap.org (#2855)
* fix: do not show urls if issue is not occurring on app.uniswap.org
fixes https://github.com/Uniswap/interface/issues/2572
* address comment
* fix: remove orphaned node (#2863)
* fix: remove orphaned node
* fix: react cleanup
* refactor: use ref for jazzicon (#2874)
* chore(i18n): synchronize translations from crowdin [skip ci]
* chore(deps): bump ws from 5.2.2 to 5.2.3 (#2759)
Bumps [ws](https://github.com/websockets/ws) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/5.2.2...5.2.3)
---
updated-dependencies:
- dependency-name: ws
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump url-parse from 1.5.1 to 1.5.3 (#2504)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.1 to 1.5.3.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.1...1.5.3)
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* add more tests for tryParseTick (#2110)
* fix(lint): clean up the eslint config (#2886)
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
* fix: Add routes for stakewise tokens (#2832)
* Add additional routes for stakewise tokens
* Reference StakeWise addresses with sdk tokens
* Sort token imports
* fix: fix layout of proposal list items on the vote page on mobile (#2898)
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix: typo in arweave URI recognition (#2901)
* deleted files
* Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)
This reverts commit bf7a40be7a, reversing
changes made to 097b8361d4.
* fix: inadvertent merges/reverts (#2915)
* Revert "Revert "Merge branch 'main' of https://github.com/Uniswap/interface" (#2912)"
This reverts commit 7d343dcfbd.
* Revert "deleted files"
This reverts commit 097b8361d4.
* refactor: Replace multicall implementation with library (#2768)
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* fix: introduce safeNamehash (#2925)
* namehash -> safeNamehash where necessary
* cleanup
* address comment
* feat: Add learn more link in TRM description (#2919)
* Add learn more link in TRM description
* Update src/components/PrivacyPolicy/index.tsx
Co-authored-by: Justin Domingue <judo@uniswap.org>
* give a bit more gas to balanceOf (#2943)
* fix: memoize hooks from /swap (#2949)
* fix: memoize hooks from /swap
* chore: rm console
* add fix for polygon proposal title (#2974)
* fix: display Uniswap token list in UI (#2821)
* fix: display Uniswap token list in UI
* chore: remove default-token-list build dependency
* fix: use ENS name for Uniswap token list
* fix: change Uniswap token list url
* fix: extend transaction deadline to 3 days (#2982)
* feat: integrate SwapRouter02 on L1/L2 + gas ui
* client-side smart order router support
* support auto router on L2s
* add swap router version in approval/swap callback GA events to save $ on approval txs
* add persistent UI view of gas estimate on L1s
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
* Update CONTRIBUTING.md (#2992)
* feat: Update contribution spec (#2993)
* Update CONTRIBUTING.md (#2994)
* Update CONTRIBUTING.md (#2995)
* feat: Update contribution spec (#2996)
* chore(i18n): synchronize translations from crowdin [skip ci]
* fix: double scroll in manage token list (#3020)
* fix double scroll
* remove bottom padding
* restrict walletlink to mainnet only (#3024)
* increase warning timer (#3004)
* add index.html styles to widget
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
Co-authored-by: Barry G <bgitarts@gmail.com>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Co-authored-by: Tina Zheng <59578595+tinaszheng@users.noreply.github.com>
* feat: widgets transitions (#3007)
* fix: logo target
* feat: settings transition
* feat: reverse transition
* fix: transitions will-change and durations
* fix: logo color
* fix: only will-change transform
* fix: header targets
* fix: clip modal transitions
* fix: token select header
* fix: safari transparent gradients
* fix: safari scrollbar
* fix: scroll overlay
* fix: safari bounce jank
* fix: firefox overscroll
* refactor: scrollbar hook
* feat: native event hook
* fix: details nowrap
* fix: settings cog transition
* feat: expando icon
* fix: expando transition
* refactor: cosmos web3 integration (#3052)
* chore: use zustand 4.0.0-beta for dynamic stores
* chore: use strict mode
* refactor: clean connector state
* chore: mv web3 state to cosmos selectors
* chore: dedup yarn.lock
* chore: define EthereumProvider in lib
* fix: destructure would not compile
* fix: make it bundle
* chore: prune deps
* refactor: use error handler instead of GA
* chore: add make-plural
* chore: add redux
* chore: yarn dedup
* chore: do not (re)load default locale
* fix: center error headings
* feat: error dialog for boundary
* fix: tighten up transitions
* test: include bundle depcheck
* fix: rm console
* fix: do not load empty sourceLocale
* fix: no lingui defaults
* refactor: mv svg to assets/svg
* chore: block font display
* fix: remove manual zustand resolution
* fix: svg generation script
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
* chore: widget placeholders (#3061)
* chore: update comments
- typo
- performance comment was performant on retest
* nit: status placeholders
- prevent flashes of rerendering from lazy-loaded elements
* chore: initialize cosmos with json rpc
* refactor: token img component
- modularize the TokenImg
- add a placeholder for UX and broken images
* fix: recent tx token img usage
* pr feedback
* undo REACT_APP_IS_WIDGET network ternary
Co-authored-by: Zach Pomerantz <zzmp@uniswap.org>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Micael Rodrigues <micaelr95@outlook.pt>
Co-authored-by: Justin Domingue <judo@uniswap.org>
Co-authored-by: Moody Salem <moodysalem@users.noreply.github.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: M0kY <46133205+M0kY@users.noreply.github.com>
Co-authored-by: M0kY <moky@example.com>
Co-authored-by: Will Hennessy <hennessywill@gmail.com>
Co-authored-by: Brendan Weinstein <65564422+brendanww@users.noreply.github.com>
Co-authored-by: Noah Zinsmeister <noahwz@gmail.com>
Co-authored-by: Ben Krochta <35636764+bkrochta@users.noreply.github.com>
Co-authored-by: Moody Salem <moody.salem@gmail.com>
Co-authored-by: Raj <sukhrajghuman@live.com>
Co-authored-by: Ikko Ashimine <eltociear@gmail.com>
Co-authored-by: Matthew Salamon <35425388+Matthews3301@users.noreply.github.com>
Co-authored-by: Sam Chen <chenxsan@gmail.com>
Co-authored-by: Ali Eray Kısabacak <eraykisabacak@hotmail.com>
Co-authored-by: Kimmo S <kkpsiren@gmail.com>
Co-authored-by: Dmitri Tsumak <tsumak.dmitri@gmail.com>
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
Co-authored-by: Carlos Diaz-Padron <carlosdiazpadron@gmail.com>
Co-authored-by: J M Rossy <jm.rossy@gmail.com>
Co-authored-by: Barry G <bgitarts@gmail.com>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
Co-authored-by: Tina Zheng <59578595+tinaszheng@users.noreply.github.com>
* Add ENSName and address check to Web3Status
Issue #2838
* Update useENSName.ts
Do the forward ENSAddress check in useENSName
* Update index.tsx
Revert ENSAddress check, which has been moved into ENSName hook
* Update useENSName.ts
Correcting the equality check (was testing that things work, and made a wrong commit)
* add comment, change var names
Co-authored-by: Tina Zheng <tina.s.zheng+github@gmail.com>
* feat(polygon): polygon mainnet and testnet support
WIP! DO NOT USE
* fix unit test
* fix explorer links
* compute usdc prices
* - fix the header currency label
- fix unit tests
* polygon gradient colors
* chore: adding weth to common bases (#3025)
* adding weth to common bases
* adding usdc and dai
* adding usdt and wbtc
* fix a bunch of polish issues
- 3085 detection
- some wrapping stuff
- the network selector dropdown
* fix wrap/unwrap notification text on polygon
* background color per the figma
* subgraph url
* fix the re-render blinking on the network selector
* failed network switch
* clean up duplicate code in the network switching functions
* fix text color in the privacy notice on light mode
* add some routing constants for polygon
* do not show the separator in the trade route if auto router is not supported
* - network switching without a wallet connected
- remove v2 stuff from pool page when n/a
- remove WMATIC from common bases on polygon
* background colors of network alert
* oops fix background on network alert
* clean up optimism labels
* fix alignment of text on downtime warning
* finish the network alert styles
Co-authored-by: Sara Reynolds <30504811+snreynolds@users.noreply.github.com>
* client-side smart order router support
* support auto router on L2s
* add swap router version in approval/swap callback GA events to save $ on approval txs
* add persistent UI view of gas estimate on L1s
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Co-authored-by: Ian Lapham <ian@uniswap.org>
Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
* fix: display Uniswap token list in UI
* chore: remove default-token-list build dependency
* fix: use ENS name for Uniswap token list
* fix: change Uniswap token list url
- Replace the local implementation of multicall with the new redux-multicall lib
- Create wrappers for redux-multicall hooks to inject block number and chainId
* fix: fixing layout from using grid to flexbox
* fix: setting WrapSmall to nowrap due to layout issue on mobile
* fix: using width auto instead of disabling flex wrap
Co-authored-by: Julian Anderson <juliancanderson@gmail.com>
* fix(lint): clean up the eslint config
* Fix code style issues with ESLint
* fix the linter errors that arose from using the proper config
* clean up the rebass text renames
* fix if statement, use the config
* use the same name prefix for both steps
* `TextPreset` -> `ThemedText`
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
Some links were broken. For example on /pools/ page click the 'Top Pools' CTA. It would mistakenly direct you to info.uniswap.org/optimismpools instead of optimism/pools
There are two errors when deploying on Windows system:
1. Using single quotes in path argument doesn't seem to be accepted in typechain command
2. `?(v3-core|v3-periphery)` operator doesn't work
Here are fixes/workarounds.
* chore: add support for 0.01% tier
* only show 1bps on mainnet
* rename VERY_LOW to LOWEST
* upgrade to v3-sdk 3.7.0
* add snapshot testing for lowest tier
* fix integration test
* fix integration test
* use ALL_SUPPORTED_CHAIN_IDS over string all
* consider 0.01% tier in pool (#2770)
* merge main and only consider lowest tier for mainnet
Your PR title must follow [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary), and should start with one of the following [types](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type):
- 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
Thank you for your interest in contributing to the Uniswap interface! 🦄
# Development
Before running anything, you'll need to install the dependencies:
```
yarn install
```
## Running the interface locally
1.`yarn install`
1.`yarn start`
```
yarn start
```
The interface should automatically open. If it does not, navigate to [http://localhost:3000].
## Creating a production build
1.`yarn install`
1.`yarn build`
```
yarn build
```
To serve the production build:
```
yarn serve
```
Then, navigate to [http://localhost:3000] to see it.
## Running unit tests
```
yarn test
```
By default, this runs only unit tests that have been affected since the last commit. To run _all_ unit tests:
```
yarn test --watchAll
```
## Running integration tests (cypress)
Integration tests require a server to be running. In order to see your changes quickly, run `start` in its own tab/window:
```
yarn start
```
Integration tests are run using `cypress`. When developing locally, use `cypress:open` for an interactive UI, and to inspect the rendered page:
```
yarn cypress:open
```
To run _all_ cypress integration tests _from the command line_:
```
yarn cypress:run
```
## Adding a new dependency
Adding many new dependencies would cause bloat, so we have a test to guard against this: `scripts/test-size.js`. This will run as part of CI with every PR.
If you *need* to add a new dependency, and it causes the generated build to exceed its size quota, you'll need to increase the quota. Do so in `scripts/test-size.js`.
You can also run the test on your last build using `yarn build && yarn test:size`. If you exceed the size quota, it will let you know what to do :).
## Engineering standards
Code merged into the `main` branch of this repository should adhere to high standards of correctness and maintainability.
Use your best judgment when applying these standards. If code is in the critical path, will be frequently visited, or
Code merged into the `main` branch of this repository should adhere to high standards of correctness and maintainability.
Use your best judgment when applying these standards. If code is in the critical path, will be frequently visited, or
makes large architectural changes, consider following all the standards.
- Have at least one engineer approve of large code refactorings
@@ -27,7 +84,7 @@ makes large architectural changes, consider following all the standards.
- If something breaks, add automated tests so it doesn't break again
- Add integration tests for new pages or flows
- Verify that all CI checks pass before merging
- Have at least one product manager or designer approve of significant UX changes
- Have at least one product manager or designer approve of any significant UX changes
## Guidelines
@@ -39,23 +96,23 @@ The following points should help guide your development:
- Avoid adding steps to the development/build processes
- The build must be deterministic, i.e. a particular commit hash always produces the same build
- Decentralization: anyone can run the interface
- An Ethereum node should be the only critical dependency
- An Ethereum node should be the only critical dependency
- All other external dependencies should only enhance the UX ([graceful degradation](https://developer.mozilla.org/en-US/docs/Glossary/Graceful_degradation))
- Accessibility: anyone can use the interface
- The interface should be responsive, small and run well on low performance devices (majority of swaps on mobile!)
- The interface should be responsive, small and also run well on low performance devices (majority of swaps on mobile!)
## Release process
Releases are cut automatically from the `main` branch Monday-Thursday in the morning according to the [release workflow](./.github/workflows/release.yaml).
Fix pull requests should be merged whenever ready and tested.
Fix pull requests should be merged whenever ready and tested.
If a fix is urgently needed in production, releases can be manually triggered on [GitHub](https://github.com/Uniswap/uniswap-interface/actions/workflows/release.yaml)
after the fix is merged into `main`.
Features should not be merged into `main` until they are ready for users.
When building larger features or collaborating with other developers, create a new branch from `main` to track its development.
Use the automatic Vercel preview for sharing the feature to collect feedback.
When the feature is ready for review, create a new pull request from the feature branch into `main` and request reviews from
When the feature is ready for review, create a new pull request from the feature branch into `main` and request reviews from
the appropriate UX reviewers (PMs or designers).
## Finding a first issue
@@ -65,7 +122,7 @@ Start with issues with the label
# Translations
Uniswap uses [Crowdin](https://crowdin.com/project/uniswap-interface) for managing translations.
Uniswap uses [Crowdin](https://crowdin.com/project/uniswap-interface) for managing translations.
[This workflow](./.github/workflows/crowdin.yaml) uploads new strings for translation to the Crowdin project whenever code using the [lingui translation macros](https://lingui.js.org/ref/macro.html) is merged into `main`.
Every hour, translations are synced back down from Crowdin to the repository in [this other workflow](./.github/workflows/crowdin-sync.yaml).
@@ -73,4 +130,4 @@ We sync to the repository on a schedule, rather than download translations at bu
You can contribute by joining Crowdin to proofread existing translations [here](https://crowdin.com/project/uniswap-interface/invite?d=93i5n413q403t4g473p443o4c3t2g3s21343u2c3n403l4b3v2735353i4g4k4l4g453j4g4o4j4e4k4b323l4a3h463s4g453q443m4e3t2b303s2a35353l403o443v293e303k4g4n4r4g483i4g4r4j4e4o473i5n4a3t463t4o4)
Or, ask to join us as a translator in the Discord!
Or, ask to join us as a translator in the Discord!!
@@ -30,7 +32,7 @@ or visit [app.uniswap.org](https://app.uniswap.org).
Check out `useUnsupportedTokenList()` in [src/state/lists/hooks.ts](./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](./src/constants/lists.ts) or you can block specific tokens by adding them to [unsupported.tokenlist.json](./src/constants/tokenLists/unsupported.tokenlist.json).
You can block an entire list of tokens by passing in a tokenlist like [here](./src/constants/lists.ts)
## Contributions
@@ -40,10 +42,10 @@ For steps on local deployment, development, and code contribution, please see [C
The Uniswap Interface supports swapping, adding liquidity, removing liquidity and migrating liquidity for Uniswap protocol V2.
- Swap on Uniswap V2: https://app.uniswap.org/#/swap?use=v2
// This avoid all generated schemas being wrapped in Maybe https://the-guild.dev/graphql/codegen/plugins/typescript/typescript#maybevalue-string-default-value-t--null
maybeValue:'T',
},
},
},
}
// This is used in package.json when generating apollo schemas however the linter stills flags this as unused
// This avoid all generated schemas being wrapped in Maybe https://the-guild.dev/graphql/codegen/plugins/typescript/typescript#maybevalue-string-default-value-t--null
maybeValue:'T',
},
},
},
}
// This is used in package.json when generating apollo schemas however the linter stills flags this as unused
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.