{"version":3,"sources":["components/claim-page.jsx","App.js","serviceWorker.js","index.js"],"names":["BACKEND_API2","MySwal","withReactContent","Swal","defaultState","activeUser","accountName","polygonAddress","isLoading","airdrop","lpAidrop","waitForTx","ClaimPage","props","claimAirdrop","a","setState","state","isAddress","msg","amount","claimed","pubKey","keys","message","sig","axios","post","account","resp","signMsg","data","signArbitrary","broadcast","params","eosname","publicKey","eosSig","response","fetchAirdropData","get","renderYUPClamAmmount","style","fontSize","color","renderLogoutBtn","ual","activeAuthenticator","logout","className","Button","variant","onClick","handleInputUpdate","event","target","value","renderAddrForm","marginLeft","marginRight","width","marginTop","marginBottom","Form","Group","controlId","Label","Control","type","name","onChange","rcp","JsonRpc","network","rpcEndpoints","protocol","host","port","updateAccountName","bind","renderModalButton","this","session","toLegacyString","Error","text","isSuc","fire","icon","title","Promise","resolve","setTimeout","getAccountName","showModal","padding","loggedIn","logoutBtn","modalButton","textAlign","paddingTop","Spinner","animation","renderClaimBtn","React","chainId","walletConfig","appName","wombat","Wombat","AppWithUAL","withUAL","claimPage","displayName","ualProviders","window","__wombat__","scatter","push","App","chains","authenticators","href","Boolean","location","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console"],"mappings":"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","file":"static/js/main.67e756d1.chunk.js","sourcesContent":["import { JsonRpc } from 'eosjs'\nimport * as React from 'react'\nimport Swal from 'sweetalert2'\nimport withReactContent from 'sweetalert2-react-content'\nimport Button from 'react-bootstrap/Button';\nimport Form from 'react-bootstrap/Form';\nimport Spinner from 'react-bootstrap/Spinner'\nimport { isAddress } from 'web3-utils'\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport './claim-page.css';\nimport { network } from '../App'\nimport axios from 'axios'\n\nconst BACKEND_API2 = 'https://api.yup.io'\n// const BACKEND_API = 'http://127.0.0.1:4001'\n \nconst MySwal = withReactContent(Swal)\n\nconst defaultState = {\n activeUser: null,\n accountName: '', \n polygonAddress: '',\n isLoading: false,\n airdrop: {},\n lpAidrop: {},\n waitForTx: false,\n}\n\nclass ClaimPage extends React.Component {\n\n constructor(props) {\n super(props)\n this.state = {\n ...defaultState,\n rcp: new JsonRpc(`${network.rpcEndpoints[0].protocol}://${network.rpcEndpoints[0].host}:${network.rpcEndpoints[0].port}`)\n }\n\n this.updateAccountName = this.updateAccountName.bind(this)\n this.claimAirdrop = this.claimAirdrop.bind(this)\n this.fetchAirdropData = this.fetchAirdropData.bind(this)\n this.renderModalButton = this.renderModalButton.bind(this)\n this.handleInputUpdate = this.handleInputUpdate.bind(this)\n this.renderAddrForm = this.renderAddrForm.bind(this)\n }\n \n // getWalletType(walletObj){\n // switch(walletObj.constructor.name){\n // // case 'AnchorUser':\n // // return 'AnchorUser'\n // case 'WombatUser':\n // return 'WombatUser'\n // default:\n // return 'Unkown'\n // }\n // }\n\n async getPublickey(type){\n const { activeUser } = this.state\n switch(type){\n case 'AnchorUser':\n return activeUser.session.publicKey.toLegacyString()\n case 'WombatUser':\n return activeUser.keys[0]\n default:\n throw new Error('Unkown wallet type')\n }\n }\n\n msg(text, type='success') {\n const isSuc = type === 'success'\n MySwal.fire({\n icon: isSuc ? 'success':'error',\n title: isSuc ? 'Success!':'Oops...',\n text\n });\n }\n\n claimAirdrop = async () => {\n this.setState({ isLoading: true })\n const { polygonAddress, lpAidrop, airdrop } = this.state\n \n if (!isAddress(polygonAddress)) {\n this.msg('Please enter a valid polygon address', 'error')\n this.setState({ isLoading: false })\n return\n }\n\n const hasAvailableLpAirdrop = lpAidrop.amount > 0 && !lpAidrop.claimed\n const hasAvailableAirdrop = airdrop.amount > 0 && !airdrop.claimed\n const { accountName, activeUser } = this.state;\n \n // const dummyTransact = {\n // actions:[\n // { account: 'yupyupyupyup',\n // name:'noop',\n // authorization: [ {actor:accountName, permission:activeUser.requestPermission }],\n // data:{ \n // }\n // }\n // ]\n // };\n\n\n let pubKey;\n try {\n pubKey = activeUser.keys[0]\n }catch(e){\n this.setState({ isLoading: false })\n if(e.message === 'Unkown wallet type'){\n this.msg('Please login with Wombat wallet', 'error')\n }else{\n this.msg('Please login with Wombat wallet', 'error')\n this.msg('Can not retrive the public key check you wallet is open', 'error')\n }\n return\n }\n let sig = ''\n // let txHash = ''\n // const isAnchor = this.getWalletType(activeUser) === 'AnchorUser'\n try{\n let signMsg\n try {\n const resp = await axios.post(`${BACKEND_API2}/eos-airdrop/challenge`, { account: accountName })\n signMsg = resp.data.data\n }catch(e){\n this.msg('Can not generate the auth msg', 'error')\n this.setState({ isLoading: false })\n return\n }\n sig = await activeUser.signArbitrary(pubKey, signMsg, 'claim-airdrop', {broadcast: true})\n }catch(e){\n this.msg('Can not sign the transaction', 'error')\n this.setState({ isLoading: false })\n return\n }\n const params = { polygonAddress, eosname: accountName, publicKey:pubKey, eosSig: sig }\n // if (txHash) params.txHash = txHash\n if (hasAvailableLpAirdrop || hasAvailableAirdrop || true) {\n try {\n const resp = await axios.post(`${BACKEND_API2}/eos-airdrop/claim`, params)\n this.msg(resp.data.message, 'success')\n } catch (err) {\n this.msg(err.response.data.message, 'error')\n }\n } else {\n this.msg('No available Airdrop to claim', 'error')\n }\n // if(isAnchor) this.setState({ waitForTx: false })\n this.setState({ isLoading: false })\n }\n\n fetchAirdropData = async () => {\n try {\n const { accountName } = this.state\n this.setState({ isLoading: true })\n const airdrop = (await axios.get(`${BACKEND_API2}/airdrop?eosname=${accountName}`)).data\n const lpAidrop = (await axios.get(`${BACKEND_API2}/lp-airdrop?eosname=${accountName}`)).data\n this.setState({ airdrop, lpAidrop})\n } catch (err) {\n this.msg('Something went wrong. Try again later.', 'error')\n }\n this.setState({ isLoading: false })\n }\n \n async componentDidUpdate() {\n const { ual: { activeUser } } = this.props\n if (activeUser && !this.state.activeUser) {\n this.setState({ activeUser }, this.updateAccountName)\n } else if (!activeUser && this.state.activeUser) {\n this.setState(defaultState)\n }\n }\n\n async componentDidMount() {\n let { activeUser } = this.state\n while(!activeUser){\n await new Promise(resolve => setTimeout(resolve, 100))\n activeUser = this.state.activeUser\n }\n await this.fetchAirdropData()\n }\n \n async updateAccountName() {\n try {\n const accountName = await this.state.activeUser.getAccountName()\n this.setState({ accountName })\n } catch (e) {\n }\n }\n\n renderYUPClamAmmount = () => {\n const { airdrop, lpAidrop, activeUser } = this.state\n if( !!activeUser ) {\n if(airdrop.claimed && lpAidrop.claimed){\n return
You have claimed both Airdrops
\nYou have claimed your YUP Airdrop
:\n You have {airdrop.amount} YUP !
}\n { lpAidrop.amount > 0 ?\n lpAidrop.claimed ?You have claimed your Lp Airdrop
:\nYou have {lpAidrop.amount} YUPETH !
\n : '' }\nClaimby clicking the button below
\nYou have no YUP! to claim
\n )\n }\n }\n }\n\n renderLogoutBtn = () => {\n const { ual: { activeUser, activeAuthenticator, logout } } = this.props\n if (!!activeUser && !!activeAuthenticator) {\n return (\n\n \n
\n )\n }\n }\n \n renderModalButton() {\n return (\n\n \n
\n )\n }\n \n handleInputUpdate = (event) => {\n this.setState({polygonAddress: event.target.value});\n }\n\n renderAddrForm = () => {\n const { ual: { activeUser, activeAuthenticator }, polygonAddress } = this.props\n if (!!activeUser && !!activeAuthenticator) {\n return(\n\n \n
\n :'')\n }\n\n render() {\n let modalButton = this.renderModalButton()\n let loggedIn = ''\n let logoutBtn = null\n \n const { ual: { activeUser } } = this.props\n const { accountName } = this.state\n modalButton = !activeUser && this.renderModalButton()\n logoutBtn = this.renderLogoutBtn()\n loggedIn = accountName ? `Logged in as ${accountName}` : ''\n \n\n return (\nWaiting for transaction confirmation...
*/}\n {this.state.isLoading && Page works with this wallet:
\n Wombat
\n