{"version":3,"file":"static/chunks/671-e676978ba77ed145.js","mappings":"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","sources":["webpack://_N_E/./src/app/containers/utils/errorHelpers.tsx","webpack://_N_E/./src/ui/Common/components/Popup/styles.tsx","webpack://_N_E/./src/ui/Common/components/Popup/Popup.tsx","webpack://_N_E/./src/ui/Icons/assets/images/eternl.png","webpack://_N_E/./src/ui/Icons/components/EternlLogo.tsx","webpack://_N_E/./src/ui/Icons/components/MetamaskLogo.tsx","webpack://_N_E/./src/ui/Icons/components/NamiLogo.tsx","webpack://_N_E/./src/ui/Common/components/WalletLogo/WalletLogo.tsx","webpack://_N_E/./src/ui/CreateWallet/components/LinkWallet/styles.ts","webpack://_N_E/./src/ui/Icons/components/LinkWalletIcon.tsx","webpack://_N_E/./src/ui/CreateWallet/components/LinkWallet/LinkWallet.tsx"],"sourcesContent":["import { CryptoUserError } from 'crypto/interface'\nimport { useCallback } from 'react'\nimport { Button, ButtonVariant } from 'ui/Common/components/Button'\nimport {\n NotificationType,\n useNotifications,\n} from 'ui/Common/components/Notifications'\nimport { AddNotificationType } from 'ui/Common/components/Notifications/interface'\n\n/**\n * Hook that wraps multiple steps of reporting crypto user errors.\n *\n * This is targeted specifically crypto errors.\n * For other types of errors another helper should be created.\n */\nexport function useReportCryptoUserError() {\n const { addNotification, removeNotification } = useNotifications()\n\n const reportCryptoUserError = useCallback(\n (message: string, error: unknown, actionCallback?: () => void) => {\n let newNotificationId: string | undefined = undefined\n const notification = cryptoErrorToNotification(error)\n const isInfo = notification?.type === NotificationType.Info\n\n function handleButtonClick() {\n actionCallback?.()\n\n if (newNotificationId) {\n removeNotification(newNotificationId)\n }\n }\n\n // action - only on \"INSUFFICIENT_COLLATERAL\" error\n const actions =\n error instanceof CryptoUserError &&\n error.code === 'INSUFFICIENT_COLLATERAL'\n ? [\n \n LEARN MORE\n ,\n ]\n : undefined\n\n // create error notification\n newNotificationId = addNotification({\n title: isInfo ? undefined : message,\n content: notification?.content,\n type: notification?.type || NotificationType.Error,\n // if info, don't persist notification\n persist: !isInfo,\n actions,\n })\n\n // log error\n console.error(error)\n },\n [addNotification, removeNotification]\n )\n\n return { reportCryptoUserError }\n}\n\n/** Crypto error notifications */\nconst CRYPTO_ERROR_NOTIFICATIONS: Record = {\n // --- Crypto user notifications\n //\n CANNOT_COVER_FEE: {\n content: 'Not enough ADA on wallet for fee',\n type: NotificationType.Error,\n },\n NOT_ENOUGH_MONEY: {\n content: 'Not enough funds on wallet',\n type: NotificationType.Error,\n },\n INSUFFICIENT_COLLATERAL: {\n content: 'Please add collateral to your wallet',\n type: NotificationType.Error,\n },\n //\n INSUFFICIENT_TRANSACTION_INPUT: {\n content: 'Not enough ada for transaction fee',\n type: NotificationType.Error,\n },\n INSUFFICIENT_MATIC_FUND: {\n content: 'Not enough MATIC for transaction fee',\n type: NotificationType.Error,\n },\n INSUFFICIENT_ADA_FUND: {\n content: 'Not enough ADA for transaction fee',\n type: NotificationType.Error,\n },\n //\n CANNOT_BALANCE_BY_AKAMON_API: {\n content: 'Cannot balance transaction due to insufficient funds',\n type: NotificationType.Error,\n },\n //\n NAMI_NOT_LINKED: {\n content: 'Nami is not linked',\n type: NotificationType.Error,\n },\n NAMI_TRANSACTION_CANCELED: {\n content: 'Transaction canceled',\n type: NotificationType.Info,\n },\n NAMI_UNEXPECTED_ERROR: {\n content: 'Unexpected Nami error',\n type: NotificationType.Error,\n },\n ETERNL_NOT_LINKED: {\n content: 'Eternl is not linked',\n type: NotificationType.Error,\n },\n ETERNL_TRANSACTION_CANCELED: {\n content: 'Transaction canceled',\n type: NotificationType.Info,\n },\n ETERNL_UNEXPECTED_ERROR: {\n content: 'Unexpected Eternl error',\n type: NotificationType.Error,\n },\n METAMASK_TRANSACTION_CANCELED: {\n content: 'Transaction canceled',\n type: NotificationType.Info,\n },\n NETWORK_SWITCH_REJECTED: {\n content: 'Network switch rejected',\n type: NotificationType.Info,\n },\n}\n\n/**\n * Map crypto error object to notification interface.\n *\n * If code or label for that code is not found it fallbacks to technical message.\n */\nexport function cryptoErrorToNotification(\n error: unknown\n): AddNotificationType | undefined {\n const code = error instanceof CryptoUserError && error.code\n if (code) {\n return CRYPTO_ERROR_NOTIFICATIONS[code]\n }\n}\n","import styled, { keyframes } from 'styled-components'\n\nconst _backdrop = keyframes`\n from {\n backdrop-filter: blur(0);\n background-color: rgba(0, 0, 0, 0);\n } to {\n backdrop-filter: blur(4px);\n background-color: rgba(0, 0, 0, 0.2);\n }\n`\n\nexport const Backdrop = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100;\n height: 100%;\n width: 100%;\n\n animation: ${_backdrop} 0.1s;\n animation-fill-mode: forwards;\n`\n\nconst _close = keyframes`\n from {\n transform: scale(0);\n } to {\n transform: scale(1);\n }\n`\n\nexport const CloseButton = styled.button`\n position: absolute;\n z-index: 20;\n top: ${(p) => p.theme.spacing.xxs}px;\n left: ${(p) => p.theme.spacing.xxs}px;\n outline: none;\n border: none;\n cursor: pointer;\n width: ${(p) => p.theme.spacing.m}px;\n height: ${(p) => p.theme.spacing.m}px;\n border-radius: ${(p) => p.theme.container.borderRadius.xss}px;\n line-height: ${(p) => p.theme.spacing.m}px;\n\n transform: scale(0);\n\n animation: ${_close} 0.1s ease-in;\n animation-fill-mode: forwards;\n animation-delay: 0.6s;\n\n background-color: ${(p) => p.theme.colors.grey.grey3};\n\n :hover {\n background-color: ${(p) => p.theme.colors.grey.grey4};\n }\n`\n\nexport const Content = styled.div`\n height: 100%;\n width: 100%;\n`\n\nconst _wrapper = keyframes`\n from {\n top: 50px;\n opacity:0;\n } to {\n top: 0;\n opacity: 1;\n }\n`\n\nexport const Popup = styled.div`\n & .ma-popup__wrapper--center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n & .ma-popup__wrapper--bottomLeft {\n top: auto;\n bottom: ${(p) => p.theme.spacing.mm}px;\n left: ${(p) => p.theme.spacing.m}px;\n }\n\n & .ma-popup__wrapper--bottomRight {\n top: auto;\n bottom: ${(p) => p.theme.spacing.mm}px;\n right: ${(p) => p.theme.spacing.m}px;\n }\n\n & .ma-popup__wrapper--topLeft {\n top: ${(p) => p.theme.spacing.mm}px;\n bottom: auto;\n left: ${(p) => p.theme.spacing.m}px;\n }\n\n & .ma-popup__wrapper--topRight {\n top: ${(p) => p.theme.spacing.mm}px;\n bottom: auto;\n right: ${(p) => p.theme.spacing.m}px;\n }\n`\n\nexport const Wrapper = styled.div`\n z-index: 101;\n position: absolute;\n\n > ${Content} {\n opacity: 0;\n\n animation: ${_wrapper} 0.3s ease-in;\n animation-delay: 0.1s;\n animation-fill-mode: forwards;\n }\n`\n","import * as S from './styles'\nimport { ReactNode, useEffect } from 'react'\nimport { createPortal } from 'react-dom'\nimport { CloseIcon } from 'ui/Icons/components/CloseIcon'\n\nexport type PositionVariant =\n | 'center'\n | 'bottomLeft'\n | 'bottomRight'\n | 'topLeft'\n | 'topRight'\n\ninterface PopupInterface {\n children: ReactNode\n position?: PositionVariant\n onClose?: () => void\n}\n\nexport function Popup({\n onClose,\n children,\n position = 'center',\n}: PopupInterface) {\n useEffect(() => {\n // prevent scrolling of a page content\n document.body.style.overflow = 'hidden'\n\n return () => {\n document.body.style.overflow = 'initial'\n }\n }, [])\n\n // render popup outside of current container to avoid possible overflows and relative parents\n return createPortal(\n \n \n\n \n \n \n \n\n {children}\n \n ,\n document.body\n )\n}\n","export default {\"src\":\"/_next/static/media/eternl.910a1bc6.png\",\"height\":128,\"width\":128,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAABE0lEQVR4nAEIAff+Abvlf5ibFTxL7fwp4vn4GQAK7gEBCvAA/ArxAB4F9wC4Afu7H+O8LlY8SRZcIUbrJhUP3QgBDOz//gL8ANcD+wC1Af+iIcUAC997vTOOsEQWb7BR1QL4Duj/Bgf2AIgJ8gCmAf6ONcX+Ag+QA/a8THR6/3wfZ/tm8BIF9P0J/6z5CwCuAf54SMX+6hyQA/zxTAETqnyQ/v1m7RMD9AP//6wC/ACuAf5lW8UB5hJ79/sYsNwFLbDjAiv45wcfBvgLA4j2Ev+mAf5TbOMB8Qo87gIbIeYGIxXfByoB6wYb/vgEBtf9B/+1Af9IdZj5/Q5L7AMa4u4EFwDuAxgB8AMV/O8EFh/4BQi3Fc15OOYmyM8AAAAASUVORK5CYII=\"};","import Image from '../assets/images/eternl.png'\nimport * as React from 'react'\n\n// This is a placeholder, just embedded Eternl image\nexport const EternlLogo: React.VFC> = (props) => {\n return (\n \n \n \n \n )\n}\n\nexport default EternlLogo\n","import * as React from 'react'\n\nfunction MetamaskLogo(props: React.SVGProps) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default MetamaskLogo\n","import * as React from 'react'\n\nfunction NamiLogo(props: React.SVGProps) {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default NamiLogo\n","import { WalletId } from 'crypto/interface'\nimport React from 'react'\nimport EternlLogo from 'ui/Icons/components/EternlLogo'\nimport MeldLogo from 'ui/Icons/components/MeldLogo'\nimport MetamaskLogo from 'ui/Icons/components/MetamaskLogo'\nimport NamiLogo from 'ui/Icons/components/NamiLogo'\n\nfunction WalletLogo({\n walletId,\n ...props\n}: { walletId: WalletId } & React.SVGProps) {\n switch (walletId) {\n case 'metamask':\n return \n case 'nami':\n return \n case 'eternl':\n return \n default:\n return \n }\n}\n\nexport default WalletLogo\n","import styled from 'styled-components'\n\nexport const Header = styled.div`\n height: 298px;\n position: relative;\n`\n\nexport const CloseIcon = styled.div`\n top: 8px;\n left: 0;\n position: absolute;\n\n cursor: pointer;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n\n background-color: ${(p) => p.theme.colors.grey.grey3};\n\n > svg {\n margin: auto;\n display: block;\n height: 100%;\n }\n`\n\nexport const LinkWallet = styled.div`\n width: 592px;\n padding: 0 8px 4px;\n border-radius: 12px;\n box-shadow: 0 32px 64px 0 rgba(0, 0, 0, 0.1);\n background-color: #f2f3f4;\n`\n\nexport const WalletListItem = styled.div`\n width: 576px;\n height: 88px;\n padding: 30px 32px 30px 44px;\n margin-bottom: 4px;\n border-radius: 8px;\n background-color: #fff;\n\n justify-content: space-between;\n\n display: flex;\n align-items: center;\n`\n","import React from 'react'\n\nexport const LinkWalletIcon = (props: React.SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n","import * as S from './styles'\nimport { push } from '@socialgouv/matomo-next'\nimport { useReportCryptoUserError } from 'app/containers/utils/errorHelpers'\nimport { LinkResult, LinkWalletStatus } from 'crypto/interface'\nimport React, { ReactNode, useCallback } from 'react'\nimport Box from 'ui/Common/components/Box'\nimport { Button, ButtonVariant } from 'ui/Common/components/Button'\nimport {\n NotificationType,\n useNotifications,\n} from 'ui/Common/components/Notifications'\nimport Text from 'ui/Common/components/Text'\nimport WalletLogo from 'ui/Common/components/WalletLogo'\nimport { isAkamonEnabled, isEternlEnabled } from 'ui/Common/config'\nimport { LinkWalletIcon } from 'ui/Icons/components/LinkWalletIcon'\n\nfunction Header() {\n return (\n \n {/* \n \n */}\n \n \n \n LINK WALLET\n \n \n \n )\n}\n\ntype WalletListItemProps = {\n name: string\n link: () => Promise\n status: LinkWalletStatus\n icon: ReactNode\n onSuccess: () => void\n comingSoon?: boolean\n}\n\nfunction WalletListItem({\n name,\n link,\n status,\n icon,\n onSuccess,\n comingSoon,\n}: WalletListItemProps) {\n const { addNotification } = useNotifications()\n\n return (\n \n \n {icon}\n \n {name}\n \n \n {\n if (comingSoon) return\n const result = await link()\n if (result === 'ok') {\n addNotification({\n type: NotificationType.Success,\n content: `Successfully connected ${name}!`,\n })\n push(['trackEvent', 'Wallet', 'LinkWallet', name])\n\n onSuccess()\n\n return\n }\n addNotification({\n type: NotificationType.Error,\n content: `Failed to connect ${name}!`,\n })\n }}\n disabled={comingSoon || status !== 'unlinked'}\n // Style override for a disabled state of the secondary button variant\n style={\n comingSoon\n ? {\n color: '#e5e6eb',\n borderColor: '#e5e6eb',\n backgroundColor: '#fff',\n }\n : {}\n }\n >\n {comingSoon\n ? 'Coming soon'\n : status === 'linked'\n ? 'CONNECTED'\n : status === 'linking'\n ? 'LINKING'\n : status === 'unavailable'\n ? 'UNAVAILABLE'\n : 'CONNECT'}\n \n \n )\n}\n\nfunction LinkWallet({\n linkMetamask,\n linkNami,\n linkEternl,\n metamaskStatus,\n namiStatus,\n eternlStatus,\n onSuccess,\n}: {\n linkMetamask: () => Promise\n linkNami: () => Promise\n linkEternl: () => Promise\n metamaskStatus: LinkWalletStatus\n namiStatus: LinkWalletStatus\n eternlStatus: LinkWalletStatus\n onSuccess: () => void\n}) {\n const { reportCryptoUserError } = useReportCryptoUserError()\n\n const linkMetamaskInSwitch = useCallback(async () => {\n return await linkMetamask().catch((error) => {\n reportCryptoUserError('Chain switch failed', error)\n if (error.code === 'NETWORK_SWITCH_REJECTED') return 'ok'\n else return 'unknown'\n })\n }, [linkMetamask, reportCryptoUserError])\n\n return (\n \n
\n }\n onSuccess={onSuccess}\n comingSoon={!isAkamonEnabled}\n />\n }\n onSuccess={onSuccess}\n />\n {isEternlEnabled && (\n }\n onSuccess={onSuccess}\n />\n )}\n \n )\n}\n\nexport default LinkWallet\n"],"names":["useReportCryptoUserError","useNotifications","addNotification","removeNotification","reportCryptoUserError","useCallback","message","error","actionCallback","newNotificationId","undefined","notification","code","CryptoUserError","CRYPTO_ERROR_NOTIFICATIONS","cryptoErrorToNotification","isInfo","type","NotificationType","actions","Button","variant","ButtonVariant","onClick","title","content","persist","console","CANNOT_COVER_FEE","NOT_ENOUGH_MONEY","INSUFFICIENT_COLLATERAL","INSUFFICIENT_TRANSACTION_INPUT","INSUFFICIENT_MATIC_FUND","INSUFFICIENT_ADA_FUND","CANNOT_BALANCE_BY_AKAMON_API","NAMI_NOT_LINKED","NAMI_TRANSACTION_CANCELED","NAMI_UNEXPECTED_ERROR","ETERNL_NOT_LINKED","ETERNL_TRANSACTION_CANCELED","ETERNL_UNEXPECTED_ERROR","METAMASK_TRANSACTION_CANCELED","NETWORK_SWITCH_REJECTED","_backdrop","keyframes","Backdrop","styled","_close","CloseButton","p","theme","spacing","xxs","m","container","borderRadius","xss","colors","grey","grey3","grey4","Content","_wrapper","Popup","mm","Wrapper","onClose","children","position","useEffect","document","body","style","overflow","createPortal","S","className","CloseIcon","width","height","fill","props","svg","viewBox","circle","cx","cy","r","image","xlinkHref","Image","x","y","xmlns","g","transform","fillRule","stroke","strokeWidth","path","d","walletId","MetamaskLogo","NamiLogo","EternlLogo","MeldLogo","Header","LinkWallet","WalletListItem","LinkWalletIcon","Box","flexDirection","alignItems","justifyContent","Text","color","name","link","status","icon","onSuccess","comingSoon","textTransform","marginLeft","push","disabled","borderColor","backgroundColor","linkMetamask","linkNami","linkEternl","metamaskStatus","namiStatus","eternlStatus","linkMetamaskInSwitch","catch","WalletLogo","isAkamonEnabled","isEternlEnabled"],"sourceRoot":""}