Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Line-shift for lengthy pair name-amount #609

Closed
wants to merge 208 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
13313eb
Remove routerUrl and client side routing
kernelwhisperer Feb 1, 2023
65523b4
Disable amount editing on the dependent field
kernelwhisperer Feb 1, 2023
8e418f7
Change auto slippage to default slippage
kernelwhisperer Feb 1, 2023
409a036
Add WidoAPI for quotes
kernelwhisperer Feb 2, 2023
67d01b8
Fix slippage calculation
kernelwhisperer Feb 2, 2023
b0c9021
Wido token list
kernelwhisperer Feb 2, 2023
6b6ca5c
Fix onApprove and onSubmit
kernelwhisperer Feb 6, 2023
6c64100
Update package.json
kernelwhisperer Feb 7, 2023
dd62b41
Branded footer
kernelwhisperer Feb 7, 2023
2c8e86b
Min width 300 -> 400
kernelwhisperer Feb 7, 2023
213ca49
Mock-up implementation part 1
kernelwhisperer Feb 7, 2023
b9607a2
Remove default from token
kernelwhisperer Feb 7, 2023
a64f1ec
Multi-chain token list
kernelwhisperer Feb 7, 2023
4079f66
Use getBalances from wido
kernelwhisperer Feb 7, 2023
2c42101
Fix native tokens now showing up
kernelwhisperer Feb 7, 2023
f5b5560
Show error messages from quote calls
kernelwhisperer Feb 7, 2023
2a89aae
Fix chain id mismatch
kernelwhisperer Feb 7, 2023
10321cf
Remove fixture options
kernelwhisperer Feb 7, 2023
4852a69
Add ChainSelector
kernelwhisperer Feb 8, 2023
2cf681d
Add testnets visible option
kernelwhisperer Feb 8, 2023
8143e7d
Add ethProvider option
kernelwhisperer Feb 9, 2023
01433e3
Hardcore starknet networks
kernelwhisperer Feb 10, 2023
5ef7191
Starknet balances
kernelwhisperer Feb 10, 2023
3f8c3b0
Fix wallet connections
kernelwhisperer Feb 10, 2023
8b95412
Rename wallet buttons
kernelwhisperer Feb 10, 2023
a4c8138
Pass starknet account as recipient
kernelwhisperer Feb 13, 2023
0b7b15b
Pass slippagePercentage to quote
kernelwhisperer Feb 19, 2023
8772dba
Add destination tx hash to zap progress
kernelwhisperer Feb 19, 2023
27fddd4
Update balances after zap
kernelwhisperer Feb 19, 2023
55afe6b
Remove console.logs
kernelwhisperer Feb 19, 2023
9f9bec4
rename swap to zap
mazurroman Feb 20, 2023
7532c81
Merge pull request #2 from widolabs/roman/rename-swap-to-zap
kernelwhisperer Feb 20, 2023
1c26fc1
Fix switch chain
kernelwhisperer Feb 20, 2023
18a33e0
Add accurate wallet connection messages
kernelwhisperer Feb 21, 2023
9bb9608
Call call even without a wallet connection
kernelwhisperer Feb 21, 2023
1600c08
Add srcChainIds and dstChainIds props
kernelwhisperer Feb 21, 2023
ccb9a54
Fix localhost api
kernelwhisperer Feb 22, 2023
cde5e5e
Fix token images on starknets
kernelwhisperer Feb 23, 2023
9a64d54
Fix build errors
kernelwhisperer Feb 23, 2023
54993eb
Fix circular dependencies
kernelwhisperer Feb 23, 2023
9e2353a
Fix starknet tokens
kernelwhisperer Feb 23, 2023
3a49a3d
Rename package refs to wido-widget
kernelwhisperer Feb 23, 2023
ba5cde9
Show details even if approval is needed or wallet not connected
kernelwhisperer Feb 23, 2023
dcbda22
Add RoutePreview
kernelwhisperer Feb 24, 2023
ad2f3f5
Fix native tokens and chainIds in RouteBreakdown
kernelwhisperer Feb 24, 2023
bddef37
Add typedoc and fix ts errors
kernelwhisperer Feb 24, 2023
e0dcdab
Add option for localApi
kernelwhisperer Feb 24, 2023
520d1d4
Clean-up API reference
kernelwhisperer Feb 24, 2023
4fc2bc8
v0.1.1
kernelwhisperer Feb 24, 2023
5865d8b
Hide network fee details
kernelwhisperer Feb 24, 2023
ccc380a
Update readme and fix docs not being packaged
kernelwhisperer Feb 24, 2023
0fafa3f
v0.1.2
kernelwhisperer Feb 24, 2023
03ad0df
v0.1.3
kernelwhisperer Feb 24, 2023
bfbc7a8
Fix jotai package
kernelwhisperer Feb 24, 2023
8515c95
v0.1.4
kernelwhisperer Feb 24, 2023
dd8d9df
v0.1.5
kernelwhisperer Feb 24, 2023
d6196a7
Fix error messages and route preview height
kernelwhisperer Feb 24, 2023
a618c22
v0.1.6
kernelwhisperer Feb 24, 2023
998385e
Update README.md
kernelwhisperer Feb 24, 2023
5ca63f0
v0.1.7
kernelwhisperer Feb 24, 2023
00fce83
Fix @uniswap/conedison import
kernelwhisperer Feb 27, 2023
051d51e
v0.1.8
kernelwhisperer Feb 27, 2023
e1dde49
Revert "Fix @uniswap/conedison import"
kernelwhisperer Feb 27, 2023
22b9095
Fix @uniswap/conedison import
kernelwhisperer Feb 27, 2023
67fec72
v0.1.9
kernelwhisperer Feb 27, 2023
1d567c5
Add fromToken and toToken options for presetting
kernelwhisperer Feb 27, 2023
91b90b9
Fix TokenList not filtering by srcChainIds
kernelwhisperer Feb 28, 2023
ac8a925
Fix token selection being reset after wallet connection
kernelwhisperer Feb 28, 2023
459a830
Remove connect wallet buttons
kernelwhisperer Feb 28, 2023
df7d4e5
v0.1.10
kernelwhisperer Feb 28, 2023
677b59b
Fix tx status screen for single chain
kernelwhisperer Mar 2, 2023
d8b1121
Update WidoRouter address
kernelwhisperer Mar 2, 2023
0e70e8f
Fix balances not showing until the eth wallet is connected
kernelwhisperer Mar 2, 2023
4bdef65
Fix mismatched/unsupported chain error
kernelwhisperer Mar 2, 2023
3b43d36
Sign approve & zap with starknetjs
kernelwhisperer Mar 3, 2023
a58487c
Fix displayTx when fromChainId is starknet
kernelwhisperer Mar 3, 2023
3317d70
Add toProtocols prop
kernelwhisperer Mar 3, 2023
a737188
Fix build and publish v0.1.11
kernelwhisperer Mar 3, 2023
2d13b61
Fix bug in filtering the token list
kernelwhisperer Mar 3, 2023
9107ae9
v0.1.12
kernelwhisperer Mar 3, 2023
f88ec94
Fix evm transactions not displaying the pending screen
kernelwhisperer Mar 3, 2023
fb0942b
Fix approval state not showing as pending
kernelwhisperer Mar 3, 2023
610b478
Fix build and publish 0.1.13
kernelwhisperer Mar 3, 2023
635c9a2
Fix starknet tx "mined" status
kernelwhisperer Mar 3, 2023
7b86397
Fix build and publish 0.1.14
kernelwhisperer Mar 3, 2023
e8a0ad0
Disable switch currencies button
kernelwhisperer Mar 13, 2023
3d6c68d
Fix address not changing when another account is connected
kernelwhisperer Mar 14, 2023
a8bbeca
Fix chainId not updating
kernelwhisperer Mar 14, 2023
3f672f9
Add network check to starknet wallets
kernelwhisperer Mar 14, 2023
74463c3
Disconnect starknet wallet on account or chain changes
kernelwhisperer Mar 14, 2023
9c67296
Rename to WidoWidget
kernelwhisperer Mar 14, 2023
07cb5a7
Pass partner address to quote
kernelwhisperer Mar 14, 2023
9d49d3f
Fix bug in balances
kernelwhisperer Mar 14, 2023
2d95116
Publish v0.1.15
kernelwhisperer Mar 14, 2023
2e3d489
Add fromTokens and toTokens props
kernelwhisperer Mar 14, 2023
0e5af34
v0.1.16
kernelwhisperer Mar 14, 2023
49f06de
Bundle en-US translations as fallback
kernelwhisperer Mar 15, 2023
7f3936e
v0.1.17
kernelwhisperer Mar 15, 2023
82171f9
Fix balances not updating after sn account change
kernelwhisperer Mar 15, 2023
e5b6b55
Fix build and publish 0.1.18
kernelwhisperer Mar 15, 2023
8093776
Add onFromTokenChange and onToTokenChange
kernelwhisperer Mar 16, 2023
26c44a7
Fix bug in balances after zap
kernelwhisperer Mar 17, 2023
879ebe0
Use wido.getStatus for dstTxHash
kernelwhisperer Mar 17, 2023
dad5e81
Rename WidoWidgetPlaceholder
kernelwhisperer Mar 17, 2023
714e18a
v0.1.19
kernelwhisperer Mar 17, 2023
ec37e0a
Allow quoteApi fn to be overridden
kernelwhisperer Mar 17, 2023
6cc7aab
v0.1.20
kernelwhisperer Mar 17, 2023
a39e6ef
Allow filtering by protocol
kernelwhisperer Mar 17, 2023
031ae6a
Add symbol and protocol to TokenList
kernelwhisperer Mar 17, 2023
da9aa25
Fix bug
kernelwhisperer Mar 17, 2023
4af77e8
Move protocol label on the second row
kernelwhisperer Mar 20, 2023
74dc928
Show Etherscan link in TokenInput and RouteBreakdown
kernelwhisperer Mar 20, 2023
e051f0f
Fix build and publish 0.1.21
kernelwhisperer Mar 20, 2023
bd0e904
Fix bug in Input
kernelwhisperer Mar 20, 2023
e331920
v0.1.22
kernelwhisperer Mar 20, 2023
ccc858a
Add recipient address to review screen
kernelwhisperer Mar 20, 2023
20da3f8
Fix approximated amounts in the Review zap screen
kernelwhisperer Mar 21, 2023
a83271d
Fix error Invalid 'address' parameter at getContract
kernelwhisperer Mar 21, 2023
a3558bd
Don't show the chain picker if there's only 1 network
kernelwhisperer Mar 21, 2023
6b67593
Add title prop
kernelwhisperer Mar 21, 2023
1dd5304
Change font size on review screen to account for long symbols
kernelwhisperer Mar 21, 2023
c11564e
Add Connect wallet to see balances button
kernelwhisperer Mar 21, 2023
cf924c1
v0.1.23
kernelwhisperer Mar 22, 2023
e15982f
Add largeTokenSelect prop
kernelwhisperer Mar 22, 2023
2053dd0
v0.1.24
kernelwhisperer Mar 22, 2023
bc8f723
Add Backdrop to the large variant of TokenSelect
kernelwhisperer Mar 24, 2023
042782f
v0.1.25
kernelwhisperer Mar 24, 2023
275dcaf
Fix Dialog z-index
kernelwhisperer Mar 24, 2023
2b02fc4
v0.1.26
kernelwhisperer Mar 24, 2023
4f86c93
Remove testnetsVisible prop
kernelwhisperer Mar 27, 2023
0ec34d5
Fix missing data on Fantom, Optimism & Arbitrum
kernelwhisperer Mar 27, 2023
19260b3
Fix build and publish v0.1.27
kernelwhisperer Mar 27, 2023
9a2f6b1
Fix Review screen: button label and summary layout
kernelwhisperer Mar 27, 2023
6bfd4db
v0.1.28
kernelwhisperer Mar 27, 2023
763a692
Fix explorer link
kernelwhisperer Mar 27, 2023
d7d89a9
Fix review button label
kernelwhisperer Mar 27, 2023
0d0dee7
v0.1.29
kernelwhisperer Mar 27, 2023
93a04d3
Update getWidoSpender
kernelwhisperer Mar 28, 2023
bd24f45
v0.1.30
kernelwhisperer Mar 28, 2023
58d9b48
Fix starknet provider for mainnet
kernelwhisperer Mar 29, 2023
cc420e7
Display quote's info/warning messages
kernelwhisperer Mar 29, 2023
a5590e8
v0.1.31
kernelwhisperer Mar 29, 2023
7dd7184
Enter an amount message as the button label
kernelwhisperer Mar 30, 2023
6098f3c
Show a shortened address with the last 4 chars for recipient
kernelwhisperer Mar 30, 2023
0c7b124
Publish 0.1.32
kernelwhisperer Mar 30, 2023
6784fdc
Give more importance to popular tokens in sorting
kernelwhisperer Mar 31, 2023
106fc9b
v0.1.33
kernelwhisperer Mar 31, 2023
f9054f2
Show network fee
kernelwhisperer Apr 4, 2023
274f25f
v0.1.34
kernelwhisperer Apr 4, 2023
c8e2176
Add token symbol to RouteBreakdown
kernelwhisperer Apr 4, 2023
9074ac7
Bring back Gas Summary
kernelwhisperer Apr 4, 2023
230ef50
Fallback to native gas fee if usd gas fee is null
kernelwhisperer Apr 4, 2023
c56201f
Fix gas estimate label
kernelwhisperer Apr 4, 2023
bce01fc
Add message to RouteBreakdown
kernelwhisperer Apr 4, 2023
aac5f47
v0.1.35
kernelwhisperer Apr 4, 2023
24c6973
Add Aurora network details (#3)
sraver Apr 7, 2023
482f08b
v0.1.36
jainkunal Apr 7, 2023
7310ce9
Add address of `UniswapInterfaceMulticall` contract
sraver Apr 10, 2023
a104395
Add Aurora into the Widget local UI
sraver Apr 10, 2023
d3be1b1
Add Fantom into the Widget local UI
sraver Apr 10, 2023
1c68ee5
Add address of `UniswapInterfaceMulticall` contract on Fantom
sraver Apr 10, 2023
d0fc886
Bump version
sraver Apr 10, 2023
a15c29b
v0.1.38
jainkunal Apr 10, 2023
68a0fcf
Allow Widget to be preset with from/to tokens using props
sraver Apr 21, 2023
50eff87
Add some doc
sraver Apr 21, 2023
837cca0
Allow `undefined` to avoid type errors on the user
sraver Apr 21, 2023
4159e5d
Merge pull request #4 from widolabs/sandro/token-presets
sraver Apr 21, 2023
6e96813
Prepare workflows for release
sraver Apr 21, 2023
74d32b5
Merge pull request #5 from widolabs/sandro/token-presets
sraver Apr 21, 2023
5491aae
fix: force commit
sraver Apr 21, 2023
eeae6c1
Merge pull request #6 from widolabs/update
sraver Apr 21, 2023
b67b3ca
fix: add `package.json` to release commit
sraver Apr 21, 2023
245d349
Merge pull request #7 from widolabs/bump-version
sraver Apr 21, 2023
234e3ec
fix: change order of release plugins
sraver Apr 21, 2023
23ed768
Merge pull request #8 from widolabs/release-order
sraver Apr 21, 2023
1d4c1fe
chore(release): 1.0.3 [skip ci]
semantic-release-bot Apr 21, 2023
9c13c7e
fix: shadow underlay container style
sraver Apr 26, 2023
403c154
chore(release): 1.0.4 [skip ci]
semantic-release-bot Apr 26, 2023
8288c8f
fix: hardcode gasLimit for Starknet Router transactions
sraver Apr 27, 2023
190fdc4
chore(release): 1.0.5 [skip ci]
semantic-release-bot Apr 27, 2023
d35ea16
Revert "fix: hardcode gasLimit for Starknet Router transactions"
sraver Apr 28, 2023
261d775
chore(release): 1.0.6 [skip ci]
semantic-release-bot Apr 28, 2023
3e24ad4
fix: max native token amount
sraver May 1, 2023
98feab4
chore(release): 1.0.7 [skip ci]
semantic-release-bot May 1, 2023
0b30611
fix: max native token amount
sraver May 1, 2023
a83aff0
chore(release): 1.0.8 [skip ci]
semantic-release-bot May 1, 2023
e8e731e
Add BSC and Avalanche chains
sraver May 1, 2023
34dc89d
Add Multicall addresses
sraver May 1, 2023
095298f
Merge pull request #9 from widolabs/sandro/new-chains
sraver May 1, 2023
452da97
fix: force release
sraver May 1, 2023
4c581a9
chore(release): 1.0.9 [skip ci]
semantic-release-bot May 1, 2023
6df2e09
fix: Only get destination TX status on cross-chain
sraver May 23, 2023
3fadaf6
chore(release): 1.0.10 [skip ci]
semantic-release-bot May 23, 2023
6406f22
fix: Only get destination TX status on cross-chain
sraver May 23, 2023
f31a5f5
chore(release): 1.0.11 [skip ci]
semantic-release-bot May 23, 2023
ffa07fe
Add local fixture
sraver Jun 2, 2023
5304fa7
feat: status check for EVM transactions
sraver Jun 2, 2023
4bc6720
chore(release): 1.1.0 [skip ci]
semantic-release-bot Jun 2, 2023
3c669a7
fix: Stop status checking when success
sraver Jun 2, 2023
48aab3e
chore(release): 1.1.1 [skip ci]
semantic-release-bot Jun 2, 2023
172b42f
feat: add prewarp for text
gr8h Jun 8, 2023
8b38efc
chore(release): 1.2.0 [skip ci]
semantic-release-bot Jun 9, 2023
05c16af
fix: remove balance from output token
sraver Jun 28, 2023
d53bc8a
feat: show complete number on review screen
sraver Jun 28, 2023
ff6d262
chore(release): 1.3.0 [skip ci]
semantic-release-bot Jun 28, 2023
1cc21ea
fix: restore blocked selector when single token list
sraver Jul 4, 2023
df4d7e3
chore(release): 1.3.1 [skip ci]
semantic-release-bot Jul 4, 2023
f5d99e0
feat: line-shift for lengthy pair name-amount
barabanovro Jul 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
440 changes: 440 additions & 0 deletions .dependency-cruiser.js

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,6 @@
{
"group": ["**/dist"],
"message": "Do not import from dist/ - this is an implementation detail, and breaks tree-shaking."
},
{
"group": ["*clientSideSmartOrderRouter"],
"message": "Forbidden import; smart-order-router is lazy-loaded."
}
]
}
Expand Down
File renamed without changes.
16 changes: 0 additions & 16 deletions .github/workflows/conventional-commit.yaml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,27 +15,6 @@ jobs:
- uses: ./.github/actions/setup
- run: yarn prepare

