diff --git a/public/locales/en/register.json b/public/locales/en/register.json index b7ae54969..958cf2828 100644 --- a/public/locales/en/register.json +++ b/public/locales/en/register.json @@ -83,7 +83,8 @@ "op": "0xb8c2C2...", "arb1": "0xb8c2C2...", "base": "0xb8c2C2...", - "matic": "0xb8c2C2..." + "matic": "0xb8c2C2...", + "linea": "0xb8c2C2..." } }, "website": { diff --git a/scripts/generate-site-map.mjs b/scripts/generate-site-map.mjs index d5ad4e3e4..8f8a551a0 100644 --- a/scripts/generate-site-map.mjs +++ b/scripts/generate-site-map.mjs @@ -13,7 +13,7 @@ import { import { normalise } from '@ensdomains/ensjs/utils' -const ENS_SUBGRAPH_API_KEY = '9ad5cff64d93ed2c33d1a57b3ec03ea9' +const ENS_SUBGRAPH_API_KEY = 'fb9b07f6c149fbdbe946149837a1d673' const baseURL = 'https://app.ens.domains' const graphAPI = `https://gateway-arbitrum.network.thegraph.com/api/${ENS_SUBGRAPH_API_KEY}/subgraphs/id/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH` diff --git a/src/components/@atoms/Calendar/Calendar.tsx b/src/components/@atoms/Calendar/Calendar.tsx index c682ec494..37b7db57c 100644 --- a/src/components/@atoms/Calendar/Calendar.tsx +++ b/src/components/@atoms/Calendar/Calendar.tsx @@ -1,4 +1,4 @@ -import { ForwardedRef, forwardRef, InputHTMLAttributes } from 'react' +import { ForwardedRef, forwardRef, InputHTMLAttributes, useState } from 'react' import styled, { css } from 'styled-components' import CalendarSVG from '@app/assets/Calendar.svg' @@ -78,6 +78,8 @@ export const Calendar = forwardRef( ref: ForwardedRef, ) => { const inputRef = useDefaultRef(ref) + const [minDuratiion] = useState(min ?? value) + const minDate = secondsToDate(minDuratiion) const breakpoint = useBreakpoint() @@ -90,21 +92,27 @@ export const Calendar = forwardRef( {...props} ref={inputRef} value={secondsToDateInput(value)} - min={secondsToDateInput(min ?? value)} + min={secondsToDateInput(minDuratiion)} onFocus={(e) => { e.target.select() }} onChange={(e) => { if (!onChange) return - let { valueAsDate: newValueAsDate } = e.currentTarget - if (newValueAsDate) { - // Have to add in the timezone offset to make sure that the date shows up correctly after calendar picking for UTC - newValueAsDate = new Date( - newValueAsDate.getTime() + newValueAsDate.getTimezoneOffset() * 60 * 1000, - ) - } - onChange({ ...e, currentTarget: { ...e.currentTarget, valueAsDate: newValueAsDate } }) + const { valueAsDate: newValueAsDate } = e.currentTarget + if (!newValueAsDate) return + + // Have to add in the timezone offset to make sure that the date shows up correctly after calendar picking for UTC + const normalizedValueAsDate = new Date( + newValueAsDate.getTime() + newValueAsDate.getTimezoneOffset() * 60 * 1000, + ) + + const limitedValueAsDate = + minDate > normalizedValueAsDate ? minDate : normalizedValueAsDate + onChange({ + ...e, + currentTarget: { ...e.currentTarget, valueAsDate: limitedValueAsDate }, + }) }} onClick={() => inputRef.current!.showPicker()} /> diff --git a/src/constants/blockExplorers/evm.json b/src/constants/blockExplorers/evm.json index 389d0a486..c6119e574 100644 --- a/src/constants/blockExplorers/evm.json +++ b/src/constants/blockExplorers/evm.json @@ -1 +1 @@ -{"matic":{"id":137,"name":"Polygon","nativeCurrency":{"name":"MATIC","symbol":"MATIC","decimals":18},"blockExplorers":{"default":{"name":"PolygonScan","url":"https://polygonscan.com","apiUrl":"https://api.polygonscan.com/api"}}},"celo":{"id":42220,"name":"Celo","nativeCurrency":{"decimals":18,"name":"CELO","symbol":"CELO"},"blockExplorers":{"default":{"name":"Celo Explorer","url":"https://celoscan.io","apiUrl":"https://api.celoscan.io/api"}}},"cro":{"id":25,"name":"Cronos Mainnet","nativeCurrency":{"decimals":18,"name":"Cronos","symbol":"CRO"},"blockExplorers":{"default":{"name":"Cronos Explorer","url":"https://explorer.cronos.org","apiUrl":"https://explorer-api.cronos.org/mainnet/api"}}},"etc":{"id":61,"name":"Ethereum Classic","nativeCurrency":{"decimals":18,"name":"ETC","symbol":"ETC"},"blockExplorers":{"default":{"name":"Blockscout","url":"https://blockscout.com/etc/mainnet"}}},"ftm":{"id":250,"name":"Fantom","nativeCurrency":{"decimals":18,"name":"Fantom","symbol":"FTM"},"blockExplorers":{"default":{"name":"FTMScan","url":"https://ftmscan.com","apiUrl":"https://api.ftmscan.com/api"}}},"gno":{"id":100,"name":"Gnosis","nativeCurrency":{"decimals":18,"name":"Gnosis","symbol":"xDAI"},"blockExplorers":{"default":{"name":"Gnosisscan","url":"https://gnosisscan.io","apiUrl":"https://api.gnosisscan.io/api"}}},"op":{"id":10,"name":"OP Mainnet","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Optimism Explorer","url":"https://optimistic.etherscan.io","apiUrl":"https://api-optimistic.etherscan.io/api"}}},"arb1":{"id":42161,"name":"Arbitrum One","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Arbiscan","url":"https://arbiscan.io","apiUrl":"https://api.arbiscan.io/api"}}},"base":{"id":8453,"name":"Base","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Basescan","url":"https://basescan.org","apiUrl":"https://api.basescan.org/api"}}},"linea":{"id":59144,"name":"Linea Mainnet","nativeCurrency":{"name":"Linea Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Etherscan","url":"https://lineascan.build","apiUrl":"https://api.lineascan.build/api"}}},"zora":{"id":7777777,"name":"Zora","nativeCurrency":{"decimals":18,"name":"Ether","symbol":"ETH"},"blockExplorers":{"default":{"name":"Explorer","url":"https://explorer.zora.energy","apiUrl":"https://explorer.zora.energy/api"}}},"zksync":{"id":324,"name":"zkSync Era","nativeCurrency":{"decimals":18,"name":"Ether","symbol":"ETH"},"blockExplorers":{"default":{"name":"Etherscan","url":"https://era.zksync.network/","apiUrl":"https://api-era.zksync.network/api"},"native":{"name":"zkSync Explorer","url":"https://explorer.zksync.io/"}}},"metis":{"id":1088,"name":"Metis","nativeCurrency":{"decimals":18,"name":"Metis","symbol":"METIS"},"blockExplorers":{"default":{"name":"Metis Explorer","url":"https://explorer.metis.io","apiUrl":"https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api"},"blockscout":{"name":"Andromeda Explorer","url":"https://andromeda-explorer.metis.io","apiUrl":"https://andromeda-explorer.metis.io/api"}}},"avaxc":{"id":43114,"name":"Avalanche","nativeCurrency":{"decimals":18,"name":"Avalanche","symbol":"AVAX"},"blockExplorers":{"default":{"name":"SnowTrace","url":"https://snowtrace.io","apiUrl":"https://api.snowtrace.io"}}},"bsc":{"id":56,"name":"BNB Smart Chain","nativeCurrency":{"decimals":18,"name":"BNB","symbol":"BNB"},"blockExplorers":{"default":{"name":"BscScan","url":"https://bscscan.com","apiUrl":"https://api.bscscan.com/api"}}}} \ No newline at end of file +{"matic":{"id":137,"name":"Polygon","nativeCurrency":{"name":"MATIC","symbol":"MATIC","decimals":18},"blockExplorers":{"default":{"name":"PolygonScan","url":"https://polygonscan.com","apiUrl":"https://api.polygonscan.com/api"}}},"celo":{"id":42220,"name":"Celo","nativeCurrency":{"decimals":18,"name":"CELO","symbol":"CELO"},"blockExplorers":{"default":{"name":"Celo Explorer","url":"https://celoscan.io","apiUrl":"https://api.celoscan.io/api"}}},"cro":{"id":25,"name":"Cronos Mainnet","nativeCurrency":{"decimals":18,"name":"Cronos","symbol":"CRO"},"blockExplorers":{"default":{"name":"Cronos Explorer","url":"https://explorer.cronos.org","apiUrl":"https://explorer-api.cronos.org/mainnet/api"}}},"etc":{"id":61,"name":"Ethereum Classic","nativeCurrency":{"decimals":18,"name":"ETC","symbol":"ETC"},"blockExplorers":{"default":{"name":"Blockscout","url":"https://blockscout.com/etc/mainnet"}}},"ftm":{"id":250,"name":"Fantom","nativeCurrency":{"decimals":18,"name":"Fantom","symbol":"FTM"},"blockExplorers":{"default":{"name":"FTMScan","url":"https://ftmscan.com","apiUrl":"https://api.ftmscan.com/api"}}},"gno":{"id":100,"name":"Gnosis","nativeCurrency":{"decimals":18,"name":"Gnosis","symbol":"xDAI"},"blockExplorers":{"default":{"name":"Gnosisscan","url":"https://gnosisscan.io","apiUrl":"https://api.gnosisscan.io/api"}}},"op":{"id":10,"name":"OP Mainnet","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Optimism Explorer","url":"https://optimistic.etherscan.io","apiUrl":"https://api-optimistic.etherscan.io/api"}}},"arb1":{"id":42161,"name":"Arbitrum One","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Arbiscan","url":"https://arbiscan.io","apiUrl":"https://api.arbiscan.io/api"}}},"base":{"id":8453,"name":"Base","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Basescan","url":"https://basescan.org","apiUrl":"https://api.basescan.org/api"}}},"linea":{"id":59144,"name":"Linea Mainnet","nativeCurrency":{"name":"Linea Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Etherscan","url":"https://lineascan.build","apiUrl":"https://api.lineascan.build/api"}}},"zora":{"id":7777777,"name":"Zora","nativeCurrency":{"decimals":18,"name":"Ether","symbol":"ETH"},"blockExplorers":{"default":{"name":"Explorer","url":"https://explorer.zora.energy","apiUrl":"https://explorer.zora.energy/api"}}},"zksync":{"id":324,"name":"ZKsync Era","nativeCurrency":{"decimals":18,"name":"Ether","symbol":"ETH"},"blockExplorers":{"default":{"name":"Etherscan","url":"https://era.zksync.network/","apiUrl":"https://api-era.zksync.network/api"},"native":{"name":"ZKsync Explorer","url":"https://explorer.zksync.io/","apiUrl":"https://block-explorer-api.mainnet.zksync.io/api"}}},"metis":{"id":1088,"name":"Metis","nativeCurrency":{"decimals":18,"name":"Metis","symbol":"METIS"},"blockExplorers":{"default":{"name":"Metis Explorer","url":"https://explorer.metis.io","apiUrl":"https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api"},"blockscout":{"name":"Andromeda Explorer","url":"https://andromeda-explorer.metis.io","apiUrl":"https://andromeda-explorer.metis.io/api"}}},"avaxc":{"id":43114,"name":"Avalanche","nativeCurrency":{"decimals":18,"name":"Avalanche","symbol":"AVAX"},"blockExplorers":{"default":{"name":"SnowTrace","url":"https://snowtrace.io","apiUrl":"https://api.snowtrace.io"}}},"bsc":{"id":56,"name":"BNB Smart Chain","nativeCurrency":{"decimals":18,"name":"BNB","symbol":"BNB"},"blockExplorers":{"default":{"name":"BscScan","url":"https://bscscan.com","apiUrl":"https://api.bscscan.com/api"}}}} \ No newline at end of file diff --git a/src/constants/blockExplorers/supported.json b/src/constants/blockExplorers/supported.json index f37bdcd87..602a9bd36 100644 --- a/src/constants/blockExplorers/supported.json +++ b/src/constants/blockExplorers/supported.json @@ -1 +1 @@ -{"eth":{"id":1,"name":"Ethereum","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Etherscan","url":"https://etherscan.io","apiUrl":"https://api.etherscan.io/api"}}},"btc":{"name":"Bitcoin","nativeCurrency":{"name":"Bitcoin","symbol":"BTC","decimals":8},"blockExplorers":{"default":{"name":"Blockchair","url":"https://blockchair.com/bitcoin"}}},"sol":{"name":"Solana","nativeCurrency":{"name":"Solana","symbol":"SOL","decimals":9},"blockExplorers":{"default":{"name":"Solana","url":"https://explorer.solana.com/"}}},"op":{"id":10,"name":"OP Mainnet","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Optimism Explorer","url":"https://optimistic.etherscan.io","apiUrl":"https://api-optimistic.etherscan.io/api"}}},"arb1":{"id":42161,"name":"Arbitrum One","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Arbiscan","url":"https://arbiscan.io","apiUrl":"https://api.arbiscan.io/api"}}},"base":{"id":8453,"name":"Base","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Basescan","url":"https://basescan.org","apiUrl":"https://api.basescan.org/api"}}},"matic":{"id":137,"name":"Polygon","nativeCurrency":{"name":"MATIC","symbol":"MATIC","decimals":18},"blockExplorers":{"default":{"name":"PolygonScan","url":"https://polygonscan.com","apiUrl":"https://api.polygonscan.com/api"}}}} \ No newline at end of file +{"eth":{"id":1,"name":"Ethereum","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Etherscan","url":"https://etherscan.io","apiUrl":"https://api.etherscan.io/api"}}},"btc":{"name":"Bitcoin","nativeCurrency":{"name":"Bitcoin","symbol":"BTC","decimals":8},"blockExplorers":{"default":{"name":"Blockchair","url":"https://blockchair.com/bitcoin"}}},"sol":{"name":"Solana","nativeCurrency":{"name":"Solana","symbol":"SOL","decimals":9},"blockExplorers":{"default":{"name":"Solana","url":"https://explorer.solana.com/"}}},"op":{"id":10,"name":"OP Mainnet","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Optimism Explorer","url":"https://optimistic.etherscan.io","apiUrl":"https://api-optimistic.etherscan.io/api"}}},"arb1":{"id":42161,"name":"Arbitrum One","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Arbiscan","url":"https://arbiscan.io","apiUrl":"https://api.arbiscan.io/api"}}},"base":{"id":8453,"name":"Base","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Basescan","url":"https://basescan.org","apiUrl":"https://api.basescan.org/api"}}},"matic":{"id":137,"name":"Polygon","nativeCurrency":{"name":"MATIC","symbol":"MATIC","decimals":18},"blockExplorers":{"default":{"name":"PolygonScan","url":"https://polygonscan.com","apiUrl":"https://api.polygonscan.com/api"}}},"linea":{"id":59144,"name":"Linea Mainnet","nativeCurrency":{"name":"Linea Ether","symbol":"ETH","decimals":18},"blockExplorers":{"default":{"name":"Etherscan","url":"https://lineascan.build","apiUrl":"https://api.lineascan.build/api"}}}} \ No newline at end of file diff --git a/src/constants/supportedAddresses.ts b/src/constants/supportedAddresses.ts index 1caad8e23..877629734 100644 --- a/src/constants/supportedAddresses.ts +++ b/src/constants/supportedAddresses.ts @@ -1,3 +1,12 @@ -export const supportedAddresses = ['eth', 'btc', 'sol', 'op', 'arb1', 'base', 'matic'] as const +export const supportedAddresses = [ + 'eth', + 'btc', + 'sol', + 'op', + 'arb1', + 'base', + 'matic', + 'linea', +] as const export type SupportedAddress = (typeof supportedAddresses)[number]