@r3l/app
Version:
193 lines (160 loc) • 7.38 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VerifyEmail = VerifyEmail;
exports.Progress = exports.ProgressType = exports.useUnclaimedSig = exports.useUnclaimedVest = exports.renderWarnings = exports.useVerifyEmail = exports.useClaimVest = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _react = _interopRequireDefault(require("react"));
var _web = require("../../styled/web");
var _styled = require("../../styled");
var _hooks = require("../../../web3/hooks");
var _reactNativeWeb = require("react-native-web");
var _graphqlTag = require("graphql-tag");
var _reactHooks = require("@apollo/react-hooks");
var _templateObject, _templateObject2, _templateObject3;
var SEND_VERIFY_EMAIL = (0, _graphqlTag.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n mutation sendEmail {\n sendEmail(action: \"token claim\")\n }\n"])));
var GET_VEST = (0, _graphqlTag.gql)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n query {\n getVest {\n longVest\n shortVest\n nonce\n }\n }\n"])));
var SEND_CLAIM_VEST = (0, _graphqlTag.gql)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n mutation claimVest($token: String!) {\n claimVest(token: $token) {\n longVestBN\n shortVestBN\n signature\n earning\n nonce\n }\n }\n"])));
var useClaimVest = function useClaimVest() {
var _useMutation = (0, _reactHooks.useMutation)(SEND_CLAIM_VEST),
_useMutation2 = (0, _slicedToArray2.default)(_useMutation, 2),
claimUnvestedTokens = _useMutation2[0],
_useMutation2$ = _useMutation2[1],
_useMutation2$$data = _useMutation2$.data;
_useMutation2$$data = _useMutation2$$data === void 0 ? {} : _useMutation2$$data;
var _useMutation2$$data$c = _useMutation2$$data.claimVest,
claimVest = _useMutation2$$data$c === void 0 ? undefined : _useMutation2$$data$c,
claimingVest = _useMutation2$.loading,
claimError = _useMutation2$.error;
return {
claimUnvestedTokens: claimUnvestedTokens,
claimVest: claimVest,
claimingVest: claimingVest,
claimError: claimError
};
};
exports.useClaimVest = useClaimVest;
var useVerifyEmail = function useVerifyEmail() {
var _useMutation3 = (0, _reactHooks.useMutation)(SEND_VERIFY_EMAIL),
_useMutation4 = (0, _slicedToArray2.default)(_useMutation3, 2),
verifyEmail = _useMutation4[0],
_useMutation4$ = _useMutation4[1],
_useMutation4$$data = _useMutation4$.data;
_useMutation4$$data = _useMutation4$$data === void 0 ? {} : _useMutation4$$data;
var _useMutation4$$data$s = _useMutation4$$data.sendEmail,
sendEmail = _useMutation4$$data$s === void 0 ? undefined : _useMutation4$$data$s,
sendingEmail = _useMutation4$.loading,
emailError = _useMutation4$.error;
return {
sendEmail: sendEmail,
verifyEmail: verifyEmail,
sendingEmail: sendingEmail,
emailError: emailError
};
};
exports.useVerifyEmail = useVerifyEmail;
function VerifyEmail(_ref) {
var cashOut = _ref.cashOut,
setToken = _ref.setToken,
token = _ref.token,
email = _ref.email;
return /*#__PURE__*/_react.default.createElement(_styled.View, null, /*#__PURE__*/_react.default.createElement(_styled.BodyText, {
sx: {
mb: 3
}
}, "We emaild a verification code to ", email, ".", '\n', "Please paste the code below to complete the transaction."), /*#__PURE__*/_react.default.createElement(_styled.Row, null, /*#__PURE__*/_react.default.createElement(_web.Input, {
sx: {
mt: 0,
flex: 1,
mr: 1,
height: 8,
py: 1,
px: 1,
fontWeight: 'bold'
},
onChange: function onChange(_ref2) {
var value = _ref2.target.value;
return setToken(value);
},
value: token
}), /*#__PURE__*/_react.default.createElement(_styled.Button, {
disabled: !token || token === '',
sx: {
height: 8,
mr: 'auto'
},
onPress: cashOut
}, "Verify Email")));
}
var renderWarnings = function renderWarnings(showUnclamedWarning, emailError) {
if (showUnclamedWarning) return /*#__PURE__*/_react.default.createElement(_styled.WarningBox, {
sx: {
mb: 2
}
}, /*#__PURE__*/_react.default.createElement(_styled.BodyText, null, "Warning: You have not completed a previous transfer attempt, press the 'Transfer' button below to complete."));
if (emailError) return /*#__PURE__*/_react.default.createElement(_styled.ErrorBox, {
sx: {
mb: 2
}
}, /*#__PURE__*/_react.default.createElement(_styled.BodyText, null, emailError.message));
return /*#__PURE__*/_react.default.createElement(_styled.WarningBox, {
sx: {
mb: 2
}
}, /*#__PURE__*/_react.default.createElement(_styled.BodyText, null, "Warning: You will have to pay for Ethereum gas when you claim REL tokens. Depending on network congestion this can cost up to $30 or more."), /*#__PURE__*/_react.default.createElement(_styled.BodyText, {
sx: {
mt: 1
}
}, "For this reason we don't reccomend claiming less than 20 REL."));
};
exports.renderWarnings = renderWarnings;
var useUnclaimedVest = function useUnclaimedVest(account) {
var _useSRelParam = (0, _hooks.useSRelParam)('nonceOf', [account]),
userNonce = _useSRelParam.res;
var nonce = userNonce != null ? parseInt(userNonce.toNumber()) : undefined;
var _useQuery = (0, _reactHooks.useQuery)(GET_VEST),
_useQuery$data = _useQuery.data;
_useQuery$data = _useQuery$data === void 0 ? {} : _useQuery$data;
var vest = _useQuery$data.getVest;
if (nonce != null && (vest === null || vest === void 0 ? void 0 : vest.nonce) !== nonce) return null;
return vest;
};
exports.useUnclaimedVest = useUnclaimedVest;
var useUnclaimedSig = function useUnclaimedSig(user, account) {
var _useRelParam = (0, _hooks.useRelParam)('nonceOf', [account]),
userNonce = _useRelParam.res;
var nonce = userNonce ? parseInt(userNonce.toNumber()) : null;
var unclaimedSig = user && user.cashOut && nonce != null && user.cashOut.nonce >= Number(nonce) && user.cashOut;
return unclaimedSig;
};
exports.useUnclaimedSig = useUnclaimedSig;
var ProgressType;
exports.ProgressType = ProgressType;
(function (ProgressType) {
ProgressType["EMAIL"] = "EMAIL";
ProgressType["TX"] = "TX";
})(ProgressType || (exports.ProgressType = ProgressType = {}));
var Progress = function Progress(_ref3) {
var type = _ref3.type;
return /*#__PURE__*/_react.default.createElement(_styled.View, {
sx: {
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: 'modalBackground',
alignItems: 'center',
justifyContent: 'center'
}
}, /*#__PURE__*/_react.default.createElement(_reactNativeWeb.ActivityIndicator, null), /*#__PURE__*/_react.default.createElement(_styled.BodyText, {
sx: {
mt: 2
}
}, type == ProgressType.EMAIL ? 'Sending Email Verification Code' : 'Processing Transaction'));
};
exports.Progress = Progress;
//# sourceMappingURL=claimUtils.js.map