Skip to content

Commit 7e23a62

Browse files
committed
feat: Support for Celo
1 parent 7389b17 commit 7e23a62

27 files changed

+380
-71
lines changed

src/assets/svg/celo.svg

Lines changed: 5 additions & 0 deletions
Loading

src/assets/svg/celo_logo.svg

Lines changed: 1 addition & 0 deletions
Loading

src/components/FeeSelector/shared.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ export const FEE_AMOUNT_DETAIL: Record<
1010
[FeeAmount.LOWEST]: {
1111
label: '0.01',
1212
description: <Trans>Best for very stable pairs.</Trans>,
13-
supportedChains: [SupportedChainId.MAINNET, SupportedChainId.POLYGON, SupportedChainId.POLYGON_MUMBAI],
13+
supportedChains: [
14+
SupportedChainId.MAINNET,
15+
SupportedChainId.POLYGON,
16+
SupportedChainId.POLYGON_MUMBAI,
17+
SupportedChainId.CELO,
18+
SupportedChainId.CELO_ALFAJORES,
19+
],
1420
},
1521
[FeeAmount.LOW]: {
1622
label: '0.05',

src/components/Header/NetworkSelector.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ const BridgeLabel = ({ chainId }: { chainId: SupportedChainId }) => {
157157
case SupportedChainId.POLYGON:
158158
case SupportedChainId.POLYGON_MUMBAI:
159159
return <Trans>Polygon Bridge</Trans>
160+
case SupportedChainId.CELO:
161+
case SupportedChainId.CELO_ALFAJORES:
162+
return <Trans>Optix (Celo) Bridge</Trans>
160163
default:
161164
return <Trans>Bridge</Trans>
162165
}
@@ -172,6 +175,9 @@ const ExplorerLabel = ({ chainId }: { chainId: SupportedChainId }) => {
172175
case SupportedChainId.POLYGON:
173176
case SupportedChainId.POLYGON_MUMBAI:
174177
return <Trans>Polygonscan</Trans>
178+
case SupportedChainId.CELO:
179+
case SupportedChainId.CELO_ALFAJORES:
180+
return <Trans>Blockscout</Trans>
175181
default:
176182
return <Trans>Etherscan</Trans>
177183
}
@@ -342,6 +348,7 @@ export default function NetworkSelector() {
342348
</FlyoutHeader>
343349
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.MAINNET} />
344350
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.POLYGON} />
351+
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.CELO} />
345352
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.OPTIMISM} />
346353
<Row onSelectChain={handleChainSwitch} targetChain={SupportedChainId.ARBITRUM_ONE} />
347354
</FlyoutMenuContents>

src/components/NetworkAlert/NetworkAlert.tsx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { useDarkModeManager } from 'state/user/hooks'
77
import styled from 'styled-components/macro'
88
import { ExternalLink, HideSmall } from 'theme'
99

10+
import celoAlternativeLogo from '../../assets/svg/celo.svg'
1011
import { AutoRow } from '../Row'
1112

