Skip to content

Commit ed34660

Browse files
committed
added email display to waas, WIP: Swap
1 parent 3c77be0 commit ed34660

File tree

11 files changed

+516
-288
lines changed

11 files changed

+516
-288
lines changed

packages/checkout/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@
4040
"motion": "^12.3.1"
4141
},
4242
"peerDependencies": {
43-
"0xsequence": ">= 2.2.13",
44-
"@0xsequence/api": ">= 2.2.13",
45-
"@0xsequence/indexer": ">= 2.2.13",
46-
"@0xsequence/metadata": ">= 2.2.13",
47-
"@0xsequence/network": ">= 2.2.13",
43+
"0xsequence": ">= 2.3.4",
44+
"@0xsequence/api": ">=2.3.4",
45+
"@0xsequence/indexer": ">= 2.3.4",
46+
"@0xsequence/metadata": ">= 2.3.4",
47+
"@0xsequence/network": ">= 2.3.4",
4848
"@0xsequence/connect": "workspace:*",
49-
"@0xsequence/waas": ">= 2.2.13",
49+
"@0xsequence/waas": ">= 2.3.4",
5050
"@tanstack/react-query": ">= 5",
5151
"ethers": ">= 6.13.0",
5252
"react": ">= 17",

packages/connect/package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,18 @@
3737
"typecheck": "tsc --noEmit"
3838
},
3939
"dependencies": {
40-
"@0xsequence/api": ">= 2.2.13",
41-
"@0xsequence/auth": ">= 2.2.13",
42-
"@0xsequence/core": ">= 2.2.13",
40+
"@0xsequence/api": ">=2.3.4",
41+
"@0xsequence/auth": ">= 2.3.4",
42+
"@0xsequence/core": ">= 2.3.4",
4343
"@0xsequence/design-system": "2.0.12",
4444
"@0xsequence/ethauth": "^1.0.0",
4545
"@0xsequence/hooks": "workspace:*",
46-
"@0xsequence/indexer": ">= 2.2.13",
47-
"@0xsequence/metadata": ">= 2.2.13",
48-
"@0xsequence/network": ">= 2.2.13",
49-
"@0xsequence/provider": ">= 2.2.13",
50-
"@0xsequence/utils": ">= 2.2.13",
51-
"@0xsequence/waas": ">= 2.2.13",
46+
"@0xsequence/indexer": ">= 2.3.4",
47+
"@0xsequence/metadata": ">= 2.3.4",
48+
"@0xsequence/network": ">= 2.3.4",
49+
"@0xsequence/provider": ">= 2.3.4",
50+
"@0xsequence/utils": ">= 2.3.4",
51+
"@0xsequence/waas": ">= 2.3.4",
5252
"@tailwindcss/cli": "^4.0.14",
5353
"clsx": "^2.1.1",
5454
"fuse.js": "^6.6.2",
@@ -57,7 +57,7 @@
5757
"uuid": "^10.0.0"
5858
},
5959
"peerDependencies": {
60-
"0xsequence": "^2.2.13",
60+
"0xsequence": ">= 2.3.4",
6161
"@databeat/tracker": "^0.9.3",
6262
"@react-oauth/google": "^0.11.1",
6363
"@tanstack/react-query": ">= 5",
@@ -69,7 +69,7 @@
6969
"wagmi": ">= 2.14.13"
7070
},
7171
"devDependencies": {
72-
"0xsequence": "^2.2.13",
72+
"0xsequence": ">= 2.3.4",
7373
"@tanstack/react-query": "^5.62.0",
7474
"@types/uuid": "^9.0.8",
7575
"ethers": "^6.13.0",

packages/connect/src/hooks/useWallets.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,19 @@ export interface UseWalletsReturnType {
204204
* }
205205
* ```
206206
*/
207+
208+
// const test = async (connector: Connector) => {
209+
// console.log('test', await connector.getProvider())
210+
// }
211+
207212
export const useWallets = (): UseWalletsReturnType => {
208213
const { address } = useAccount()
209214
const connections = useConnections()
210215
const { connectAsync } = useConnect()
211216
const { disconnectAsync } = useDisconnect()
212217

218+
// test(connections[0].connector)
219+
213220
const waasConnection = connections.find(c => (c.connector as ExtendedConnector)?.type === 'sequence-waas')
214221

215222
const {

packages/hooks/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,19 @@
3030
"test:watch": "vitest"
3131
},
3232
"peerDependencies": {
33-
"@0xsequence/api": ">=2.2.13",
34-
"@0xsequence/indexer": ">=2.2.13",
35-
"@0xsequence/metadata": ">=2.2.13",
36-
"@0xsequence/network": ">=2.2.13",
33+
"@0xsequence/api": ">=2.3.4",
34+
"@0xsequence/indexer": ">=2.3.4",
35+
"@0xsequence/metadata": ">=2.3.4",
36+
"@0xsequence/network": ">=2.3.4",
3737
"@tanstack/react-query": ">= 5",
3838
"react": ">= 17",
3939
"react-dom": ">= 17"
4040
},
4141
"devDependencies": {
42-
"@0xsequence/api": "^2.2.13",
43-
"@0xsequence/indexer": "^2.2.13",
44-
"@0xsequence/metadata": "^2.2.13",
45-
"@0xsequence/network": "^2.2.13",
42+
"@0xsequence/api": "^2.3.4",
43+
"@0xsequence/indexer": "^2.3.4",
44+
"@0xsequence/metadata": "^2.3.4",
45+
"@0xsequence/network": "^2.3.4",
4646
"@tanstack/react-query": "^5.62.0",
4747
"@testing-library/jest-dom": "^6.6.3",
4848
"@testing-library/react": "^16.0.1",

packages/wallet-widget/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@
4141
"motion": "^12.3.1"
4242
},
4343
"peerDependencies": {
44-
"@0xsequence/api": ">= 2.2.13",
45-
"@0xsequence/indexer": ">= 2.2.13",
46-
"@0xsequence/metadata": ">= 2.2.13",
47-
"@0xsequence/network": ">= 2.2.13",
44+
"@0xsequence/api": ">=2.3.4",
45+
"@0xsequence/indexer": ">= 2.3.4",
46+
"@0xsequence/metadata": ">= 2.3.4",
47+
"@0xsequence/network": ">= 2.3.4",
4848
"@0xsequence/connect": "workspace:*",
4949
"@0xsequence/hooks": "workspace:*",
5050
"@0xsequence/checkout": "workspace:*",

packages/wallet-widget/src/views/Home/IntegratedWallet/index.tsx

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { ContractVerificationStatus } from '@0xsequence/indexer'
1616
import { ethers } from 'ethers'
1717
import { useObservable } from 'micro-observables'
1818
import { AnimatePresence } from 'motion/react'
19-
import { useMemo, useState } from 'react'
19+
import { useEffect, useMemo, useState } from 'react'
2020
import { useAccount, useConfig } from 'wagmi'
2121

2222
import { FilterMenu } from '../../../components/FilterMenu'
@@ -30,14 +30,14 @@ import { useNavigation, useSettings } from '../../../hooks'
3030
import { useFiatWalletsMap } from '../../../hooks/useFiatWalletsMap'
3131
import { computeBalanceFiat } from '../../../utils'
3232
import { getConnectorLogo } from '../../../utils/wallets'
33-
import { CoinSelect } from '../../Swap/CoinSelect'
3433

3534
import { OperationButtonTemplate } from './Buttons/OperationButtonTemplate'
3635

3736
export const IntegratedWallet = () => {
3837
const { setNavigation } = useNavigation()
3938
const { selectedWalletsObservable, selectedNetworks, hideUnlistedTokens, fiatCurrency, selectedCollections } = useSettings()
4039
const { fiatWalletsMap } = useFiatWalletsMap()
40+
const { connector } = useAccount()
4141

4242
const selectedWallets = useObservable(selectedWalletsObservable)
4343
const { chains } = useConfig()
@@ -49,6 +49,29 @@ export const IntegratedWallet = () => {
4949
const [accountSelectorModalOpen, setAccountSelectorModalOpen] = useState(false)
5050
const [walletFilterOpen, setWalletFilterOpen] = useState(false)
5151

52+
const [signInDisplay, setSignInDisplay] = useState('')
53+
54+
useEffect(() => {
55+
const fetchSignInDisplay = async () => {
56+
const sequenceWaas = (await connector?.sequenceWaas) as {
57+
listAccounts: () => Promise<{ accounts: { email: string; type: string }[] }>
58+
}
59+
60+
if (sequenceWaas) {
61+
const sequenceWaasAccounts = await sequenceWaas.listAccounts()
62+
const waasEmail = sequenceWaasAccounts.accounts.find(account => account.type === 'OIDC')?.email
63+
let backupEmail = ''
64+
if (sequenceWaasAccounts.accounts.length > 0) {
65+
backupEmail = sequenceWaasAccounts.accounts[0].email
66+
}
67+
setSignInDisplay(waasEmail || backupEmail)
68+
} else {
69+
setSignInDisplay(connector?.name || '')
70+
}
71+
}
72+
fetchSignInDisplay()
73+
}, [connector])
74+
5275
const { data: tokenBalancesData, isPending: isTokenBalancesPending } = useGetTokenBalancesDetails({
5376
chainIds: selectedNetworks,
5477
filter: {
@@ -266,10 +289,11 @@ export const IntegratedWallet = () => {
266289
<Text color="primary" fontWeight="medium" variant="normal">
267290
{formatAddress(accountAddress || '')}
268291
</Text>
269-
270-
<Text color="muted" fontWeight="medium" variant="small">
271-
272-
</Text>
292+
{signInDisplay && (
293+
<Text color="muted" fontWeight="medium" variant="small">
294+
{signInDisplay}
295+
</Text>
296+
)}
273297
</div>
274298
<Button variant="text" onClick={onClickAccountSelector}>
275299
<ChevronDownIcon color="white" />

packages/wallet-widget/src/views/Receive.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const Receive = () => {
3838

3939
return (
4040
<div style={{ paddingTop: HEADER_HEIGHT_WITH_LABEL }}>
41-
<div className="flex flex-col justify-center items-center px-4 pb-4 gap-4">
41+
<div className="flex flex-col justify-center items-center px-4 pb-6 gap-4">
4242
<NetworkSelect />
4343
<div className="flex mt-1 w-fit bg-white rounded-xl items-center justify-center p-4">
4444
<QRCodeCanvas value={address || ''} size={200} bgColor="white" fgColor="black" data-id="receiveQR" />
Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Button, NumericInput, Text } from '@0xsequence/design-system'
2-
import { ChangeEvent, useEffect, useMemo, useState } from 'react'
2+
import { ChangeEvent, useMemo } from 'react'
33
import { formatUnits } from 'viem'
4-
import { useChains } from 'wagmi'
54

65
import { useSettings } from '../../hooks'
76
import { TokenBalanceWithPrice } from '../../utils'
@@ -10,14 +9,17 @@ import { formatFiatBalance, decimalsToWei } from '../../utils/formatBalance'
109
export const CoinInput = ({
1110
coin,
1211
type,
13-
setAmount
12+
value,
13+
setValue,
14+
disabled
1415
}: {
1516
coin: TokenBalanceWithPrice
1617
type: 'from' | 'to'
17-
setAmount: (amount: string) => void
18+
value: string
19+
setValue: (value: string, type: 'from' | 'to') => void
20+
disabled?: boolean
1821
}) => {
1922
const { fiatCurrency } = useSettings()
20-
const [value, setValue] = useState<string>('')
2123

2224
const fiatBalance = formatFiatBalance(
2325
decimalsToWei(value, coin.contractInfo?.decimals || 18),
@@ -30,17 +32,13 @@ export const CoinInput = ({
3032
return value > coin.balance
3133
}, [coin.balance, value])
3234

33-
useEffect(() => {
34-
setAmount(value)
35-
}, [value])
36-
3735
const handleChange = (ev: ChangeEvent<HTMLInputElement>) => {
3836
const { value } = ev.target
39-
setValue(value)
37+
setValue(value, type)
4038
}
4139

4240
const handleMax = () => {
43-
setValue(formatUnits(BigInt(coin.balance), coin.contractInfo?.decimals || 18))
41+
setValue(formatUnits(BigInt(coin.balance), coin.contractInfo?.decimals || 18), type)
4442
}
4543

4644
return (
@@ -49,24 +47,28 @@ export const CoinInput = ({
4947
name="amount"
5048
value={value}
5149
onChange={handleChange}
50+
disabled={disabled}
5251
controls={
5352
<>
54-
{fiatBalance !== '' && (
53+
{value && Number(value) > 0 && fiatBalance !== '' && (
5554
<Text className="whitespace-nowrap" variant="small" color="muted">
5655
~{fiatBalance}
5756
</Text>
5857
)}
5958
{type === 'from' && (
60-
<Button className="shrink-0" size="xs" shape="square" label={`Max`} onClick={handleMax} data-id="maxCoin" />
59+
<Button
60+
disabled
61+
className="shrink-0"
62+
size="xs"
63+
shape="square"
64+
label={`Max`}
65+
onClick={handleMax}
66+
data-id="maxCoin"
67+
/>
6168
)}
6269
</>
6370
}
6471
/>
65-
{!hasSufficientFunds && (
66-
<Text className="mt-2" variant="normal" color="negative" asChild>
67-
Insufficient Funds
68-
</Text>
69-
)}
7072
</div>
7173
)
7274
}

packages/wallet-widget/src/views/Swap/CoinSelect.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ export const CoinSelect = ({
1515
selectedCoin,
1616
setSelectedCoin
1717
}: {
18-
selectType: 'From' | 'To'
18+
selectType: 'from' | 'to'
1919
coinList: TokenBalanceWithPrice[]
2020
selectedCoin: TokenBalanceWithPrice | undefined
21-
setSelectedCoin: (coin: TokenBalanceWithPrice) => void
21+
setSelectedCoin: (coin: TokenBalanceWithPrice, type: 'from' | 'to') => void
2222
}) => {
2323
const { fiatCurrency } = useSettings()
2424
const chains = useChains()
@@ -28,7 +28,7 @@ export const CoinSelect = ({
2828
const { logo, name, symbol, displayBalance } = formatTokenInfo(selectedCoin, fiatCurrency.sign, chains)
2929

3030
const handleSelect = (coin: TokenBalanceWithPrice) => {
31-
setSelectedCoin(coin)
31+
setSelectedCoin(coin, selectType)
3232
setIsSelectorOpen(false)
3333
}
3434

@@ -40,7 +40,7 @@ export const CoinSelect = ({
4040
>
4141
<div className="flex flex-col gap-2 w-full">
4242
<Text variant="small" fontWeight="bold" color="muted">
43-
{selectType}
43+
{selectType === 'from' ? 'From' : 'To'}
4444
</Text>
4545
{selectedCoin ? (
4646
<div className="flex flex-row gap-2 items-center">

0 commit comments

Comments
 (0)