{"version":3,"sources":["providerOptions.js","util/interact.js","HelloWorld.js","0xlogo.svg","example.js","App.js","reportWebVitals.js","index.js"],"names":["providerOptions","walletlink","package","CoinbaseWalletSDK","options","appName","infuraId","process","INFURA_KEY","require","config","price","web3","createAlchemyWeb3","contractABI","helloWorldContract","eth","Contract","window","Web3Modal","default","WalletConnectProvider","Fortmatic","evmChains","BigNumber","web3Modal","cacheProvider","newMessage","HelloWorld","useState","status","setStatus","newMessage_","setNewMessage","pricemessage","setPrice","setProvider","setLibrary","account","setAccount","useEffect","a","cachedProvider","connectWallet","addEventListener","onUpdatePressed","length","substring","test","toLowerCase","methods","registryIsPossible","call","searchName","registeredaddress","cost","addNameToRegistry","send","from","value","err","res","console","log","onChangeFunc","e","len","target","substr","temp","connect","provider","library","ethers","providers","Web3Provider","listAccounts","accounts","getNetwork","disconnect","clearCachedProvider","id","src","logo","width","height","className","onClick","String","type","placeholder","onChange","onKeyPress","key","App","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","xmlns","fill","class","viewBox","d","document","getElementById"],"mappings":"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","file":"static/js/main.107e7de6.chunk.js","sourcesContent":["import WalletConnect from \"@walletconnect/web3-provider\";\nimport CoinbaseWalletSDK from \"@coinbase/wallet-sdk\";\nimport walletlink from 'walletlink';\nconst rpcUrl = `https://eth-ropsten.alchemyapi.io/v2/gAQOlZdHS3eIpGULYGNg2jRhyxwmA-DS`;\n\nexport const providerOptions = {\n walletlink: {\n package: CoinbaseWalletSDK, // Required\n options: {\n appName: \"Web 3 Modal Demo\", // Required\n infuraId: process.env.INFURA_KEY // Required unless you provide a JSON RPC url; see `rpc` below\n }\n },\n // mewconnect: {\n // package: () => import('@myetherwallet/mewconnect-web-client'),\n // packageFactory: true,\n // options: {\n // rpc: rpcUrl,\n // description: ''\n // }\n // },\n // walletlink: {\n // package: walletlink,\n // // packageFactory: true,\n // options: {\n // appName: 'Web 3 Modal Demo',\n // jsonRpcUrl: rpcUrl,\n // }\n // },\n\n // walletconnect: {\n // package: WalletConnect, // required\n // options: {\n // infuraId: process.env.INFURA_KEY // required\n // }\n // }\n};","require('dotenv').config();\nconst alchemyKey = 'https://eth-ropsten.alchemyapi.io/v2/gAQOlZdHS3eIpGULYGNg2jRhyxwmA-DS';//process.env.REACT_APP_ALCHEMY_KEY;\nconst { createAlchemyWeb3 } = require(\"@alch/alchemy-web3\");\nconst web3 = createAlchemyWeb3(alchemyKey);\nconst contractABI = require(\"../contract-abi.json\");\nconst contractAddress = \"0xdAe246C410723c361991c7eF94C259898AcBEAa1\";\n\n\n\nexport const helloWorldContract = new web3.eth.Contract(\n contractABI,\n contractAddress\n);\n\n//export const helloWorldContract;\n\nexport const loadCurrentMessage = async () => { \n //const balance = await helloWorldContract.methods.getBalance().call();\n // console.log(balance);\n //return balance;\n};\n\nexport const disconnectWallet = async () => {\n\n}\n\n\n\n\nexport const connectWallet = async () => {\n if (window.ethereum) {\n try {\n const addressArray = await window.ethereum.request({\n method: \"eth_requestAccounts\",\n });\n const obj = {\n // status: \"👆🏽 Write a domain in the text-field above.\",\n status:\"\",\n address: addressArray[0],\n };\n return obj;\n } catch (err) {\n return {\n address: \"\",\n status: \"😥 \" + err.message,\n };\n }\n }\n else {\n return {\n address: \"\",\n status: \" You must install Metamask, a virtual Ethereum wallet, in your browser.\" \n }; \n }\n \n};\n\nexport const getCurrentWalletConnected = async () => {\n if (window.ethereum) {\n try {\n const addressArray = await window.ethereum.request({\n method: \"eth_accounts\",\n });\n if (addressArray.length > 0) {\n return {\n address: addressArray[0],\n // status: \"👆🏽 Write a domain in the text-field above.\",\n status:\"\",\n };\n } else {\n return {\n address: \"\",\n // status: \"🦊 Connect to Metamask using the top right button.\",\n status:\"\",\n };\n }\n } catch (err) {\n return {\n address: \"\",\n status: \"😥 \" + err.message,\n };\n }\n } \n else {\n return {\n address: \"\",\n status: \" You must install Metamask, a virtual Ethereum wallet, in your browser.\" \n }; \n }\n};\n\nexport const updateMessage = async (address, message) => {\n \n};\n","import React from \"react\";\nimport { useEffect, useState } from \"react\";\n// import { ConnectWallet } from \"@3rdweb/react\";\n// import { useWeb3 } from \"@3rdweb/hooks\";\nimport Web3Modal from \"web3modal\";\nimport { ethers } from \"ethers\";\nimport { providerOptions } from \"./providerOptions\";\nimport {\n helloWorldContract,\n connectWallet,\n updateMessage,\n loadCurrentMessage,\n getCurrentWalletConnected,\n disconnectWallet,\n} from \"./util/interact.js\";\n\nimport {\n init,\n onConnect,\n onDisconnect,\n refreshAccountData,\n fetchAccountData,\n} from \"./example.js\"\n\nimport metamask from \"./metamask.png\";\nimport coinbase from \"./coinbase.png\"\nimport logo from \"./0xlogo.svg\";\nconst BigNumber = require('bignumber.js')\n\nconst web3Modal = new Web3Modal({\n cacheProvider: true, // optional\n providerOptions // required\n});\n\n\nlet newMessage = \"\";\nlet price;\n// const { address, chainId, provider } = useWeb3();\nconst HelloWorld = () => {\n //state variables\n // const [walletAddress, setWallet] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n const [message, setMessage] = useState(\"No connection to the network.\"); //default message\n const [newMessage_, setNewMessage] = useState(\"\");\n const [pricemessage, setPrice] = useState(\"\");\n const [provider, setProvider] = useState(\"\");\n const [library, setLibrary] = useState(\"\");\n const [account, setAccount] = useState(\"\");\n \n //called only once\n useEffect(async () => {\n // const message = await loadCurrentMessage();\n // setMessage(message);\n// init();\n // addSmartContractListener();\n\n // const {address, status} = await getCurrentWalletConnected();\n // setWallet(address);\n // setStatus(status);\n\n // addWalletListener();\n\n if (web3Modal.cachedProvider) {\n connectWallet();\n }\n }, []);\n\n window.addEventListener('load', async () => {\n // alert(\"example\")\n \n // document.querySelector(\"#btn-connect\").addEventListener(\"click\", onConnect);\n // document.querySelector(\"#btn-disconnect\").addEventListener(\"click\", onDisconnect);\n });\n\n function addSmartContractListener() { //TODO: implement\n }\n\n function addWalletListener() { //TODO: implement\n // if (window.ethereum) {\n // window.ethereum.on(\"accountsChanged\", connectWallet);\n // }\n }\n\n // const connectWalletPressed = async () => { //TODO: implement\n // const walletResponse = await onConnect();\n // // setStatus(walletResponse.status);\n // setWallet(walletResponse);\n // alert(walletAddress)\n // };\n\n function containsSpecialChars(str) {\n const specialChars = /[`!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?~]/;\n return specialChars.test(str);\n }\n\n const onUpdatePressed = async () => { //TODO: implement\n setStatus(\"\")\n if(newMessage.length == 0){\n setStatus(\"Domain name cannot be empty!\")\n return;\n }\n if(newMessage.length >=3 )\n if(newMessage.substring(newMessage.length - 3) === \".0x\" ||newMessage.substring(newMessage.length - 3) === \".0X\")\n newMessage = newMessage.substring(0,newMessage.length - 3)\n if(containsSpecialChars(newMessage))\n {\n setStatus(\"Incorrect format!\")\n return\n }\n newMessage += '.0x'\n newMessage = newMessage.toLowerCase()\n setNewMessage(newMessage)\n setPrice('Price: '+price+' eth')\n \n\n const ispsble = await helloWorldContract.methods.registryIsPossible(newMessage).call();\n if(!ispsble){\n const registeredaddress = await helloWorldContract.methods.searchName(newMessage).call();\n setStatus(\"Unavailable: registered by \"+registeredaddress);\n return;\n }\n\n \n if(account == \"\"){\n setStatus(\"Connect to wallet using the top right button!\") \n return;\n }\n\n let cost = new BigNumber(1e+18)\n cost *= price;\n // alert(cost)\n await helloWorldContract.methods\n .addNameToRegistry(newMessage)\n .send({ from: account, value: cost }, function (err, res) {\n if (err) {\n console.log(\"An error occured\", err)\n return\n }\n console.log(\"Hash of the transaction: \" + res)\n })\n};\nconst onChangeFunc = async (e) =>\n {\n setNewMessage(\"\");\n setStatus(\"\")\n setPrice(\"\")\n let len = e.target.value.length;\n if(e.target.value.length >= 3 )\n if(e.target.value.substr(e.target.value.length - 3) == \".0x\")\n len -= 3;\n var temp;\n if(len > 4) \n temp = 1;\n else temp = 20 - (len - 1 ) * 5;\n \n if(temp > 20)\n temp = 20; \n // setPrice(temp);\n price = temp;\n\n newMessage = e.target.value;\n // newMessage +='.0x'\n // const ispsble = await helloWorldContract.methods.registryIsPossible(newMessage).call();\n // if(!ispsble){\n // const registeredaddress = await helloWorldContract.methods.searchName(newMessage).call();\n // setStatus(\"Unavailable: registered by \"+registeredaddress);\n // return;\n // }\n }\n\n\n\n\n\n const connectWallet = async () => {\n // try {\n const provider = await web3Modal.connect();\n const library = new ethers.providers.Web3Provider(provider);\n const accounts = await library.listAccounts();\n const network = await library.getNetwork();\n setProvider(provider);\n setLibrary(library);\n if (accounts){\n setAccount(accounts[0]);\n }\n // alert(accounts)\n // setChainId(network.chainId);\n // } \n // catch (error) {\n // setError(error);\n // }\n };\n const refreshState = () => {\n setAccount(\"\");\n // setChainId();\n // setNetwork(\"\");\n // setMessage(\"\");\n // setSignature(\"\");\n // setVerified(undefined);\n };\n\n const disconnect = async () => {\n await web3Modal.clearCachedProvider();\n refreshState();\n };\n\n //the UI of our component\n return (\n
\n \n{/* \n */}\n\n\n
\n {\n !account ? (\n \n ) : (\n \n )\n }\n
\n\n {/*

Your One Time Purchase Customizable Web3 Username

*/}\n {/*

{message}

*/}\n\n \n
\n

{newMessage_}

\n

{pricemessage}

\n {\n if (e.key === \"Enter\") {\n onUpdatePressed()\n }\n }}\n />\n \n

{status}

\n
\n
\n\n \n
\n
\n \n\n );\n};\n\nexport default HelloWorld;\n","export default __webpack_public_path__ + \"static/media/0xlogo.37da5934.svg\";","// \"use strict\";\nimport Web3 from \"web3\";\n/**\n * Example JavaScript code that interacts with the page and Web3 wallets\n */\n\n // Unpkg imports\nconst Web3Modal = window.Web3Modal.default;\nconst WalletConnectProvider = window.WalletConnectProvider.default;\nconst Fortmatic = window.Fortmatic;\nconst evmChains = window.evmChains;\n\n// Web3modal instance\nlet web3Modal\n\n// Chosen wallet provider given by the dialog window\nlet provider;\n\n\n// Address of the selected account\nlet selectedAccount;\n\n\n/**\n * Setup the orchestra\n */\nexport const init = async () => {\n\n console.log(\"Initializing example\");\n console.log(\"WalletConnectProvider is\", WalletConnectProvider);\n console.log(\"Fortmatic is\", Fortmatic);\n console.log(\"window.web3 is\", window.web3, \"window.ethereum is\", window.ethereum);\n\n // Check that the web page is run in a secure context,\n // as otherwise MetaMask won't be available\n // if(location.protocol !== 'https:') {\n // // https://ethereum.stackexchange.com/a/62217/620\n // const alert = document.querySelector(\"#alert-error-https\");\n // alert.style.display = \"block\";\n // document.querySelector(\"#btn-connect\").setAttribute(\"disabled\", \"disabled\")\n // return;\n // }\n\n // Tell Web3modal what providers we have available.\n // Built-in web browser provider (only one can exist as a time)\n // like MetaMask, Brave or Opera is added automatically by Web3modal\n const providerOptions = {\n walletconnect: {\n package: WalletConnectProvider,\n options: {\n // Mikko's test key - don't copy as your mileage may vary\n infuraId: \"8043bb2cf99347b1bfadfb233c5325c0\",\n }\n },\n\n fortmatic: {\n package: Fortmatic,\n options: {\n // Mikko's TESTNET api key\n key: \"pk_test_391E26A3B43A3350\"\n }\n }\n };\n\n web3Modal = new Web3Modal({\n cacheProvider: false, // optional\n providerOptions, // required\n disableInjectedProvider: false, // optional. For MetaMask / Brave / Opera.\n });\n\n console.log(\"Web3Modal instance is\", web3Modal);\n}\n\n\n/**\n * Kick in the UI action after Web3modal dialog has chosen a provider\n */\nexport const fetchAccountData = async () => {\n\n // Get a Web3 instance for the wallet\n const web3 = new Web3(provider); \n console.log(\"Web3 instance is\", web3);\n\n // Get connected chain id from Ethereum node\n const chainId = await web3.eth.getChainId();\n // Load chain information over an HTTP API\n const chainData = evmChains.getChain(chainId);\n // document.querySelector(\"#network-name\").textContent = chainData.name;\n\n // Get list of accounts of the connected wallet\n const accounts = await web3.eth.getAccounts();\n\n // MetaMask does not give you all accounts, only the selected account\n console.log(\"Got accounts\", accounts);\n selectedAccount = accounts[0];\n\n // document.querySelector(\"#selected-account\").textContent = selectedAccount;\n\n // // Get a handl\n // const template = document.querySelector(\"#template-balance\");\n // const accountContainer = document.querySelector(\"#accounts\");\n\n // // Purge UI elements any previously loaded accounts\n // accountContainer.innerHTML = '';\n\n // // Go through all accounts and get their ETH balance\n // const rowResolvers = accounts.map(async (address) => {\n // const balance = await web3.eth.getBalance(address);\n // // ethBalance is a BigNumber instance\n // // https://github.com/indutny/bn.js/\n // const ethBalance = web3.utils.fromWei(balance, \"ether\");\n // const humanFriendlyBalance = parseFloat(ethBalance).toFixed(4);\n // // Fill in the templated row and put in the document\n // const clone = template.content.cloneNode(true);\n // clone.querySelector(\".address\").textContent = address;\n // clone.querySelector(\".balance\").textContent = humanFriendlyBalance;\n // accountContainer.appendChild(clone);\n // }\n // );\n\n // // Because rendering account does its own RPC commucation\n // // with Ethereum node, we do not want to display any results\n // // until data for all accounts is loaded\n // await Promise.all(rowResolvers);\n\n // Display fully loaded UI for wallet data\n document.querySelector(\"#prepare\").style.display = \"none\";\n document.querySelector(\"#connected\").style.display = \"block\";\n return selectedAccount;\n}\n\n\n\n/**\n * Fetch account data for UI when\n * - User switches accounts in wallet\n * - User switches networks in wallet\n * - User connects wallet initially\n */\nexport const refreshAccountData = async() => {\n\n // If any current data is displayed when\n // the user is switching acounts in the wallet\n // immediate hide this data\n document.querySelector(\"#connected\").style.display = \"none\";\n document.querySelector(\"#prepare\").style.display = \"block\";\n\n // Disable button while UI is loading.\n // fetchAccountData() will take a while as it communicates\n // with Ethereum node via JSON-RPC and loads chain data\n // over an API call.\n document.querySelector(\"#btn-connect\").setAttribute(\"disabled\", \"disabled\")\n await fetchAccountData(provider);\n document.querySelector(\"#btn-connect\").removeAttribute(\"disabled\")\n}\n\n\n/**\n * Connect wallet button pressed.\n */\nexport const onConnect = async() => {\n\n console.log(\"Opening a dialog\", web3Modal);\n try {\n provider = await web3Modal.connect();\n } catch(e) {\n console.log(\"Could not get a wallet connection\", e);\n return;\n }\n\n // Subscribe to accounts change\n provider.on(\"accountsChanged\", (accounts) => {\n fetchAccountData();\n });\n\n // Subscribe to chainId change\n provider.on(\"chainChanged\", (chainId) => {\n fetchAccountData();\n });\n\n // Subscribe to networkId change\n provider.on(\"networkChanged\", (networkId) => {\n fetchAccountData();\n });\n\n await refreshAccountData();\n}\n\n/**\n * Disconnect wallet button pressed.\n */\nexport const onDisconnect = async() => {\n\n console.log(\"Killing the wallet connection\", provider);\n\n // TODO: Which providers have close method?\n if(provider.close) {\n await provider.close();\n\n // If the cached provider is not cleared,\n // WalletConnect will default to the existing session\n // and does not allow to re-scan the QR code with a new wallet.\n // Depending on your use case you may want or want not his behavir.\n await web3Modal.clearCachedProvider();\n provider = null;\n }\n\n selectedAccount = null;\n\n // Set the UI back to the initial state\n document.querySelector(\"#prepare\").style.display = \"block\";\n document.querySelector(\"#connected\").style.display = \"none\";\n}\n\n\n/**\n * Main entry point.\n */\n// window.addEventListener('load', async () => {\n// init();\n// document.querySelector(\"#btn-connect\").addEventListener(\"click\", onConnect);\n// document.querySelector(\"#btn-disconnect\").addEventListener(\"click\", onDisconnect);\n// });\n","import HelloWorld from './HelloWorld'\nimport './App.css';\n\n// import { ThirdwebProvider } from \"@3rdweb/react\";\n// const supportedChainIds = [1, 4, 137];\n// const connectors = {\n// injected: {}\n// };\nfunction App() {\n return (\n
\n\n \n\n
\n // \n // \n // \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport copyright from './copyright.png';\n\nReactDOM.render(\n \n \n
© 2020 All rights reserved
\n
About us
\n
\n \n \n \n    \n \n \n \n    \n \n \n \n    \n \n \n \n
\n
\n
,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}