- run: yarn i18n:extract
- uses: crowdin/[email protected]
with:
upload_sources: true
download_translations: true
create_pull_request: false
push_translations: false
localization_branch_name: main
source: 'src/locales/en-US.po'
translation: 'src/locales/%locale%.po'
crowdin_branch_name: widgets
token: ${{ secrets.CROWDIN_TOKEN }}
project_id: 458284
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- run: yarn test
if: success()
env:
JSON_RPC_PROVIDER: ${{ secrets.JSON_RPC_PROVIDER }}

- run: yarn release
if: success()
env:
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,6 @@ notes.txt

# generated ajv schema
/src/__generated__/*
!/src/__generated__/.gitkeep
!/src/__generated__/.gitkeep

docs
8 changes: 5 additions & 3 deletions .releaserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/github",
"@semantic-release/npm",
[
"@semantic-release/git",
{
"assets": ["package.json"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
"@semantic-release/github",
"@semantic-release/npm"
]
]
}

87 changes: 54 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,71 @@
# Uniswap Labs Widgets
# 🕹 Wido Widget

[![npm](https://img.shields.io/npm/v/@uniswap/widgets)](https://www.npmjs.com/package/@uniswap/widgets)
[![Unit tests](https://github.com/Uniswap/interface/actions/workflows/test.yaml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/test.yaml)
[![Integration tests](https://github.com/Uniswap/interface/actions/workflows/e2e.yaml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/e2e.yaml)
[![Lint](https://github.com/Uniswap/interface/actions/workflows/lint.yml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/lint.yml)
[![Crowdin](https://badges.crowdin.net/uniswap-interface/localized.svg)](https://crowdin.com/project/uniswap-interface)
[![npm](https://img.shields.io/npm/v/wido-widget)](https://www.npmjs.com/package/wido-widget)
<!-- [![Unit tests](https://github.com/Uniswap/interface/actions/workflows/test.yaml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/test.yaml) -->
<!-- [![Integration tests](https://github.com/Uniswap/interface/actions/workflows/e2e.yaml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/e2e.yaml) -->
<!-- [![Lint](https://github.com/Uniswap/interface/actions/workflows/lint.yml/badge.svg)](https://github.com/Uniswap/interface/actions/workflows/lint.yml) -->
<!-- [![Crowdin](https://badges.crowdin.net/uniswap-interface/localized.svg)](https://crowdin.com/project/uniswap-interface) -->

The `@uniswap/widgets` package is an [npm package](https://www.npmjs.com/package/@uniswap/widgets) of React components used to provide subsets of the Uniswap Protocol functionality in a small and configurable user interface element.
Wido Widget combines ease of use with great UX. Protocols integrate Wido Widget to accept deposits in any token, from any chain, in a single transaction.

# Uniswap Labs Swap Widget
Example use cases supported by Wido Widget:

The Swap Widget bundles the whole swapping experience into a single React component that developers can easily embed in their app with one line of code.
* Single token deposits into LP pools, with any token, from any chain (Zaps)
* Deposit any token into any farm or vault (works cross-chain)
* Deposit any token from Ethereum into Starknet, including pools, farms or vaults on Starknet (bridge + deposit)
* Deposit any token from Ethereum into ZK Sync, including pools, farms or vaults on Starknet (bridge + deposit)

![swap widget screenshot](https://raw.githubusercontent.com/Uniswap/interface/main/src/assets/images/widget-screenshot.png)
<figure><img src="https://1709844881-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4AaJqYK7Ftrytj6lOYPa%2Fuploads%2F5XYpcZkADyIWHTaXT7eH%2FScreenshot%202023-02-21%20at%2015.44.29.png?alt=media&token=b2216672-677e-47cb-83c0-f03e5c3a31ee" alt="widget screenshot"><figcaption><p>Wido Widget: Deposit ETH from Ethereum into a JediSwap LP pool on Starknet. All in a single transaction.</p></figcaption></figure>

You can customize the theme (colors, fonts, border radius, and more) to match the style of your application. You can also configure your own default token list and optionally set a convenience fee on swaps executed through the widget on your site.
## Getting started

## Installation
Integrating Wido Widget only takes few lines of code.

Install the widgets library via `npm` or `yarn`.
First install the `wido-widget` [npm package](https://www.npmjs.com/package/wido-widget) which contains React components used to integrate Wido's zap functionality in a small and configurable user interface element.
You can customize the theme (colors, fonts, border radius, and more) to match the style of your application.

Install the widget via `npm` or `yarn`.

```js
yarn add @uniswap/widgets
yarn add wido-widget react-redux
```

```js
npm i --save @uniswap/widgets
npm i --save wido-widget react-redux
```

## Documentation

- [overview](https://docs.uniswap.org/sdk/widgets/swap-widget)
- [api reference](https://docs.uniswap.org/sdk/widgets/swap-widget/api)

## Example Apps

Uniswap Labs maintains two demo apps in branches of the [widgets-demo](https://github.com/Uniswap/widgets-demo) repo:

- [NextJS](https://github.com/Uniswap/widgets-demo/tree/nextjs)
- [Create React App](https://github.com/Uniswap/widgets-demo/tree/cra)

Others have also also released the widget in production to their userbase:
After installing, embed the React component in your application.

```jsx
import React from "react";
import ReactDOM from "react-dom";
import { SwapWidget } from 'wido-widget'

function App() {
return (
<SwapWidget
onConnectWalletClick={handleConnectWalletClick}
ethProvider={ethersjsInstance}
snAccount={starknetjsInstance}
// optional params
theme={theme}
onTxSubmit={handleTxSubmit}
onTxSuccess={handleTxSuccess}
onTxFail={handleTxFail}
/>
)
}

ReactDOM.render(
<App />,
document.getElementById("my-app")
)
```

- [OpenSea](https://opensea.io/)
- [Friends With Benefits](https://www.fwb.help/)
- [Oasis](https://oasis.app/)
You are expected to handle the `onConnectWalletClick` callback by integrating with `@web3-react/core`, `@web3-onboard/core` or any other way of managing the wallet connection and then pass a `Web3Provider` instance that comes from the `ethers.js`.
When integrating the Starknet network, you are also expected to pass in the `Account` instance that you created with `starknet.js`.

## Legal notice
## Documentation

Uniswap Labs encourages integrators to evaluate their own regulatory obligations when integrating this widget into their products, including, but not limited to, those related to economic or trade sanctions compliance.
* [Guide](https://docs.joinwido.com/integrate-wido/widget)
* [API Reference](https://unpkg.com/wido-widget@latest/docs/index.html)
Loading
Loading