{"version":3,"file":"4384.js","mappings":"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","sources":["webpack://new_ui/./src/components/Icons/OutlineWalletIcon.js","webpack://new_ui/./src/components/Web3/PhantomWalletConnector.js","webpack://new_ui/./src/components/ConnectButtons.js"],"sourcesContent":["export default function OutlineWalletIcon() {\n return (\n \n \n \n );\n}\n","import React, { useState } from 'react';\r\nimport { SiweMessage } from 'siwe';\r\nimport {encode} from \"bs58\";\r\nimport {useNotifications} from \"../../context/NotificationsContext\";\r\n\r\n\r\nfunction ArrowDownIcon() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction ArrowLeftIcon() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst SUPPORTED_NETWORKS = [\r\n {\r\n network: 'Solana',\r\n icon: '/static/images/solana.png',\r\n },\r\n {\r\n network: 'Ethereum',\r\n icon: '/static/images/ethereum.png',\r\n },\r\n {\r\n network: 'Polygon',\r\n icon: '/static/images/ethereum.png',\r\n },\r\n {\r\n network: 'Bitcoin',\r\n icon: '/static/images/ordinals.png',\r\n }\r\n];\r\n\r\nconst PhantomWalletConnector = ({onSignSolanaMessage, onSignOrdinalsMessage, onSignMessage, setIsSigninMessage, nonce, onlyEthereumNetwork = false, small=false }) => {\r\n const [openDropdown, setOpenDropdown] = useState(false);\r\n const { sendNotification } = useNotifications();\r\n const supportedNetworks = onlyEthereumNetwork ? [{\r\n network: 'Ethereum',\r\n icon: '/static/images/ethereum.png',\r\n }] : SUPPORTED_NETWORKS\r\n const getProvider = async (network) => {\r\n if ('phantom' in window) {\r\n let selectedProvider;\r\n switch (network) {\r\n case 'ethereum':\r\n case 'polygon':\r\n selectedProvider = window.phantom?.ethereum;\r\n break;\r\n case 'bitcoin':\r\n selectedProvider = window.phantom?.bitcoin;\r\n break;\r\n case 'solana':\r\n selectedProvider = window.phantom?.solana;\r\n break;\r\n default:\r\n throw new Error('Invalid network specified');\r\n }\r\n\r\n if (selectedProvider && selectedProvider.isPhantom) {\r\n return selectedProvider;\r\n } else {\r\n window.open('https://phantom.app/', '_blank');\r\n }\r\n }\r\n };\r\n\r\n const signSolanaMessage = async (network) => {\r\n const provider = await getProvider(network);\r\n try {\r\n const resp = await provider.connect();\r\n const message = \"Sign in with Solana to the Virtue Poker.\";\r\n const encodedMessage = new TextEncoder().encode(message);\r\n const signedMessage = await provider.signMessage(encodedMessage, \"utf8\");\r\n const payload = {\r\n message,\r\n address: resp.publicKey.toString(),\r\n signature: encode(signedMessage?.signature),\r\n }\r\n onSignSolanaMessage(payload)\r\n } catch (err) {\r\n provider.disconnect();\r\n throw err;\r\n }\r\n }\r\n\r\n const signInPhantomBitcoin = async (network) => {\r\n const phantomProvider = await getProvider(network);\r\n try {\r\n const accounts = await phantomProvider.requestAccounts();\r\n if (accounts.length > 0 && (accounts[0].purpose === \"ordinals\" || accounts[1].purpose === \"ordinals\")) {\r\n const address = accounts[0].address;\r\n const message = \"Sign in with Bitcoin phantom to the Virtue Poker.\";\r\n const encodedMessage = new TextEncoder().encode(message);\r\n const { signature } = await phantomProvider.signMessage(address, encodedMessage);\r\n const payload = { message, address: address, signature: signature }\r\n onSignOrdinalsMessage(payload)\r\n }\r\n } catch (err) {\r\n // there is no disconnect method for bitcoin provider (see https://docs.phantom.app/bitcoin/establishing-a-connection)\r\n throw err;\r\n }\r\n }\r\n\r\n const signInPhantomEthereum = async (network) => {\r\n const phantomProvider = await getProvider(network);\r\n try{\r\n const accounts = await phantomProvider.request({\r\n method: \"eth_requestAccounts\", params: []\r\n })\r\n if (accounts.length > 0) {\r\n const from = accounts[0];\r\n // this structure is necessary for the backend to verify the signature\r\n const message = new SiweMessage({\r\n domain: window.location.host,\r\n \"address\": from,\r\n statement: \"Sign in with Ethereum (Phantom) to the Virtue Poker.\",\r\n uri: window.location.origin,\r\n version: \"1\",\r\n chainId: phantomProvider.chainId,\r\n nonce: nonce,\r\n }).prepareMessage();\r\n const signature = await phantomProvider.request({\r\n method: 'personal_sign',\r\n params: [message, from, 'Example password'],\r\n });\r\n if (onSignMessage) {\r\n onSignMessage({ message, signature });\r\n }\r\n }\r\n } catch (err) {\r\n // there is no disconnect method for ethereum provider (see https://docs.phantom.app/ethereum-and-polygon/establishing-a-connection)\r\n throw err;\r\n }\r\n }\r\n\r\n const handleNetworkSelection = async (network) => {\r\n setOpenDropdown(false);\r\n setIsSigninMessage(true);\r\n try {\r\n switch (network) {\r\n case 'solana':\r\n await signSolanaMessage(network);\r\n break;\r\n case 'ethereum':\r\n case 'polygon':\r\n await signInPhantomEthereum(network);\r\n break;\r\n case 'bitcoin':\r\n await signInPhantomBitcoin(network);\r\n break;\r\n default:\r\n sendNotification(\"error\", \"Unsupported network\");\r\n }\r\n } catch (error) {\r\n if (error.code === 4001) {\r\n sendNotification(\"warning\", \"Please sign the message to continue.\");\r\n } else {\r\n sendNotification(\"warning\", \"something went wrong trying to connect to Phantom, please try again.\");\r\n }\r\n } finally {\r\n setIsSigninMessage(false);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
setOpenDropdown(!openDropdown)}>\r\n \"phantom\"\r\n   {openDropdown ? () : ()}{\" \"}\r\n
\r\n Phantom\r\n
\r\n
\r\n {openDropdown && (\r\n
\r\n {supportedNetworks.map(({network, icon}) => (\r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default PhantomWalletConnector;\r\n","import React, { useEffect, useState } from \"react\"\r\nimport OutlineWalletIcon from \"../components/Icons/OutlineWalletIcon\";\r\nimport MetamaskIcon from \"./Icons/MetamaskIcon\";\r\nimport WalletConnectionIcon from \"./Icons/WalletConnectionIcon\";\r\nimport { useNotifications } from \"../context/NotificationsContext\";\r\n\r\nimport {\r\n ConnectorAlreadyConnectedError,\r\n ConnectorNotFoundError,\r\n ResourceUnavailableError,\r\n useAccount,\r\n useConnect,\r\n useNetwork,\r\n useSignMessage,\r\n} from 'wagmi';\r\nimport { SiweMessage } from \"siwe\"\r\nimport \"react-tooltip/dist/react-tooltip.css\";\r\nimport Loader from \"./AppMenu/Loader\";\r\nimport { disconnect } from '@wagmi/core'\r\nimport { OrdConnectKit, useOrdConnect, useSignMessage as useSignMessageOrdinals } from \"@ordzaar/ord-connect\";\r\nimport PhantomWalletConnector from \"./Web3/PhantomWalletConnector\";\r\nimport CoinBaseWalletConnector from \"./Web3/CoinBaseWalletConnector\";\r\n\r\nexport function ConnectButtons({ onSignMessage, onSignSolanaMessage, onSignCoinBaseMessage, onSignOrdinalsMessage, onlyEthereumNetwork = false, small = false, loaderClass = \"\", onConnect = null }) {\r\n const { address: ordinalAddress, wallet: ordinalWallet, disconnectWallet: disconnectOrdinals } = useOrdConnect();\r\n const { signMsg: signOrdinalWallet, error: signMessageError } = useSignMessageOrdinals();\r\n const { sendNotification } = useNotifications();\r\n const [nonce, setNonce] = useState(\"\");\r\n const [isConnected, setIsConnected] = useState(false);\r\n const { connectAsync, connectors, pendingConnector, isLoading, status, reset } = useConnect();\r\n const { address, isConnected: isWalletConnect } = useAccount();\r\n const [isSigninMessage, setIsSigninMessage] = useState(false)\r\n const { chain } = useNetwork();\r\n const signMessage = useSignMessage();\r\n const signMessageAsync = signMessage.signMessageAsync;\r\n const isLoadingSign = signMessage.isLoading;\r\n\r\n const [metamaskConnector, walletConnectConnector] = connectors;\r\n const disconectWallets = async () => {\r\n try { disconnectOrdinals() } catch (e) { }\r\n try { await disconnect() } catch (e) { }\r\n try {\r\n await walletConnectConnector.disconnect()\r\n reset()\r\n } catch (e) { }\r\n\r\n }\r\n const signIn = async () => {\r\n try {\r\n const chainId = chain?.id;\r\n if (!address || !chainId) return;\r\n const message = new SiweMessage({\r\n domain: window.location.host,\r\n address,\r\n statement: \"Sign in with Ethereum to the Virtue Poker.\",\r\n uri: window.location.origin,\r\n version: \"1\",\r\n chainId,\r\n nonce: nonce,\r\n }).prepareMessage();\r\n const signature = await signMessageAsync({ message });\r\n if (onSignMessage) {\r\n if (onConnect) { onConnect({ address }) }\r\n onSignMessage({ message, signature });\r\n\r\n }\r\n } catch (error) {\r\n await disconectWallets()\r\n }\r\n }\r\n\r\n const signInOrdinalWallet = async () => {\r\n const message = \"Sign in with Bitcoin ordinals to the Virtue Poker.\"\r\n const signed = await signOrdinalWallet(ordinalAddress?.ordinals, message);\r\n const payload = { message, address: ordinalAddress?.ordinals, signature: signed }\r\n onSignOrdinalsMessage(payload)\r\n setIsSigninMessage(false)\r\n }\r\n\r\n const isSafari = /constructor/i.test(window.HTMLElement) || (function (p) {\r\n return p.toString() === \"[object SafariRemoteNotification]\";\r\n })\r\n (!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification)\r\n );\r\n const isDisabled = (connector) => {\r\n return ((isLoading || isLoadingSign) && connector.id === pendingConnector?.id);\r\n }\r\n\r\n const connectWallet = async (connector) => {\r\n await disconectWallets()\r\n try {\r\n await connectAsync({ connector });\r\n setIsConnected(true);\r\n } catch (error) {\r\n try {\r\n if (error instanceof ConnectorAlreadyConnectedError) {\r\n setIsConnected(true);\r\n } else if (error instanceof ConnectorNotFoundError) {\r\n sendNotification(\"error\", \"Please install Metamask extension in your browser\");\r\n } else if (error instanceof ResourceUnavailableError) {\r\n sendNotification(\"info\", \"Please unlock your Metamask extension and try again\");\r\n } else {\r\n sendNotification(\"error\", error.message);\r\n }\r\n } catch (e) { }\r\n }\r\n }\r\n\r\n // Pre-fetch random nonce to ensure deep linking works for WalletConnect on iOS\r\n useEffect(() => {\r\n if (address && isConnected) {\r\n signIn();\r\n }\r\n }, [address, isConnected]);\r\n\r\n useEffect(() => {\r\n if (ordinalAddress?.ordinals) {\r\n setIsSigninMessage(true)\r\n signInOrdinalWallet()\r\n }\r\n }, [ordinalAddress?.ordinals])\r\n\r\n useEffect(() => {\r\n disconectWallets()\r\n }, [])\r\n\r\n return (\r\n <>\r\n {((isDisabled(walletConnectConnector) || isDisabled(metamaskConnector)) || isSigninMessage) && (\r\n \r\n

Check your wallet
and sign the message

\r\n \r\n \r\n )} />)}\r\n {!small &&
\r\n \r\n

\r\n Connect Your Wallet\r\n

\r\n
}\r\n\r\n \r\n {!isSafari && (\r\n \r\n )}\r\n connectWallet(walletConnectConnector)}\r\n >\r\n\r\n
\r\n \r\n
\r\n {isDisabled(walletConnectConnector) ? \"Check Wallet\" : walletConnectConnector.name}\r\n
\r\n
\r\n \r\n {!small && }\r\n\r\n {!onlyEthereumNetwork && <>\r\n onSignCoinBaseMessage(message)}\r\n setIsSigninMessage={setIsSigninMessage}\r\n nonce={nonce}\r\n chainId={chain?.id}\r\n buttonClassName={`flex items-center justify-center md:border-brand-dark-blue w-full min-w-[9.5rem] md:border-x-[0.05rem] text-white lg:w-[12.5rem] !h-[4.6rem] btn-gray`}\r\n />\r\n { }}\r\n customStyle={`!w-full !min-w-[9.5rem] lg:!w-[12.5rem] !h-[4.6rem] md:!border-x-[0.05rem] md:!rounded-l-[0px] md:!rounded-r-xl !border-[0.05rem] md:!border-brand-dark-blue btn-gray hidden md:block`}\r\n disableMobile={false}\r\n />\r\n }\r\n\r\n \r\n \r\n );\r\n}\r\n"],"names":["OutlineWalletIcon","xmlns","width","height","fill","viewBox","fillRule","d","clipRule","i","ArrowDownIcon","ArrowLeftIcon","SUPPORTED_NETWORKS","network","icon","onSignSolanaMessage","onSignOrdinalsMessage","onSignMessage","setIsSigninMessage","nonce","onlyEthereumNetwork","small","useState","openDropdown","setOpenDropdown","sendNotification","useNotifications","getProvider","window","selectedProvider","phantom","ethereum","bitcoin","solana","isPhantom","open","signSolanaMessage","provider","connect","resp","message","encodedMessage","TextEncoder","encode","signMessage","signedMessage","address","publicKey","toString","signature","disconnect","signInPhantomBitcoin","phantomProvider","requestAccounts","accounts","length","purpose","signInPhantomEthereum","request","method","params","from","SiweMessage","domain","location","host","statement","uri","origin","version","chainId","prepareMessage","handleNetworkSelection","code","className","onClick","src","alt","supportedNetworks","map","key","e","preventDefault","toLowerCase","charAt","toUpperCase","slice","ConnectButtons","onSignCoinBaseMessage","loaderClass","onConnect","useOrdConnect","ordinalAddress","disconnectOrdinals","wallet","disconnectWallet","useSignMessageOrdinals","signOrdinalWallet","signMsg","error","isConnected","setIsConnected","useConnect","connectAsync","connectors","pendingConnector","isLoading","reset","status","useAccount","isSigninMessage","chain","useNetwork","useSignMessage","signMessageAsync","isLoadingSign","metamaskConnector","walletConnectConnector","disconectWallets","signIn","id","signInOrdinalWallet","ordinals","signed","isSafari","test","HTMLElement","p","safari","pushNotification","isDisabled","connector","connectWallet","ConnectorAlreadyConnectedError","ConnectorNotFoundError","ResourceUnavailableError","useEffect","Loader","content","disabled","type","MetamaskIcon","name","WalletConnectionIcon","CoinBaseWalletConnector","buttonClassName","onViewProfile","customStyle","disableMobile"],"sourceRoot":""}