UNPKG

@r3l/app

Version:
2 lines 13 kB
(window.__LOADABLE_LOADED_CHUNKS__=window.__LOADABLE_LOADED_CHUNKS__||[]).push([[62],{"./src/modules/wallet/price.context.js":function(e,t,n){"use strict";n.r(t),n.d(t,"PriceContext",(function(){return v})),n.d(t,"exchangeLink",(function(){return O})),n.d(t,"tokenEnabled",(function(){return x})),n.d(t,"usePrice",(function(){return y})),n.d(t,"default",(function(){return _}));var r=n("../../node_modules/@babel/runtime/helpers/defineProperty.js"),a=n.n(r),o=n("../../node_modules/@babel/runtime/helpers/asyncToGenerator.js"),s=n.n(o),c=n("../../node_modules/@babel/runtime/helpers/slicedToArray.js"),u=n.n(c),i=n("../../node_modules/@babel/runtime/regenerator/index.js"),l=n.n(i),d=n("../../node_modules/react/index.js"),m=n.n(d),b=n("../../node_modules/prop-types/index.js"),p=n.n(b),f=n("./src/utils/numbers.js");n("./src/utils/env.js");function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){a()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var j=Object({BROWSER:!0,NODE_ENV:"production",WEB:"true",NETWORK_NUMBER:"1",VAPID_PUBLIC_KEY:"BJp16DSJF-SdwZ3yxE2cK502FKKI7hxTON6YDoCaTctcq9sr3scJS1iTsa3YSlvOV-p2_P51cNWF5-os4Gc0rq4",INFURA_PROTOCOL:"ws",INFURA_API_KEY:"7d2819de98bb46108cae44811facb5e0",TOKEN_ADDRESS:"0xb6c4267C4877BB0D6b1685Cfd85b0FBe82F105ec",RECAPTCHA_KEY:"6LeyI8EZAAAAAN4S0f9BaSOf7Hks5xTR7CebrgsG"}),g=j.TOKEN_ADDRESS,E=j.DISABLE_PRICE,v=m.a.createContext(0);function O(){return"https://uniswap.exchange/swap?theme=dark&outputCurrency=".concat(g)}function x(){return!!g}function y(e,t){var n=Object(d.useContext)(v).price;return n?"number"===t?Object(f.abbreviateNumber)(n*e):" ($".concat(Object(f.abbreviateNumber)(n*e,2),")"):""}function _(e){var t=e.children,n=Object(d.useReducer)(k,{loading:!1,error:!1,data:null,refresh:0}),r=u()(n,2),a=r[0],o=r[1];Object(d.useEffect)((function(){return function(){var e=s()(l.a.mark((function e(){return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o({type:"FETCH_PRICE_INIT"}),g&&!E){e.next=3;break}return e.abrupt("return");case 3:case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()(),setTimeout((function(){o({type:"REFRESH_PRICE"})}),6e4),function(){!0}}),[a.refresh]);var c=function(e){if(!e)return null;var t=e.ethReserve,n=e.tokenReserve,r=e.ethPrice;if(!t||!n)return null;var a=t.amount.div(n.amount).times(r);return parseFloat(a.toString())}(a.data),i="($".concat(Object(f.abbreviateNumber)(c,2),")");return m.a.createElement(v.Provider,{value:{price:c,priceString:i}},t)}_.propTypes={children:p.a.node};var k=function(e,t){switch(t.type){case"REFRESH_PRICE":return w(w({},e),{},{refresh:e.refresh+1});case"FETCH_PRICE_INIT":return w(w({},e),{},{loading:!0,error:!1});case"FETCH_PRICE_SUCCESS":return w(w({},e),{},{loading:!1,error:!1,data:t.payload});case"FETCH_PRICE_ERROR":return w(w({},e),{},{loading:!1,error:t.payload});default:throw new Error}}},"./src/modules/wallet/wallet.actions.js":function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return p}));var r=n("../../node_modules/@babel/runtime/helpers/asyncToGenerator.js"),a=n.n(r),o=n("../../node_modules/@babel/runtime/regenerator/index.js"),s=n.n(o),c=n("./src/utils/eth.js"),u=n("./src/utils/index.ts"),i=n("./src/modules/auth/auth.actions.js"),l=n("./src/modules/wallet/earnings.actions.js"),d=n("./src/web3/utils/index.ts"),m=u.c.Alert();function b(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return function(){var n=a()(s.a.mark((function n(r){var a,o,c,d,b,p;return s.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,r(u.d.request({method:"POST",endpoint:"user",path:"/cashOut",body:JSON.stringify({customAmount:e,token:t})}));case 3:return a=n.sent,o=a.user,c=a.earning,r(Object(i.updateAuthUser)(o)),c&&r(Object(l.addEarning)(c)),d=o.cashOut,b=d.amountBN,p=d.signature,n.abrupt("return",{amnt:b,sig:p});case 12:return n.prev=12,n.t0=n.catch(0),console.log(n.t0),n.abrupt("return",m.alert(n.t0.message,"error"));case 16:case"end":return n.stop()}}),n,null,[[0,12]])})));return function(e){return n.apply(this,arguments)}}()}function p(e){return function(){var t=a()(s.a.mark((function t(n){var r,a;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,r=Object(d.f)()){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,Object(c.a)(r,e);case 6:a=t.sent,n(f(a)),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(0),m.alert("Failed signing message: "+t.t0.message);case 13:case"end":return t.stop()}}),t,null,[[0,10]])})));return function(e){return t.apply(this,arguments)}}()}function f(e){return function(){var t=a()(s.a.mark((function t(n){var r;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n(u.d.request({method:"PUT",endpoint:"user",path:"/ethAddress",body:JSON.stringify(e)}));case 3:return r=t.sent,n(Object(i.updateAuthUser)(r)),t.abrupt("return",!0);case 8:return t.prev=8,t.t0=t.catch(0),m.alert(t.t0.message,"error"),t.abrupt("return",!1);case 12:case"end":return t.stop()}}),t,null,[[0,8]])})));return function(e){return t.apply(this,arguments)}}()}},"./src/modules/wallet/web/cashoutFooter.js":function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n("../../node_modules/react/index.js"),a=n.n(r),o=n("../../node_modules/prop-types/index.js"),s=n.n(o),c=n("./src/utils/eth.js"),u=n("./src/modules/styled/index.ts"),i=n("./src/web3/hooks/index.ts"),l=n("./src/web3/utils/index.ts");function d(e){var t=e.customButton,n=Object(i.g)(),o=n.chainId,s=n.account,d=t||a.a.createElement(u.e,null,"Connected to Ethereum ",Object(l.e)(o)),m=s?a.a.createElement(u.e,null,Object(c.b)(s)):a.a.createElement(u.e,null);return a.a.createElement(r.Fragment,null,a.a.createElement(u.n,{sx:{mt:4,mb:4}}),a.a.createElement(u.B,{sx:{justifyContent:"space-between"}},a.a.createElement(u.K,null,m),a.a.createElement(u.K,null,d)))}d.propTypes={customButton:s.a.node}},"./src/modules/wallet/web/connectMetamaskModal.js":function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return h}));var r=n("../../node_modules/react/index.js"),a=n.n(r),o=n("../../node_modules/react-redux/es/index.js"),s=n("../../node_modules/prop-types/index.js"),c=n.n(s),u=n("./src/modules/styled/index.ts"),i=n("./src/modules/wallet/web/web3Warning/web3Warning.component.js"),l=n("./src/modules/wallet/web/web3Warning/web3Warning.hooks.js"),d=n("./src/modules/wallet/wallet.actions.js"),m=n("./src/modules/wallet/price.context.js"),b=n("./src/modules/wallet/web/cashoutFooter.js"),p=n("./src/web3/hooks/index.ts"),f=n("./src/web3/utils/index.ts");function h(e){var t=e.close;Object(p.f)();var n=Object(p.g)().account,r=Object(o.c)(),s=Object(o.d)((function(e){return e.auth.user})),c=s.balance-(s.airdropTokens||0),m=Object(l.a)({user:s,canClaim:c}),b=m?"Connect Your Ethereum Wallet":"Ethereum Address is Connected";return a.a.createElement(u.K,null,a.a.createElement(u.I,null,b),m?a.a.createElement(i.a,{connectAddress:function(){return r(Object(d.b)(n))},warning:m}):a.a.createElement(w,{close:t,account:n}))}function w(e){var t=e.account,n=Object(p.b)("balanceOf",[t]).res,o=void 0===n?0:n,s=Object(p.d)("staked",[t]).res,c=void 0===s?0:s,i=Object(f.c)(o),l=Object(f.c)(c),d=Object(m.usePrice)(i,"number");return a.a.createElement(r.Fragment,null,a.a.createElement(u.e,{sx:{mt:4}},"Connected account: ",t),a.a.createElement(u.e,{sx:{mt:2}},"Balance in Ethereum wallet: ",i," REL",d?" ($".concat(d,")"):null,","," ",l," sRel"),a.a.createElement(b.a,null))}h.propTypes={close:c.a.func},w.propTypes={account:c.a.string}},"./src/modules/wallet/web/web3Warning/web3Warning.component.js":function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n("../../node_modules/react/index.js"),a=n.n(r),o=n("../../node_modules/prop-types/index.js"),s=n.n(o),c=n("./src/modules/styled/index.ts"),u=n("./src/modules/wallet/web/cashoutFooter.js"),i=n("./src/web3/hooks/index.ts"),l=n("./src/web3/connectors.ts");function d(e){var t=e.connectAddress,n=e.warning,o=n.Component,s=void 0===o?c.L:o,d=n.message,m=n.title,b=n.buttonAction,p=Object(i.g)().activate;if(!n)return null;var f=function(){switch(b){case"connectMetamask":return function(){return p(l.a)};case"getMetamask":return function(){return window.open("https://metamask.io/","_blank")};case"connectAddress":return function(){return t()};default:return null}}(),h=f&&a.a.createElement(c.g,{disabled:n.disabled,sx:{mr:"auto"},onPress:f},n.buttonText);return a.a.createElement(r.Fragment,null,a.a.createElement(s,null,a.a.createElement(c.I,null,m),a.a.createElement(c.e,{sx:{mt:2}},d)),a.a.createElement(u.a,{customButton:h}))}d.propTypes={connectAddress:s.a.func,warning:s.a.oneOfType([s.a.object,s.a.func])}},"./src/modules/wallet/web/web3Warning/web3Warning.hooks.js":function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n("../../node_modules/@babel/runtime/helpers/slicedToArray.js"),a=n.n(r),o=n("../../node_modules/react/index.js"),s=n.n(o),c=n("../../node_modules/react-redux/es/index.js"),u=n("../../node_modules/@r3l/common/lib/index.js"),i=n("./src/utils/eth.js"),l=n("./src/modules/styled/index.ts"),d={id:1,title:"No Ethereum wallet found",message:s.a.createElement(l.G,null,"You will need to install an Ethereum wallet, like"," ",s.a.createElement(l.w,{to:"https://metamask.io/",external:!0,target:"_blank"},"Metamask")," ","in order to claim your coins.","\n\n","*Note: you will also need to purchace a small amount of Ethereum in order to pay for the transaction."),Component:l.L,buttonText:"Get Metamask",buttonAction:"getMetamask"},m={id:2,title:"Connect Relevant to Metamask",message:"We'll need to connect your Metamask account before you can transfer coins. Connecting your Metamask to Relevant is not a transaction and totally free.",buttonText:"Connect Account",buttonAction:"connectAddress",Component:l.L},b={id:3,title:"Use Metamask to switch Ethereum networks",message:"Please connect to Ethereum Mainnet.",buttonText:"Switch Networks",disabled:!0,Component:l.p},p=("Your current balance is too low, you need to earn more than ".concat(u.CASHOUT_LIMIT," coins in order to be able to cash out."),l.L,{id:1,title:"Log into Metamask and Connect it to Relevant",message:"Make sure you are logged into Metamask and have connected it to Relevant",buttonText:"Connect Metamask",buttonAction:"connectMetamask",Component:l.L}),f={id:6,title:"Please use a desktop browser",message:"Cashout does not work on mobile browsers at the moment. Please use a desktop browser to transfer REL tokens.",Component:l.p},h=n("./src/core/config.js"),w=n("./src/web3/hooks/index.ts"),j=function(e){var t=e.user,n=e.canClaim,r=Object(w.g)(),s=r.account,u=r.active,j=r.chainId,g=r.library,E=r.metamask,v=Object(o.useState)(),O=a()(v,2),x=O[0],y=O[1],_=null==t?void 0:t.ethAddress[0],k=Object(c.d)((function(e){return e.navigation.screenSize}));return Object(o.useEffect)((function(){t&&y(0!==k?f:E?u&&s?function(e){return!!e&&e.toString()===h.a}(j)?function(e){return e.ethAddress&&e.ethAddress[0]}(t)?function(e,t){return e.ethAddress[0].toLowerCase()===(null==t?void 0:t.toLowerCase())}(t,s)?null:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0x..";return{id:4,title:"Account mismatch (wanted: ".concat(Object(i.b)(e),")"),message:"Your connected wallet address is different from the address linked to your Relevant account. Please select account ".concat(Object(i.b)(e)," in Metamask. Alternately you can connect a new account address to Relevant."),buttonText:"Connect Current Account to Relevant",buttonAction:"connectAddress",Component:l.L}}(_):m:b:p:d)}),[E,s,g,u,_,j,t,n,k]),x}},"./src/utils/eth.js":function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return i}));var r=n("../../node_modules/@babel/runtime/helpers/asyncToGenerator.js"),a=n.n(r),o=n("../../node_modules/@babel/runtime/regenerator/index.js"),s=n.n(o);function c(e,t){return u.apply(this,arguments)}function u(){return(u=a()(s.a.mark((function e(t,n){var r,a,o,c;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new Date,a=Math.floor(r.setMinutes(r.getMinutes()+5)/1e3),o={address:n,exp:a},e.next=5,t.signMessage(JSON.stringify(o));case 5:return c=e.sent,e.abrupt("return",{msg:o,signature:c});case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function i(e){return e?e.slice(0,6)+"..."+e.slice(e.length-4,e.length):null}}}]); //# sourceMappingURL=wallet-web-connectMetamaskModal.bundle.977432d4a45c3c259e6d.js.map