1213
const L2Icon = styled.img`
@@ -42,6 +43,8 @@ const SHOULD_SHOW_ALERT = {
4243
[SupportedChainId.ARBITRUM_RINKEBY]: true,
4344
[SupportedChainId.POLYGON]: true,
4445
[SupportedChainId.POLYGON_MUMBAI]: true,
46+
[SupportedChainId.CELO]: true,
47+
[SupportedChainId.CELO_ALFAJORES]: true,
4548
}
4649

4750
type NetworkAlertChains = keyof typeof SHOULD_SHOW_ALERT
@@ -54,6 +57,8 @@ const BG_COLORS_BY_DARK_MODE_AND_CHAIN_ID: {
5457
'radial-gradient(100% 93.36% at 0% 6.64%, rgba(160, 108, 247, 0.1) 0%, rgba(82, 32, 166, 0.1) 100%)',
5558
[SupportedChainId.POLYGON_MUMBAI]:
5659
'radial-gradient(100% 93.36% at 0% 6.64%, rgba(160, 108, 247, 0.1) 0%, rgba(82, 32, 166, 0.1) 100%)',
60+
[SupportedChainId.CELO]: 'rgba(120, 250, 160, 0.55)',
61+
[SupportedChainId.CELO_ALFAJORES]: 'rgba(120, 250, 160, 0.55)',
5762
[SupportedChainId.OPTIMISM]:
5863
'radial-gradient(948% 292% at 42% 0%, rgba(255, 58, 212, 0.01) 0%, rgba(255, 255, 255, 0.04) 100%),radial-gradient(98% 96% at 2% 0%, rgba(255, 39, 39, 0.01) 0%, rgba(235, 0, 255, 0.01) 96%)',
5964
[SupportedChainId.OPTIMISTIC_KOVAN]:
@@ -68,6 +73,8 @@ const BG_COLORS_BY_DARK_MODE_AND_CHAIN_ID: {
6873
'radial-gradient(182.71% 205.59% at 2.81% 7.69%, rgba(130, 71, 229, 0.2) 0%, rgba(167, 202, 255, 0.2) 100%)',
6974
[SupportedChainId.POLYGON_MUMBAI]:
7075
'radial-gradient(182.71% 205.59% at 2.81% 7.69%, rgba(130, 71, 229, 0.2) 0%, rgba(167, 202, 255, 0.2) 100%)',
76+
[SupportedChainId.CELO]: 'rgba(50, 200, 167, 0.15)',
77+
[SupportedChainId.CELO_ALFAJORES]: 'rgba(50, 200, 167, 0.15)',
7178
[SupportedChainId.OPTIMISM]:
7279
'radial-gradient(92% 105% at 50% 7%, rgba(255, 58, 212, 0.04) 0%, rgba(255, 255, 255, 0.03) 100%),radial-gradient(100% 97% at 0% 12%, rgba(235, 0, 255, 0.1) 0%, rgba(243, 19, 19, 0.1) 100%), hsla(0, 0%, 100%, 0.1)',
7380
[SupportedChainId.OPTIMISTIC_KOVAN]:
@@ -129,6 +136,8 @@ const StyledArrowUpRight = styled(ArrowUpRight)`
129136
const TEXT_COLORS: { [chainId in NetworkAlertChains]: string } = {
130137
[SupportedChainId.POLYGON]: 'rgba(130, 71, 229)',
131138
[SupportedChainId.POLYGON_MUMBAI]: 'rgba(130, 71, 229)',
139+
[SupportedChainId.CELO]: 'rgba(1, 63, 44, 1)',
140+
[SupportedChainId.CELO_ALFAJORES]: 'rgba(46,51,56)',
132141
[SupportedChainId.OPTIMISM]: '#ff3856',
133142
[SupportedChainId.OPTIMISTIC_KOVAN]: '#ff3856',
134143
[SupportedChainId.ARBITRUM_ONE]: '#0490ed',
@@ -150,9 +159,18 @@ export function NetworkAlert() {
150159
const { label, logoUrl, bridge } = CHAIN_INFO[chainId]
151160
const textColor = TEXT_COLORS[chainId]
152161

162+
const ALTERNATIVE_LOGO: { [ChainId: number]: string } = {
163+
[SupportedChainId.CELO]: celoAlternativeLogo,
164+
[SupportedChainId.CELO_ALFAJORES]: celoAlternativeLogo,
165+
}
166+
153167
return bridge ? (
154168
<RootWrapper>
155-
<ContentWrapper chainId={chainId} darkMode={darkMode} logoUrl={logoUrl}>
169+
<ContentWrapper
170+
chainId={chainId}
171+
darkMode={darkMode}
172+
logoUrl={ALTERNATIVE_LOGO[chainId] ? ALTERNATIVE_LOGO[chainId] : logoUrl}
173+
>
156174
<LinkOutToBridge href={bridge}>
157175
<BodyText color={textColor}>
158176
<L2Icon src={logoUrl} />

src/components/SearchModal/CurrencySearch.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { Text } from 'rebass'
1818
import { useAllTokenBalances } from 'state/wallet/hooks'
1919
import styled from 'styled-components/macro'
2020

21+
import { SupportedChainId } from '../../constants/chains'
2122
import { useAllTokens, useIsUserAddedToken, useSearchInactiveTokenLists, useToken } from '../../hooks/Tokens'
2223
import { ButtonText, CloseIcon, IconWrapper, ThemedText } from '../../theme'
2324
import { isAddress } from '../../utils'
@@ -116,7 +117,8 @@ export function CurrencySearch({
116117
const native = useNativeCurrency()
117118

118119
const filteredSortedTokensWithETH: Currency[] = useMemo(() => {
119-
if (!native) return filteredSortedTokens
120+
if (!native || (chainId && [SupportedChainId.CELO, SupportedChainId.CELO_ALFAJORES].includes(chainId)))
121+
return filteredSortedTokens
120122

121123
const s = debouncedQuery.toLowerCase().trim()
122124
if (native.symbol?.toLowerCase()?.indexOf(s) !== -1) {

src/connectors/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Web3Provider } from '@ethersproject/providers'
22
import { SafeAppConnector } from '@gnosis.pm/safe-apps-web3-react'
33
import { ALL_SUPPORTED_CHAIN_IDS, SupportedChainId } from 'constants/chains'
4-
import { INFURA_NETWORK_URLS } from 'constants/infura'
4+
import { NETWORK_URLS } from 'constants/infura'
55
import { InjectedConnector } from 'web3-react-injected-connector'
66
import { WalletConnectConnector } from 'web3-react-walletconnect-connector'
77
import { WalletLinkConnector } from 'web3-react-walletlink-connector'
@@ -14,7 +14,7 @@ import { NetworkConnector } from './NetworkConnector'
1414
const FORMATIC_KEY = process.env.REACT_APP_FORTMATIC_KEY
1515

1616
export const network = new NetworkConnector({
17-
urls: INFURA_NETWORK_URLS,
17+
urls: NETWORK_URLS,
1818
defaultChainId: 1,
1919
})
2020

@@ -31,7 +31,7 @@ export const gnosisSafe = new SafeAppConnector()
3131

3232
export const walletconnect = new WalletConnectConnector({
3333
supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,
34-
rpc: INFURA_NETWORK_URLS,
34+
rpc: NETWORK_URLS,
3535
qrcode: true,
3636
})
3737

@@ -42,7 +42,7 @@ export const fortmatic = new FortmaticConnector({
4242
})
4343

4444
export const walletlink = new WalletLinkConnector({
45-
url: INFURA_NETWORK_URLS[SupportedChainId.MAINNET],
45+
url: NETWORK_URLS[SupportedChainId.MAINNET],
4646
appName: 'Uniswap',
4747
appLogoUrl: UNISWAP_LOGO_URL,
4848
supportedChainIds: ALL_SUPPORTED_CHAIN_IDS,

src/constants/addresses.ts

Lines changed: 81 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,48 @@ import { SupportedChainId } from './chains'
77
type AddressMap = { [chainId: number]: string }
88

99
export const UNI_ADDRESS: AddressMap = constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984')
10+
11+
export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTORY_ADDRESS)
12+
export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D')
13+
14+
/* V3 Contract Addresses */
15+
export const V3_CORE_FACTORY_ADDRESSES: AddressMap = {
16+
...constructSameAddressMap(V3_FACTORY_ADDRESS, [
17+
SupportedChainId.OPTIMISM,
18+
SupportedChainId.OPTIMISTIC_KOVAN,
19+
SupportedChainId.ARBITRUM_ONE,
20+
SupportedChainId.ARBITRUM_RINKEBY,
21+
SupportedChainId.POLYGON_MUMBAI,
22+
SupportedChainId.POLYGON,
23+
]),
24+
[SupportedChainId.CELO]: '',
25+
[SupportedChainId.CELO_ALFAJORES]: '0xFABdaD603E6bdc8Bc7222B2DB7BcDB84e5a0A385',
26+
}
27+
28+
export const V3_ROUTER_ADDRESS: AddressMap = {
29+
...constructSameAddressMap('0xE592427A0AEce92De3Edee1F18E0157C05861564', [
30+
SupportedChainId.OPTIMISM,
31+
SupportedChainId.OPTIMISTIC_KOVAN,
32+
SupportedChainId.ARBITRUM_ONE,
33+
SupportedChainId.ARBITRUM_RINKEBY,
34+
SupportedChainId.POLYGON,
35+
SupportedChainId.POLYGON_MUMBAI,
36+
]),
37+
[SupportedChainId.CELO]: '',
38+
[SupportedChainId.CELO_ALFAJORES]: '0x9Cf09C0507c99b41Ca875ad5451f25Ca18110A6A',
39+
}
40+
41+
export const V3_MIGRATOR_ADDRESSES: AddressMap = {
42+
...constructSameAddressMap('0xA5644E29708357803b5A882D272c41cC0dF92B34', [
43+
SupportedChainId.ARBITRUM_ONE,
44+
SupportedChainId.ARBITRUM_RINKEBY,
45+
SupportedChainId.POLYGON_MUMBAI,
46+
SupportedChainId.POLYGON,
47+
]),
48+
[SupportedChainId.CELO]: '',
49+
[SupportedChainId.CELO_ALFAJORES]: '0x437740563dc8De3B64AE7A3df922581f6B4033DF',
50+
}
51+
1052
export const MULTICALL_ADDRESS: AddressMap = {
1153
...constructSameAddressMap('0x1F98415757620B543A52E61c46B32eB19261F984', [
1254
SupportedChainId.OPTIMISTIC_KOVAN,
@@ -16,26 +58,22 @@ export const MULTICALL_ADDRESS: AddressMap = {
1658
]),
1759
[SupportedChainId.ARBITRUM_ONE]: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB',
1860
[SupportedChainId.ARBITRUM_RINKEBY]: '0xa501c031958F579dB7676fF1CE78AD305794d579',
61+
[SupportedChainId.CELO]: '',
62+
[SupportedChainId.CELO_ALFAJORES]: '0xE21c99d7dc0810fB44B9583120D46b052C0ef43A',
1963
}
20-
export const V2_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V2_FACTORY_ADDRESS)
2164

22-
export const V2_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D')
23-
export const V3_ROUTER_ADDRESS: AddressMap = constructSameAddressMap('0xE592427A0AEce92De3Edee1F18E0157C05861564', [
24-
SupportedChainId.OPTIMISM,
25-
SupportedChainId.OPTIMISTIC_KOVAN,
26-
SupportedChainId.ARBITRUM_ONE,
27-
SupportedChainId.ARBITRUM_RINKEBY,
28-
SupportedChainId.POLYGON,
29-
SupportedChainId.POLYGON_MUMBAI,
30-
])
31-
export const SWAP_ROUTER_ADDRESSES: AddressMap = constructSameAddressMap('0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45', [
32-
SupportedChainId.OPTIMISM,
33-
SupportedChainId.OPTIMISTIC_KOVAN,
34-
SupportedChainId.ARBITRUM_ONE,
35-
SupportedChainId.ARBITRUM_RINKEBY,
36-
SupportedChainId.POLYGON,
37-
SupportedChainId.POLYGON_MUMBAI,
38-
])
65+
export const SWAP_ROUTER_ADDRESSES: AddressMap = {
66+
...constructSameAddressMap('0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45', [
67+
SupportedChainId.OPTIMISM,
68+
SupportedChainId.OPTIMISTIC_KOVAN,
69+
SupportedChainId.ARBITRUM_ONE,
70+
SupportedChainId.ARBITRUM_RINKEBY,
71+
SupportedChainId.POLYGON,
72+
SupportedChainId.POLYGON_MUMBAI,
73+
]),
74+
[SupportedChainId.CELO]: '',
75+
[SupportedChainId.CELO_ALFAJORES]: '0x9Cf09C0507c99b41Ca875ad5451f25Ca18110A6A',
76+
}
3977

4078
/**
4179
* The oldest V0 governance address
@@ -61,54 +99,51 @@ export const TIMELOCK_ADDRESS: AddressMap = constructSameAddressMap('0x1a9C8182C
6199
export const MERKLE_DISTRIBUTOR_ADDRESS: AddressMap = {
62100
[SupportedChainId.MAINNET]: '0x090D4613473dEE047c3f2706764f49E0821D256e',
63101
}
102+
64103
export const ARGENT_WALLET_DETECTOR_ADDRESS: AddressMap = {
65104
[SupportedChainId.MAINNET]: '0xeca4B0bDBf7c55E9b7925919d03CbF8Dc82537E8',
66105
}
67-
export const V3_CORE_FACTORY_ADDRESSES: AddressMap = constructSameAddressMap(V3_FACTORY_ADDRESS, [
68-
SupportedChainId.OPTIMISM,
69-
SupportedChainId.OPTIMISTIC_KOVAN,
70-
SupportedChainId.ARBITRUM_ONE,
71-
SupportedChainId.ARBITRUM_RINKEBY,
72-
SupportedChainId.POLYGON_MUMBAI,
73-
SupportedChainId.POLYGON,
74-
])
75-
export const QUOTER_ADDRESSES: AddressMap = constructSameAddressMap('0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', [
76-
SupportedChainId.OPTIMISM,
77-
SupportedChainId.OPTIMISTIC_KOVAN,
78-
SupportedChainId.ARBITRUM_ONE,
79-
SupportedChainId.ARBITRUM_RINKEBY,
80-
SupportedChainId.POLYGON_MUMBAI,
81-
SupportedChainId.POLYGON,
82-
])
83-
export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: AddressMap = constructSameAddressMap(
84-
'0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
85-
[
106+
107+
export const QUOTER_ADDRESSES: AddressMap = {
108+
...constructSameAddressMap('0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', [
86109
SupportedChainId.OPTIMISM,
87110
SupportedChainId.OPTIMISTIC_KOVAN,
88111
SupportedChainId.ARBITRUM_ONE,
89112
SupportedChainId.ARBITRUM_RINKEBY,
90113
SupportedChainId.POLYGON_MUMBAI,
91114
SupportedChainId.POLYGON,
92-
]
93-
)
115+
]),
116+
[SupportedChainId.CELO]: '',
117+
[SupportedChainId.CELO_ALFAJORES]: '0x8e7F2915f151b6996fF1E4a4B91cC8940BE1e4E1',
118+
}
119+
120+
export const NONFUNGIBLE_POSITION_MANAGER_ADDRESSES: AddressMap = {
121+
...constructSameAddressMap('0xC36442b4a4522E871399CD717aBDD847Ab11FE88', [
122+
SupportedChainId.OPTIMISM,
123+
SupportedChainId.OPTIMISTIC_KOVAN,
124+
SupportedChainId.ARBITRUM_ONE,
125+
SupportedChainId.ARBITRUM_RINKEBY,
126+
SupportedChainId.POLYGON_MUMBAI,
127+
SupportedChainId.POLYGON,
128+
]),
129+
[SupportedChainId.CELO]: '',
130+
[SupportedChainId.CELO_ALFAJORES]: '0x6535D8Fb26B25D881598B79ec6c6EF2b59e98c47',
131+
}
132+
94133
export const ENS_REGISTRAR_ADDRESSES: AddressMap = {
95134
[SupportedChainId.MAINNET]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
96135
[SupportedChainId.ROPSTEN]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
97136
[SupportedChainId.GOERLI]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
98137
[SupportedChainId.RINKEBY]: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',
99138
}
139+
100140
export const SOCKS_CONTROLLER_ADDRESSES: AddressMap = {
101141
[SupportedChainId.MAINNET]: '0x65770b5283117639760beA3F867b69b3697a91dd',
102142
}
103143

104-
export const V3_MIGRATOR_ADDRESSES: AddressMap = constructSameAddressMap('0xA5644E29708357803b5A882D272c41cC0dF92B34', [
105-
SupportedChainId.ARBITRUM_ONE,
106-
SupportedChainId.ARBITRUM_RINKEBY,
107-
SupportedChainId.POLYGON_MUMBAI,
108-
SupportedChainId.POLYGON,
109-
])
110-
111144
export const TICK_LENS_ADDRESSES: AddressMap = {
112145
[SupportedChainId.ARBITRUM_ONE]: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573',
113146
[SupportedChainId.ARBITRUM_RINKEBY]: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573',
147+
[SupportedChainId.CELO]: '',
148+
[SupportedChainId.CELO_ALFAJORES]: '0x22f63eB193D53c3277d3C36238c714AC3690cAF3',
114149
}

src/constants/chainInfo.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import ethereumLogoUrl from 'assets/images/ethereum-logo.png'
22
import arbitrumLogoUrl from 'assets/svg/arbitrum_logo.svg'
3+
import celoLogo from 'assets/svg/celo_logo.svg'
34
import optimismLogoUrl from 'assets/svg/optimistic_ethereum.svg'
45
import polygonMaticLogo from 'assets/svg/polygon-matic-logo.svg'
56
import ms from 'ms.macro'
67

78
import { SupportedChainId, SupportedL1ChainId, SupportedL2ChainId } from './chains'
8-
import { ARBITRUM_LIST, OPTIMISM_LIST } from './lists'
9+
import { ARBITRUM_LIST, CELO_ALFAJORES_LIST, CELO_LIST, OPTIMISM_LIST } from './lists'
910

1011
export enum NetworkType {
1112
L1,
@@ -31,6 +32,7 @@ interface BaseChainInfo {
3132

3233
export interface L1ChainInfo extends BaseChainInfo {
3334
readonly networkType: NetworkType.L1
35+
readonly defaultListUrl?: string
3436
}
3537

3638
export interface L2ChainInfo extends BaseChainInfo {
@@ -167,4 +169,28 @@ export const CHAIN_INFO: ChainInfoMap = {
167169
logoUrl: polygonMaticLogo,
168170
nativeCurrency: { name: 'Polygon Mumbai Matic', symbol: 'mMATIC', decimals: 18 },
169171
},
172+
[SupportedChainId.CELO]: {
173+
networkType: NetworkType.L1,
174+
blockWaitMsBeforeWarning: ms`10m`,
175+
bridge: 'https://optics.app/',
176+
docs: 'https://docs.celo.org/',
177+
explorer: 'https://explorer.celo.org/',
178+
infoLink: 'https://info.uniswap.org/#/celo/',
179+
label: 'Celo',
180+
logoUrl: celoLogo,
181+
nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 },
182+
defaultListUrl: CELO_LIST,
183+
},
184+
[SupportedChainId.CELO_ALFAJORES]: {
185+
networkType: NetworkType.L1,
186+
blockWaitMsBeforeWarning: ms`10m`,
187+
bridge: 'https://optics.app/',
188+
docs: 'https://docs.celo.org/',
189+
explorer: 'https://alfajores-blockscout.celo-testnet.org/',
190+
infoLink: 'https://info.uniswap.org/#/celo/',
191+
label: 'Celo Alfajores',
192+
logoUrl: celoLogo,
193+
nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 },
194+
defaultListUrl: CELO_ALFAJORES_LIST,
195+
},
170196
}

0 commit comments

Comments
 (0)