Page MenuHomePhabricator

No OneTemporary

This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap b/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap
index f5ed9eddd..0439328f6 100644
--- a/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap
+++ b/cashtab/src/components/Airdrop/__tests__/__snapshots__/Airdrop.test.js.snap
@@ -1,701 +1,701 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<br />,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
XEC Airdrop Calculator
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<br />,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
XEC Airdrop Calculator
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-fMiknA hHCiKT"
+ className="sc-fBuWsC gFiHLB"
>
<span
- className="sc-TOsTZ doeNJZ"
+ className="sc-cHGsZl fLODmv"
>
0.06
XEC
</span>
</div>
</div>,
<br />,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
XEC Airdrop Calculator
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet without BCH balance 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<br />,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
XEC Airdrop Calculator
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<br />,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
XEC Airdrop Calculator
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
diff --git a/cashtab/src/components/Alias/Alias.js b/cashtab/src/components/Alias/Alias.js
index 617ca8777..880a2e054 100644
--- a/cashtab/src/components/Alias/Alias.js
+++ b/cashtab/src/components/Alias/Alias.js
@@ -1,776 +1,727 @@
import React, { useState, useEffect } from 'react';
import styled from 'styled-components';
import { WalletContext } from 'utils/context';
import PropTypes from 'prop-types';
import WalletLabel from 'components/Common/WalletLabel.js';
import {
ZeroBalanceHeader,
SidePaddingCtn,
WalletInfoCtn,
AlertMsg,
} from 'components/Common/Atoms';
import { PendingAliasWarningIcon } from 'components/Common/CustomIcons';
import {
AntdFormWrapper,
AliasInput,
AliasAddressInput,
CashtabCheckbox,
} from 'components/Common/EnhancedInputs';
-import {
- AliasSearchIcon,
- AliasRegisterIcon,
-} from 'components/Common/CustomIcons';
+import { AliasRegisterIcon } from 'components/Common/CustomIcons';
import { Form, Modal } from 'antd';
-import {
- SmartButton,
- SmartButtonLookupOnly,
-} from 'components/Common/PrimaryButton';
+import { SmartButton } from 'components/Common/PrimaryButton';
import BalanceHeader from 'components/Common/BalanceHeader';
import BalanceHeaderFiat from 'components/Common/BalanceHeaderFiat';
import { Row, Col } from 'antd';
import { getWalletState, fromSatoshisToXec } from 'utils/cashMethods';
import { registerNewAlias } from 'utils/transactions';
import {
errorNotification,
registerAliasNotification,
- generalNotification,
} from 'components/Common/Notifications';
import { isAliasFormat, isValidAliasString } from 'utils/validation';
import { queryAliasServer, getAliasByteSize } from 'utils/aliasUtils';
import cashaddr from 'ecashaddrjs';
import { Space, Tag } from 'antd';
import CopyToClipboard from 'components/Common/CopyToClipboard';
import { CustomCollapseCtn } from 'components/Common/StyledCollapse';
import appConfig from 'config/app';
import { formatBalance } from 'utils/formatting';
import aliasSettings from 'config/alias';
export const CheckboxContainer = styled.div`
text-align: left;
margin-bottom: 12px;
`;
// Change mouse cursor to pointer upon hovering over an Alias tag
export const AliasLabel = styled.div`
cursor: pointer;
`;
export const AliasAvailable = styled.span`
color: ${props => props.theme.aliasGreen};
`;
export const AliasPending = styled.span`
color: ${props => props.theme.forms.error};
`;
export const NamespaceCtn = styled.div`
width: 100%;
margin-top: 50px;
margin-bottom: 20px;
overflow-wrap: break-word;
h2 {
color: ${props => props.theme.contrast};
margin: 0 0 20px;
}
h3 {
color: ${props => props.theme.contrast};
margin: 0 0 10px;
}
white-space: pre-wrap;
`;
const StyledSpacer = styled.div`
height: 1px;
width: 100%;
background-color: ${props => props.theme.lightWhite};
margin: 60px 0 50px;
`;
const Alias = ({ passLoadingStatus }) => {
const ContextValue = React.useContext(WalletContext);
const {
wallet,
fiatPrice,
cashtabSettings,
chronik,
changeCashtabSettings,
cashtabCache,
refreshAliases,
aliases,
setAliases,
aliasServerError,
setAliasServerError,
aliasPrices,
setAliasPrices,
} = ContextValue;
const walletState = getWalletState(wallet);
const { balances } = walletState;
const [formData, setFormData] = useState({
aliasName: '',
aliasAddress: '',
});
const [useThisAddressChecked, setUseThisAddressChecked] = useState(false);
const [isValidAliasInput, setIsValidAliasInput] = useState(false); // tracks whether to activate the registration button
const [isValidAliasAddressInput, setIsValidAliasAddressInput] =
useState(false); // tracks whether to activate the registration button
const [aliasValidationError, setAliasValidationError] = useState(false);
const [aliasAddressValidationError, setAliasAddressValidationError] =
useState(false);
const [aliasDetails, setAliasDetails] = useState(false); // stores the /alias/<alias> endpoint response object
// Stores a conditional warning to the registration confirmation modal
const [aliasWarningMsg, setAliasWarningMsg] = useState(false);
// Show a confirmation modal on alias registrations
const [isModalVisible, setIsModalVisible] = useState(false);
useEffect(() => {
passLoadingStatus(false);
}, [balances.totalBalance]);
useEffect(async () => {
// only run this useEffect block if wallet or cashtabCache is defined
if (
!wallet ||
typeof wallet === 'undefined' ||
!wallet.Path1899 ||
!cashtabCache ||
typeof cashtabCache === 'undefined'
) {
return;
}
passLoadingStatus(true);
// Default to registering the user's active wallet
// Must be called in this useEffect to ensure that wallet is loaded
// Call with this function to ensure that checkbox state and checkbox are updated
handleDefaultAddressCheckboxChange({ target: { checked: true } });
if (wallet.Path1899.cashAddress) {
await refreshAliases(wallet.Path1899.cashAddress);
}
// Refresh alias prices if none exist yet
if (aliasPrices === null) {
setAliasPrices(await queryAliasServer('prices'));
}
passLoadingStatus(false);
}, [wallet.name]);
const clearInputForms = () => {
setFormData(p => ({
...p,
aliasName: '',
}));
setAliasWarningMsg(false);
setIsValidAliasInput(false);
};
const preparePreviewModal = async () => {
passLoadingStatus(true);
// Retrieve alias details
let aliasDetailsResp;
try {
aliasDetailsResp = await queryAliasServer(
'alias',
formData.aliasName,
);
if (
aliasDetailsResp.pending &&
aliasDetailsResp.pending.length > 0
) {
const thisWalletThisAliasPendingCount = aliases.pending.filter(
pendingAliasObj =>
pendingAliasObj.alias === formData.aliasName,
).length;
const pendingMsgForThisAddress =
thisWalletThisAliasPendingCount > 0
? `, including ${thisWalletThisAliasPendingCount} for this wallet address`
: '';
setAliasWarningMsg(
` There are currently ${aliasDetailsResp.pending.length} pending registration(s) for this alias${pendingMsgForThisAddress}.`,
);
} else {
setAliasWarningMsg(false);
}
} catch (err) {
const errorMsg = 'Error retrieving alias details';
console.log(`preparePreviewModal(): ${errorMsg}`, err);
errorNotification(null, errorMsg);
setIsValidAliasInput(false);
setAliasServerError(errorMsg);
passLoadingStatus(false);
return;
}
if (
aliasDetailsResp &&
!aliasDetailsResp.address &&
!aliasDetailsResp.error &&
aliasDetailsResp.registrationFeeSats
) {
// If alias is unregistered
setAliasDetails(aliasDetailsResp);
setIsModalVisible(true);
} else if (aliasDetailsResp && aliasDetailsResp.address) {
// If alias is registered
errorNotification(
null,
'This alias [' +
formData.aliasName +
`] is already owned by ${aliasDetailsResp.address}, please try another alias`,
'Alias availability check',
);
setAliasDetails(false);
} else {
const errorMsg =
'Unable to retrieve alias info, please try again later';
setAliasServerError(errorMsg);
errorNotification(null, errorMsg);
setAliasDetails(false);
}
passLoadingStatus(false);
};
const handleOk = () => {
setIsModalVisible(false);
registerAlias();
};
const handleCancel = () => {
setIsModalVisible(false);
};
const registerAlias = async () => {
passLoadingStatus(true);
// note: input already validated via handleAliasNameInput()
const aliasInput = formData.aliasName;
const aliasAddress = formData.aliasAddress;
// check if the user is trying to essentially register chicken.xec.xec
const doubleExtensionInput = isAliasFormat(aliasInput);
if (doubleExtensionInput) {
errorNotification(
null,
'Please input an alias without the ".xec"',
'Alias extension check',
);
passLoadingStatus(false);
return;
}
if (
!aliasDetails.address &&
!aliasDetails.error &&
aliasDetails.registrationFeeSats
) {
console.log(
'Registration fee for ' +
aliasInput +
' is ' +
aliasDetails.registrationFeeSats +
' sats.',
);
console.log(
`Alias ${aliasInput} is available. Broadcasting registration transaction.`,
);
try {
const result = await registerNewAlias(
chronik,
wallet,
appConfig.defaultFee,
aliasInput,
aliasAddress,
aliasDetails.registrationFeeSats,
);
clearInputForms();
registerAliasNotification(result.explorerLink, aliasInput);
// Append the newly broadcasted alias registration to pending list to
// ensure the alias refresh interval is running in useWallet.js
setAliases(previousAliases => ({
...previousAliases,
pending: [
...previousAliases.pending,
{
alias: aliasInput,
address: wallet.Path1899.cashAddress,
},
],
}));
} catch (err) {
errorNotification(err, err.message, 'Registering Alias');
}
setIsValidAliasInput(true);
} else {
// error notification on alias being unavailable
errorNotification(
null,
'This alias [' +
aliasInput +
'] has already been taken, please try another alias',
'Alias availability check',
);
}
passLoadingStatus(false);
};
const handleAliasNameInput = e => {
const { name, value } = e.target;
const validAliasInput = isValidAliasString(value);
const aliasInputByteSize = getAliasByteSize(value);
if (
value &&
value.trim() !== '' &&
aliasInputByteSize <= aliasSettings.aliasMaxLength &&
validAliasInput
) {
setIsValidAliasInput(true);
setAliasValidationError(false);
} else {
setAliasValidationError(
'Please enter an alias (lowercase a-z, 0-9) between 1 and 21 bytes',
);
setIsValidAliasInput(false);
}
setFormData(p => ({
...p,
[name]: value,
}));
};
const handleDefaultAddressCheckboxChange = e => {
/* handleDefaultAddressCheckboxChange
*
* Function to handle user action of checking or unchecking the
* checkbox on this page labeled 'Register active wallet address'
*
* May be called programmatically by mocking the usual js event
* of a user checking the box
*
* If the box is checked, set formData for aliasAddress to the active wallet's address
* If the box is unchecked, clear formData for aliasAddress
*/
const checked = e.target.checked;
setUseThisAddressChecked(checked);
if (checked) {
// Set address of active wallet to default alias registration address
handleAliasAddressInput({
target: {
name: 'aliasAddress',
value: wallet.Path1899.cashAddress,
},
});
} else {
// Clear the form if the user unchecks
handleAliasAddressInput({
target: {
name: 'aliasAddress',
value: '',
},
});
}
};
const handleAliasAddressInput = e => {
/* handleAliasAddressInput
*
* Function called to handle any changes to the aliasAddress input form
*
* May be called programmatically by mocking the usual js event
* of a user updating the addressName input field
*/
let { name, value } = e.target;
// remove any whitespaces
value = value.trim();
// Validate
let decoded;
let isValidAddress = false;
try {
decoded = cashaddr.decode(value, true);
const { hash } = decoded;
// We only support 20-byte payloads
isValidAddress = hash.length === 40;
} catch (err) {
// Invalid cashaddress
// Log to console for user support
console.log(`Invalid address`, err);
}
if (isValidAddress) {
setIsValidAliasAddressInput(true);
setAliasAddressValidationError(false);
} else {
setAliasAddressValidationError(
'Invalid alias registration address.',
);
setIsValidAliasAddressInput(false);
}
setFormData(p => ({
...p,
[name]: value,
}));
};
- /**
- * Calls upon alias-server to render the details of an alias
- */
- const lookupAliasDetails = async () => {
- passLoadingStatus(true);
-
- // Retrieve alias details
- let aliasDetailsResp;
- try {
- aliasDetailsResp = await queryAliasServer(
- 'alias',
- formData.aliasName,
- );
- } catch (err) {
- errorNotification(err, 'Error retrieving alias details');
- passLoadingStatus(false);
- return;
- }
-
- let message;
- if (aliasDetailsResp && aliasDetailsResp.address) {
- message = `${aliasDetailsResp.alias}.xec is registered to ${aliasDetailsResp.address} at blockheight ${aliasDetailsResp.blockheight}`;
- } else if (aliasDetailsResp.pending.length > 0) {
- message = `${formData.aliasName}.xec has ${aliasDetailsResp.pending.length} pending registration(s) awaiting 1 confirmation`;
- } else {
- message = `${formData.aliasName}.xec is unregistered`;
- }
- generalNotification(message);
-
- passLoadingStatus(false);
- };
-
return (
<>
<Modal
title={
aliasWarningMsg ? (
<>
<PendingAliasWarningIcon />
<AliasPending>
{' '}
<b>Warning: pending registrations detected</b>
</AliasPending>
</>
) : (
<AliasAvailable>
Confirm alias registration
</AliasAvailable>
)
}
open={isModalVisible}
onOk={handleOk}
onCancel={handleCancel}
>
{!aliasWarningMsg && (
<AliasAvailable>
{`The alias ${
formData.aliasName
} is available and can be registered for ${formatBalance(
fromSatoshisToXec(aliasDetails.registrationFeeSats),
)} XEC. Proceed with registration?`}
</AliasAvailable>
)}
{aliasWarningMsg !== false && (
<>
<b>
<AlertMsg>
{` Warning: ${aliasWarningMsg}`}
<br />
<br />
{` Continue the registration anyway for ${formatBalance(
fromSatoshisToXec(
aliasDetails.registrationFeeSats,
),
)} XEC?`}
</AlertMsg>
</b>
</>
)}
{!useThisAddressChecked &&
!aliasAddressValidationError &&
` Please also note Cashtab will only track alias registrations for ${wallet.name}: ${wallet.Path1899?.cashAddress}.`}
</Modal>
<WalletInfoCtn>
<WalletLabel
name={wallet.name}
cashtabSettings={cashtabSettings}
changeCashtabSettings={changeCashtabSettings}
></WalletLabel>
{!balances.totalBalance ? (
<ZeroBalanceHeader>
You currently have 0 {appConfig.ticker}
<br />
Deposit some funds to use this feature
</ZeroBalanceHeader>
) : (
<>
<BalanceHeader
balance={balances.totalBalance}
ticker={appConfig.ticker}
cashtabSettings={cashtabSettings}
/>
{fiatPrice !== null && (
<BalanceHeaderFiat
balance={balances.totalBalance}
settings={cashtabSettings}
fiatPrice={fiatPrice}
/>
)}
</>
)}
</WalletInfoCtn>
<SidePaddingCtn>
<Row type="flex">
<Col span={24}>
<NamespaceCtn>
<h2>eCash Namespace Alias</h2>
</NamespaceCtn>
<SidePaddingCtn>
<AntdFormWrapper>
<Form
style={{
width: 'auto',
}}
>
<Form.Item>
<AliasInput
validateStatus={
isValidAliasInput ? '' : 'error'
}
help={
aliasValidationError
? aliasValidationError
: ''
}
inputProps={{
addonAfter: ' . xec',
placeholder:
'Enter a desired alias',
value: formData.aliasName,
name: 'aliasName',
onChange: e =>
handleAliasNameInput(e),
required: true,
}}
/>
{(() => {
let aliasLength = getAliasByteSize(
formData.aliasName,
);
if (
aliasLength > 0 &&
isValidAliasInput
) {
// Disable alias registration if the array is not exactly one entry
if (
aliasPrices.prices
.length !== 1
) {
setAliasValidationError(
`Alias registration is temporarily unavailable, please check again later.`,
);
setIsValidAliasInput(false);
return;
}
// TODO Once chronik-client has been upgraded for in-node chronik, update
// this price parsing logic to use the new ws for blockheight comparisons.
// Intention is to reverse loop through `aliasPrices.prices` and parse for
// the latest array entry that has a startHeight within the chain's tipHeight.
let aliasPriceXec =
formatBalance(
fromSatoshisToXec(
aliasPrices
.prices[0].fees[
aliasLength
],
),
);
return `${aliasLength} bytes, ${aliasPriceXec} XEC to register.`;
}
})()}
<p />
- <SmartButtonLookupOnly
- disabled={
- !isValidAliasInput ||
- !isValidAliasAddressInput ||
- aliasServerError !== false
- }
- onClick={() => lookupAliasDetails()}
- >
- <AliasSearchIcon /> Check Alias
- </SmartButtonLookupOnly>
<CheckboxContainer>
<CashtabCheckbox
checked={useThisAddressChecked}
onChange={
handleDefaultAddressCheckboxChange
}
>
Register to the active wallet
address
</CashtabCheckbox>
</CheckboxContainer>
{!useThisAddressChecked && (
<AliasAddressInput
validateStatus={
isValidAliasAddressInput
? ''
: 'error'
}
help={
aliasAddressValidationError
? aliasAddressValidationError
: ''
}
inputProps={{
placeholder:
'Enter address for this alias',
value: formData.aliasAddress,
disabled:
useThisAddressChecked,
name: 'aliasAddress',
onChange: e =>
handleAliasAddressInput(
e,
),
required: true,
}}
/>
)}
<SmartButton
disabled={
!isValidAliasInput ||
!isValidAliasAddressInput ||
aliasServerError !== false
}
onClick={() =>
preparePreviewModal()
}
>
<AliasRegisterIcon /> Register Alias
</SmartButton>
</Form.Item>
</Form>
</AntdFormWrapper>
<StyledSpacer />
<NamespaceCtn>
<CustomCollapseCtn
panelHeader="Registered Aliases"
optionalDefaultActiveKey={['1']}
optionalKey="1"
>
<Space size={[0, 8]} wrap>
{aliases &&
aliases.registered &&
aliases.registered.length > 0
? aliases.registered.map(
(alias, index) => (
<CopyToClipboard
data={
alias.alias +
'.xec'
}
optionalOnCopyNotification={{
title: 'Copied',
msg: `${alias.alias}.xec copied to clipboard`,
}}
key={index}
>
<Tag
color={'#0074C2'}
key={index}
>
<AliasLabel>
{alias.alias +
'.xec'}
</AliasLabel>
</Tag>
</CopyToClipboard>
),
)
: !aliasServerError && (
<h3>
{'No registered aliases'}
</h3>
)}
</Space>
<AlertMsg>{aliasServerError}</AlertMsg>
</CustomCollapseCtn>
<CustomCollapseCtn
panelHeader="Pending Aliases"
optionalDefaultActiveKey={['1']}
optionalKey="1"
>
<Space size={[0, 8]} wrap>
{aliases &&
aliases.pending &&
aliases.pending.length > 0
? aliases.pending.map(
(pendingAlias, index) => (
<CopyToClipboard
data={
pendingAlias.alias +
'.xec'
}
optionalOnCopyNotification={{
title: 'Copied',
msg: `${pendingAlias.alias}.xec copied to clipboard`,
}}
key={index}
>
<Tag
color={'#0074C2'}
key={index}
>
<AliasLabel>
{pendingAlias.alias +
'.xec'}
</AliasLabel>
</Tag>
</CopyToClipboard>
),
)
: !aliasServerError && (
<h3>
{'No pending aliases'}
</h3>
)}
</Space>
<AlertMsg>{aliasServerError}</AlertMsg>
</CustomCollapseCtn>
</NamespaceCtn>
</SidePaddingCtn>
</Col>
</Row>
</SidePaddingCtn>
</>
);
};
/*
passLoadingStatus must receive a default prop that is a function
in order to pass the rendering unit test in Alias.test.js
status => {console.log(status)} is an arbitrary stub function
*/
Alias.defaultProps = {
passLoadingStatus: status => {
console.log(status);
},
};
Alias.propTypes = {
passLoadingStatus: PropTypes.func,
};
export default Alias;
diff --git a/cashtab/src/components/Alias/__tests__/__snapshots__/Alias.test.js.snap b/cashtab/src/components/Alias/__tests__/__snapshots__/Alias.test.js.snap
index 63d03a0bc..2910a9073 100644
--- a/cashtab/src/components/Alias/__tests__/__snapshots__/Alias.test.js.snap
+++ b/cashtab/src/components/Alias/__tests__/__snapshots__/Alias.test.js.snap
@@ -1,2570 +1,2415 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with XEC balances 1`] = `
Array [
<div
className="sc-eHgmQL jcvoLq"
>
<div
className="sc-jKJlTe jrzEcV"
>
<h4
className="sc-eNQAEJ cwroNb"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-brqgnP jHOLle"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<h2>
eCash Namespace Alias
</h2>
</div>
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="sc-bRBYWo fqvvXE"
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper ant-input-group-wrapper-status-error"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<svg
className="sc-kGXeez iHLPLV"
>
user.svg
</svg>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a desired alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
. xec
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<p />
- <button
- className="sc-caSCKo kUdPsD"
- disabled={true}
- onClick={[Function]}
- >
- <span
- aria-label="search"
- className="anticon anticon-search"
- role="img"
- style={
- Object {
- "fontSize": 20,
- }
- }
- >
- <svg
- aria-hidden="true"
- data-icon="search"
- fill="currentColor"
- focusable="false"
- height="1em"
- viewBox="64 64 896 896"
- width="1em"
- >
- <path
- d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
- />
- </svg>
- </span>
- Check Alias
- </button>
<div
- className="sc-frDJqD fnMfTH"
+ className="sc-hmzhuo fYlBBZ"
>
<label
className="ant-checkbox-wrapper ant-checkbox-wrapper-checked ant-checkbox-wrapper-in-form-item sc-fBuWsC bHZMFZ"
>
<span
className="ant-checkbox ant-checkbox-checked"
style={Object {}}
>
<input
checked={true}
className="ant-checkbox-input"
disabled={false}
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyPress={[Function]}
onKeyUp={[Function]}
type="checkbox"
/>
<span
className="ant-checkbox-inner"
/>
</span>
<span>
Register to the active wallet address
</span>
</label>
</div>
<button
className="sc-fAjcbJ hqeYCi"
disabled={true}
onClick={[Function]}
>
<span
aria-label="user-add"
className="anticon anticon-user-add"
role="img"
style={
Object {
"fontSize": 20,
}
}
>
<svg
aria-hidden="true"
data-icon="user-add"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Register Alias
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div
- className="sc-jqCOkK czKThr"
+ className="sc-dNLxif cYGCgJ"
/>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Registered Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No registered aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Pending Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No pending aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with XEC balances and tokens 1`] = `
Array [
<div
className="sc-eHgmQL jcvoLq"
>
<div
className="sc-jKJlTe jrzEcV"
>
<h4
className="sc-eNQAEJ cwroNb"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-brqgnP jHOLle"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<h2>
eCash Namespace Alias
</h2>
</div>
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="sc-bRBYWo fqvvXE"
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper ant-input-group-wrapper-status-error"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<svg
className="sc-kGXeez iHLPLV"
>
user.svg
</svg>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a desired alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
. xec
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<p />
- <button
- className="sc-caSCKo kUdPsD"
- disabled={true}
- onClick={[Function]}
- >
- <span
- aria-label="search"
- className="anticon anticon-search"
- role="img"
- style={
- Object {
- "fontSize": 20,
- }
- }
- >
- <svg
- aria-hidden="true"
- data-icon="search"
- fill="currentColor"
- focusable="false"
- height="1em"
- viewBox="64 64 896 896"
- width="1em"
- >
- <path
- d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
- />
- </svg>
- </span>
- Check Alias
- </button>
<div
- className="sc-frDJqD fnMfTH"
+ className="sc-hmzhuo fYlBBZ"
>
<label
className="ant-checkbox-wrapper ant-checkbox-wrapper-checked ant-checkbox-wrapper-in-form-item sc-fBuWsC bHZMFZ"
>
<span
className="ant-checkbox ant-checkbox-checked"
style={Object {}}
>
<input
checked={true}
className="ant-checkbox-input"
disabled={false}
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyPress={[Function]}
onKeyUp={[Function]}
type="checkbox"
/>
<span
className="ant-checkbox-inner"
/>
</span>
<span>
Register to the active wallet address
</span>
</label>
</div>
<button
className="sc-fAjcbJ hqeYCi"
disabled={true}
onClick={[Function]}
>
<span
aria-label="user-add"
className="anticon anticon-user-add"
role="img"
style={
Object {
"fontSize": 20,
}
}
>
<svg
aria-hidden="true"
data-icon="user-add"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Register Alias
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div
- className="sc-jqCOkK czKThr"
+ className="sc-dNLxif cYGCgJ"
/>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Registered Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No registered aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Pending Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No pending aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with XEC balances and tokens and state field 1`] = `
Array [
<div
className="sc-eHgmQL jcvoLq"
>
<div
className="sc-jKJlTe jrzEcV"
>
<h4
className="sc-eNQAEJ cwroNb"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-jWBwVP gdMlXD"
>
<span
- className="sc-gisBJw plqbj"
+ className="sc-caSCKo gaZMix"
>
0.06
XEC
</span>
</div>
</div>,
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<h2>
eCash Namespace Alias
</h2>
</div>
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="sc-bRBYWo fqvvXE"
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper ant-input-group-wrapper-status-error"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<svg
className="sc-kGXeez iHLPLV"
>
user.svg
</svg>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a desired alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
. xec
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<p />
- <button
- className="sc-caSCKo kUdPsD"
- disabled={true}
- onClick={[Function]}
- >
- <span
- aria-label="search"
- className="anticon anticon-search"
- role="img"
- style={
- Object {
- "fontSize": 20,
- }
- }
- >
- <svg
- aria-hidden="true"
- data-icon="search"
- fill="currentColor"
- focusable="false"
- height="1em"
- viewBox="64 64 896 896"
- width="1em"
- >
- <path
- d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
- />
- </svg>
- </span>
- Check Alias
- </button>
<div
- className="sc-frDJqD fnMfTH"
+ className="sc-hmzhuo fYlBBZ"
>
<label
className="ant-checkbox-wrapper ant-checkbox-wrapper-checked ant-checkbox-wrapper-in-form-item sc-fBuWsC bHZMFZ"
>
<span
className="ant-checkbox ant-checkbox-checked"
style={Object {}}
>
<input
checked={true}
className="ant-checkbox-input"
disabled={false}
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyPress={[Function]}
onKeyUp={[Function]}
type="checkbox"
/>
<span
className="ant-checkbox-inner"
/>
</span>
<span>
Register to the active wallet address
</span>
</label>
</div>
<button
className="sc-fAjcbJ hqeYCi"
disabled={true}
onClick={[Function]}
>
<span
aria-label="user-add"
className="anticon anticon-user-add"
role="img"
style={
Object {
"fontSize": 20,
}
}
>
<svg
aria-hidden="true"
data-icon="user-add"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Register Alias
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div
- className="sc-jqCOkK czKThr"
+ className="sc-dNLxif cYGCgJ"
/>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Registered Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No registered aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Pending Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No pending aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet without XEC balance 1`] = `
Array [
<div
className="sc-eHgmQL jcvoLq"
>
<div
className="sc-jKJlTe jrzEcV"
>
<h4
className="sc-eNQAEJ cwroNb"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-brqgnP jHOLle"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<h2>
eCash Namespace Alias
</h2>
</div>
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="sc-bRBYWo fqvvXE"
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper ant-input-group-wrapper-status-error"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<svg
className="sc-kGXeez iHLPLV"
>
user.svg
</svg>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a desired alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
. xec
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<p />
- <button
- className="sc-caSCKo kUdPsD"
- disabled={true}
- onClick={[Function]}
- >
- <span
- aria-label="search"
- className="anticon anticon-search"
- role="img"
- style={
- Object {
- "fontSize": 20,
- }
- }
- >
- <svg
- aria-hidden="true"
- data-icon="search"
- fill="currentColor"
- focusable="false"
- height="1em"
- viewBox="64 64 896 896"
- width="1em"
- >
- <path
- d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
- />
- </svg>
- </span>
- Check Alias
- </button>
<div
- className="sc-frDJqD fnMfTH"
+ className="sc-hmzhuo fYlBBZ"
>
<label
className="ant-checkbox-wrapper ant-checkbox-wrapper-checked ant-checkbox-wrapper-in-form-item sc-fBuWsC bHZMFZ"
>
<span
className="ant-checkbox ant-checkbox-checked"
style={Object {}}
>
<input
checked={true}
className="ant-checkbox-input"
disabled={false}
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyPress={[Function]}
onKeyUp={[Function]}
type="checkbox"
/>
<span
className="ant-checkbox-inner"
/>
</span>
<span>
Register to the active wallet address
</span>
</label>
</div>
<button
className="sc-fAjcbJ hqeYCi"
disabled={true}
onClick={[Function]}
>
<span
aria-label="user-add"
className="anticon anticon-user-add"
role="img"
style={
Object {
"fontSize": 20,
}
}
>
<svg
aria-hidden="true"
data-icon="user-add"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Register Alias
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div
- className="sc-jqCOkK czKThr"
+ className="sc-dNLxif cYGCgJ"
/>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Registered Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No registered aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Pending Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No pending aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
Array [
<div
className="sc-eHgmQL jcvoLq"
>
<div
className="sc-jKJlTe jrzEcV"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-brqgnP jHOLle"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<h2>
eCash Namespace Alias
</h2>
</div>
<div
className="sc-iAyFgw eRQdeW"
>
<div
className="sc-bRBYWo fqvvXE"
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper ant-input-group-wrapper-status-error"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<svg
className="sc-kGXeez iHLPLV"
>
user.svg
</svg>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a desired alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
. xec
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<p />
- <button
- className="sc-caSCKo kUdPsD"
- disabled={true}
- onClick={[Function]}
- >
- <span
- aria-label="search"
- className="anticon anticon-search"
- role="img"
- style={
- Object {
- "fontSize": 20,
- }
- }
- >
- <svg
- aria-hidden="true"
- data-icon="search"
- fill="currentColor"
- focusable="false"
- height="1em"
- viewBox="64 64 896 896"
- width="1em"
- >
- <path
- d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
- />
- </svg>
- </span>
- Check Alias
- </button>
<div
- className="sc-frDJqD fnMfTH"
+ className="sc-hmzhuo fYlBBZ"
>
<label
className="ant-checkbox-wrapper ant-checkbox-wrapper-in-form-item sc-fBuWsC bHZMFZ"
>
<span
className="ant-checkbox"
style={Object {}}
>
<input
checked={false}
className="ant-checkbox-input"
disabled={false}
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyPress={[Function]}
onKeyUp={[Function]}
type="checkbox"
/>
<span
className="ant-checkbox-inner"
/>
</span>
<span>
Register to the active wallet address
</span>
</label>
</div>
<div
className="sc-bRBYWo fqvvXE"
>
<div
className="ant-form-item ant-form-item-with-help ant-form-item-has-error"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-affix-wrapper ant-input-affix-wrapper-status-error"
onClick={[Function]}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="aliasAddress"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter address for this alias"
required={true}
style={null}
type="text"
value=""
/>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<button
className="sc-fAjcbJ hqeYCi"
disabled={true}
onClick={[Function]}
>
<span
aria-label="user-add"
className="anticon anticon-user-add"
role="img"
style={
Object {
"fontSize": 20,
}
}
>
<svg
aria-hidden="true"
data-icon="user-add"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Register Alias
</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div
- className="sc-jqCOkK czKThr"
+ className="sc-dNLxif cYGCgJ"
/>
<div
- className="sc-dNLxif kwWjay"
+ className="sc-jbKcbu wUzOX"
>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Registered Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No registered aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-cJSrbW gyeumK"
+ className="sc-kgAjT jWFrne"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-hmzhuo jHDkvg"
+ className="ant-collapse ant-collapse-icon-position-start sc-ksYbfQ hPwOiL"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item ant-collapse-item-active"
>
<div
aria-disabled={false}
aria-expanded={true}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
style={
Object {
"msTransform": "rotate(90deg)",
"transform": "rotate(90deg)",
}
}
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-kgAjT cuzzPp"
+ className="sc-TOsTZ kjYrri"
>
Pending Aliases
</div>
</span>
</div>
<div
className="ant-collapse-content ant-collapse-content-active"
role={null}
>
<div
className="ant-collapse-content-box"
>
<div
className="ant-space ant-space-horizontal ant-space-align-center"
style={
Object {
"flexWrap": "wrap",
"marginBottom": -8,
}
}
>
<div
className="ant-space-item"
style={
Object {
"paddingBottom": 8,
}
}
>
<h3>
No pending aliases
</h3>
</div>
</div>
<p
className="sc-jDwBTQ bcLZea"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>,
]
`;
diff --git a/cashtab/src/components/Common/CustomIcons.js b/cashtab/src/components/Common/CustomIcons.js
index 146840ac5..025ecdd2b 100644
--- a/cashtab/src/components/Common/CustomIcons.js
+++ b/cashtab/src/components/Common/CustomIcons.js
@@ -1,225 +1,221 @@
import * as React from 'react';
import styled from 'styled-components';
import {
CopyOutlined,
DollarOutlined,
LoadingOutlined,
WalletOutlined,
QrcodeOutlined,
SettingOutlined,
LockOutlined,
ContactsOutlined,
FireOutlined,
- SearchOutlined,
UserAddOutlined,
WarningOutlined,
SwapOutlined,
} from '@ant-design/icons';
import { Image } from 'antd';
import { ReactComponent as Send } from 'assets/send.svg';
import { ReactComponent as Receive } from 'assets/receive.svg';
import { ReactComponent as Genesis } from 'assets/flask.svg';
import { ReactComponent as Unparsed } from 'assets/alert-circle.svg';
import { ReactComponent as Home } from 'assets/home.svg';
import { ReactComponent as Settings } from 'assets/cog.svg';
import { ReactComponent as CopySolid } from 'assets/copy.svg';
import { ReactComponent as LinkSolid } from 'assets/external-link-square-alt.svg';
import { ReactComponent as Airdrop } from 'assets/airdrop-icon.svg';
import { ReactComponent as Pdf } from 'assets/file-pdf.svg';
import { ReactComponent as Plus } from 'assets/plus.svg';
import { ReactComponent as Download } from 'assets/download.svg';
import { ReactComponent as Edit } from 'assets/edit.svg';
import { ReactComponent as Trashcan } from 'assets/trashcan.svg';
import { ReactComponent as EyeSVG } from 'assets/eye.svg';
import { ReactComponent as EyeInvisibleSVG } from 'assets/eye-invisible.svg';
import { ReactComponent as Audit } from 'assets/audit.svg';
import { ReactComponent as Mail } from 'assets/mail.svg';
export const CashLoadingIcon = <LoadingOutlined className="cashLoadingIcon" />;
import { ReactComponent as User } from 'assets/user.svg';
import appConfig from 'config/app';
export const CashReceivedNotificationIcon = () => (
<Image
height={'33px'}
width={'30px'}
src={appConfig.logo}
preview={false}
/>
);
export const TokenReceivedNotificationIcon = () => (
<Image
src={appConfig.tokenLogo}
height={'33px'}
width={'30px'}
preview={false}
/>
);
export const MessageSignedNotificationIcon = () => (
<Image
src={appConfig.tokenLogo}
height={'33px'}
width={'30px'}
preview={false}
/>
);
export const ThemedBurnOutlined = styled(FireOutlined)`
color: ${props => props.theme.eCashPurple} !important;
`;
export const ThemedCopyOutlined = styled(CopyOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedDollarOutlined = styled(DollarOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedWalletOutlined = styled(WalletOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedQrcodeOutlined = styled(QrcodeOutlined)`
color: ${props => props.theme.walletBackground} !important;
`;
export const ThemedSettingOutlined = styled(SettingOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedLockOutlined = styled(LockOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedContactsOutlined = styled(ContactsOutlined)`
color: ${props => props.theme.icons.outlined} !important;
`;
export const ThemedContactSendOutlined = styled(Send)`
color: ${props => props.theme.icons.outlined} !important;
transform: rotate(-35deg);
padding: 0.15rem 0rem 0.18rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedCopySolid = styled(CopySolid)`
fill: ${props => props.theme.contrast};
padding: 0rem 0rem 0.27rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedLinkSolid = styled(LinkSolid)`
fill: ${props => props.theme.contrast};
padding: 0.15rem 0rem 0.18rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedPdfSolid = styled(Pdf)`
fill: ${props => props.theme.contrast};
padding: 0.15rem 0rem 0.18rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedPlusOutlined = styled(Plus)`
fill: ${props => props.theme.contrast};
padding: 0.15rem 0rem 0.18rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedDownloadOutlined = styled(Download)`
fill: ${props => props.theme.contrast};
padding: 0.15rem 0rem 0.18rem 0rem;
height: 1.3em;
width: 1.3em;
`;
export const ThemedEditOutlined = styled(Edit)`
stroke: ${props => props.theme.eCashBlue};
fill: ${props => props.theme.eCashBlue};
width: 20px;
height: 20px;
cursor: pointer;
`;
export const ThemedTrashcanOutlined = styled(Trashcan)`
stroke: ${props => props.theme.eCashBlue};
fill: ${props => props.theme.eCashBlue};
width: 20px;
height: 20px;
cursor: pointer;
`;
export const ThemedMailOutlined = styled(Mail)`
stroke: ${props => props.theme.eCashBlue};
fill: ${props => props.theme.eCashBlue};
width: 20px;
height: 20px;
cursor: pointer;
`;
export const ThemedEyeSVG = styled(EyeSVG)`
fill: ${props => props.theme.buttons.primary.color};
width: 15px;
height: 15px;
cursor: pointer;
`;
export const ThemedInvisibleEyeSVG = styled(EyeInvisibleSVG)`
fill: ${props => props.theme.buttons.primary.color};
width: 15px;
height: 15px;
cursor: pointer;
`;
export const ThemedSignAndVerifyMsg = styled(Audit)`
min-width: 24px;
`;
export const ThemedUserProfileIcon = styled(User)`
height: 33px;
width: 30px;
`;
export const ThemedAliasOutlined = styled(User)`
fill: ${props => props.theme.icons.outlined} !important;
height: 12px;
width: 12px;
`;
export const LoadingBlock = styled.div`
width: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
flex-direction: column;
svg {
width: 50px;
height: 50px;
fill: ${props => props.theme.eCashBlue};
}
`;
export const CashLoader = () => (
<LoadingBlock>
<LoadingOutlined />
</LoadingBlock>
);
export const ReceiveIcon = () => <Receive />;
export const GenesisIcon = () => <Genesis />;
export const UnparsedIcon = () => <Unparsed />;
export const HomeIcon = () => <Home />;
export const SettingsIcon = () => <Settings height={'33px'} width={'30px'} />;
export const PendingAliasWarningIcon = () => (
<WarningOutlined style={{ fontSize: 25 }} />
);
export const WarningIcon = () => <WarningOutlined style={{ fontSize: 45 }} />;
export const AirdropIcon = () => <Airdrop height={'33px'} width={'30px'} />;
export const SwapIcon = () => <SwapOutlined style={{ fontSize: 24 }} />;
export const SendIcon = styled(Send)`
transform: rotate(-35deg);
`;
-export const AliasSearchIcon = () => (
- <SearchOutlined style={{ fontSize: 20 }} />
-);
export const AliasRegisterIcon = () => (
<UserAddOutlined style={{ fontSize: 20 }} />
);
export const AliasIcon = styled(User)``;
export const CustomSpinner = <LoadingOutlined style={{ fontSize: 24 }} spin />;
diff --git a/cashtab/src/components/Common/PrimaryButton.js b/cashtab/src/components/Common/PrimaryButton.js
index 997244985..10e216be8 100644
--- a/cashtab/src/components/Common/PrimaryButton.js
+++ b/cashtab/src/components/Common/PrimaryButton.js
@@ -1,163 +1,125 @@
import styled from 'styled-components';
const PrimaryButton = styled.button`
border: 2px solid ${props => props.theme.eCashBlue};
color: ${props => props.theme.buttons.primary.color};
background: none;
font-weight: bold;
background-color: ${props => props.theme.eCashBlue};
transition: all 0.5s ease;
background-size: 200% auto;
font-size: 18px;
width: 100%;
padding: 20px 0;
border-radius: 0px;
margin-bottom: 20px;
cursor: pointer;
:hover {
background-position: right center;
-webkit-box-shadow: ${props => props.theme.buttons.primary.hoverShadow};
-moz-box-shadow: ${props => props.theme.buttons.primary.hoverShadow};
box-shadow: ${props => props.theme.buttons.primary.hoverShadow};
}
svg {
fill: ${props => props.theme.buttons.primary.color};
}
@media (max-width: 768px) {
font-size: 16px;
padding: 15px 0;
}
`;
const SecondaryButton = styled.button`
border: none;
color: ${props => props.theme.buttons.secondary.color};
background: ${props => props.theme.buttons.secondary.background};
transition: all 0.5s ease;
font-size: 18px;
width: 100%;
padding: 15px 0;
border-radius: 4px;
cursor: pointer;
outline: none;
margin-bottom: 20px;
:hover {
-webkit-box-shadow: ${props =>
props.theme.buttons.secondary.hoverShadow};
-moz-box-shadow: ${props => props.theme.buttons.secondary.hoverShadow};
box-shadow: ${props => props.theme.buttons.secondary.hoverShadow};
}
svg {
fill: ${props => props.theme.buttons.secondary.color};
}
@media (max-width: 768px) {
font-size: 16px;
padding: 12px 0;
}
`;
const DisabledButton = styled.button`
border: 2px solid ${props => props.theme.buttons.secondary.background};
color: ${props => props.theme.buttons.secondary.color};
background: ${props => props.theme.buttons.secondary.background};
transition: all 0.5s ease;
font-size: 18px;
width: 100%;
padding: 20px 0;
border-radius: 4px;
cursor: not-allowed;
outline: none;
margin-bottom: 20px;
:hover {
-webkit-box-shadow: ${props =>
props.theme.buttons.secondary.hoverShadow};
-moz-box-shadow: ${props => props.theme.buttons.secondary.hoverShadow};
box-shadow: ${props => props.theme.buttons.secondary.hoverShadow};
}
svg {
fill: ${props => props.theme.buttons.secondary.color};
}
@media (max-width: 768px) {
font-size: 16px;
padding: 12px 0;
}
`;
const SmartButton = styled.button`
${({ disabled = false, ...props }) =>
disabled === true
? `
background-image: 'none';
color: ${props.theme.buttons.secondary.color};
background: ${props.theme.buttons.secondary.background};
opacity: 0.3;
svg {
fill: ${props.theme.buttons.secondary.color};
}
`
: `
opacity: 1;
background-image: 'none';
color: ${props.theme.buttons.secondary.color};
background: ${props.theme.buttons.secondary.background};
svg {
fill: ${props.theme.buttons.secondary.color};
}
`}
border: none;
transition: all 0.5s ease;
font-size: 18px;
width: 100%;
padding: 15px 0;
border-radius: 4px;
cursor: pointer;
outline: none;
margin-bottom: 20px;
@media (max-width: 768px) {
font-size: 16px;
padding: 12px 0;
}
`;
-const SmartButtonLookupOnly = styled.button`
- ${({ disabled = false, ...props }) =>
- disabled === true
- ? `
- background-image: 'none';
- color: ${props.theme.buttons.alternateSecondary.color};
- background: ${props.theme.buttons.alternateSecondary.background};
- opacity: 0.3;
- svg {
- fill: ${props.theme.buttons.alternateSecondary.color};
- }
- `
- : `
- opacity: 1;
- background-image: 'none';
- color: ${props.theme.buttons.alternateSecondary.color};
- background: ${props.theme.buttons.alternateSecondary.background};
- svg {
- fill: ${props.theme.buttons.alternateSecondary.color};
- }
- `}
-
- border: none;
- transition: all 0.5s ease;
- font-size: 18px;
- width: 100%;
- padding: 15px 0;
- border-radius: 4px;
- cursor: pointer;
- outline: none;
- margin-bottom: 20px;
-
- @media (max-width: 768px) {
- font-size: 16px;
- padding: 12px 0;
- }
-`;
-
export default PrimaryButton;
-export { SecondaryButton, SmartButton, DisabledButton, SmartButtonLookupOnly };
+export { SecondaryButton, SmartButton, DisabledButton };
diff --git a/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap b/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap
index 701f1b63c..9c5c69373 100644
--- a/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap
+++ b/cashtab/src/components/Configure/__tests__/__snapshots__/Configure.test.js.snap
@@ -1,975 +1,975 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances and tokens 1`] = `
<div
className="sc-kEYyzF gZfJyA"
>
<div
- className="sc-bbmXgH jSFStk"
+ className="sc-uJMKN fnBvxX"
>
<h2>
<span
aria-label="copy"
className="anticon anticon-copy sc-bwzfXH gJwWNq"
role="img"
>
<svg
aria-hidden="true"
data-icon="copy"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"
/>
</svg>
</span>
Backup your wallet
</h2>
<div
className="ant-alert ant-alert-warning ant-alert-with-description"
data-show={true}
role="alert"
style={
Object {
"marginBottom": "12px",
}
}
>
<span
aria-label="exclamation-circle"
className="anticon anticon-exclamation-circle ant-alert-icon"
role="img"
>
<svg
aria-hidden="true"
data-icon="exclamation-circle"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
/>
<path
d="M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"
/>
</svg>
</span>
<div
className="ant-alert-content"
>
<div
className="ant-alert-description"
>
Your seed phrase is the only way to restore your wallet. Write it down. Keep it safe.
</div>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
Manage Wallets
</h2>
<button
className="sc-fAjcbJ cYOTVm"
onClick={[Function]}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
New Wallet
</button>
<button
className="sc-caSCKo bhoqTa"
onClick={[Function]}
>
<span
aria-label="import"
className="anticon anticon-import"
role="img"
>
<svg
aria-hidden="true"
data-icon="import"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Import Wallet
</button>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-iRbamj bmUgOm"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
Contact List
</span>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="dollar"
className="anticon anticon-dollar sc-htpNat lgbLiL"
role="img"
>
<svg
aria-hidden="true"
data-icon="dollar"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z"
/>
</svg>
</span>
Fiat Currency
</h2>
<div
className="sc-fBuWsC iCHega"
>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "100%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="US Dollar ($)"
>
US Dollar ($)
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="setting"
className="anticon anticon-setting sc-EHOje fuKjcV"
role="img"
>
<svg
aria-hidden="true"
data-icon="setting"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"
/>
</svg>
</span>
General Settings
</h2>
<div
- className="sc-tilXH htdujb"
+ className="sc-fYxtnH PqgPh"
>
<div
className="SendConfirm"
>
<span
aria-label="lock"
className="anticon anticon-lock"
role="img"
>
<svg
aria-hidden="true"
data-icon="lock"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z"
/>
</svg>
</span>
Send Confirmations
</div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<span
aria-label="close"
className="anticon anticon-close"
role="img"
>
<svg
aria-hidden="true"
data-icon="close"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
/>
</svg>
</span>
</span>
</button>
</div>
<div
- className="sc-tilXH htdujb"
+ className="sc-fYxtnH PqgPh"
>
<div
className="ShowMessages"
>
<span
aria-label="lock"
className="anticon anticon-lock"
role="img"
>
<svg
aria-hidden="true"
data-icon="lock"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z"
/>
</svg>
</span>
Hide messages from unknown sender
</div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<span
aria-label="close"
className="anticon anticon-close"
role="img"
>
<svg
aria-hidden="true"
data-icon="close"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
`;
exports[`Without wallet defined 1`] = `
<div
className="sc-kEYyzF gZfJyA"
>
<div
- className="sc-bbmXgH jSFStk"
+ className="sc-uJMKN fnBvxX"
>
<h2>
<span
aria-label="copy"
className="anticon anticon-copy sc-bwzfXH gJwWNq"
role="img"
>
<svg
aria-hidden="true"
data-icon="copy"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"
/>
</svg>
</span>
Backup your wallet
</h2>
<div
className="ant-alert ant-alert-warning ant-alert-with-description"
data-show={true}
role="alert"
style={
Object {
"marginBottom": "12px",
}
}
>
<span
aria-label="exclamation-circle"
className="anticon anticon-exclamation-circle ant-alert-icon"
role="img"
>
<svg
aria-hidden="true"
data-icon="exclamation-circle"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
/>
<path
d="M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"
/>
</svg>
</span>
<div
className="ant-alert-content"
>
<div
className="ant-alert-description"
>
Your seed phrase is the only way to restore your wallet. Write it down. Keep it safe.
</div>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
Manage Wallets
</h2>
<button
className="sc-fAjcbJ cYOTVm"
onClick={[Function]}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
New Wallet
</button>
<button
className="sc-caSCKo bhoqTa"
onClick={[Function]}
>
<span
aria-label="import"
className="anticon anticon-import"
role="img"
>
<svg
aria-hidden="true"
data-icon="import"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Import Wallet
</button>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-iRbamj bmUgOm"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
Contact List
</span>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="dollar"
className="anticon anticon-dollar sc-htpNat lgbLiL"
role="img"
>
<svg
aria-hidden="true"
data-icon="dollar"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z"
/>
</svg>
</span>
Fiat Currency
</h2>
<div
className="sc-fBuWsC iCHega"
>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "100%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="US Dollar ($)"
>
US Dollar ($)
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
</div>
<div
- className="sc-gGBfsJ cbqQWh"
+ className="sc-bbmXgH cQnDDW"
/>
<h2>
<span
aria-label="setting"
className="anticon anticon-setting sc-EHOje fuKjcV"
role="img"
>
<svg
aria-hidden="true"
data-icon="setting"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"
/>
</svg>
</span>
General Settings
</h2>
<div
- className="sc-tilXH htdujb"
+ className="sc-fYxtnH PqgPh"
>
<div
className="SendConfirm"
>
<span
aria-label="lock"
className="anticon anticon-lock"
role="img"
>
<svg
aria-hidden="true"
data-icon="lock"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z"
/>
</svg>
</span>
Send Confirmations
</div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<span
aria-label="close"
className="anticon anticon-close"
role="img"
>
<svg
aria-hidden="true"
data-icon="close"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
/>
</svg>
</span>
</span>
</button>
</div>
<div
- className="sc-tilXH htdujb"
+ className="sc-fYxtnH PqgPh"
>
<div
className="ShowMessages"
>
<span
aria-label="lock"
className="anticon anticon-lock"
role="img"
>
<svg
aria-hidden="true"
data-icon="lock"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1156 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z"
/>
</svg>
</span>
Hide messages from unknown sender
</div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<span
aria-label="close"
className="anticon anticon-close"
role="img"
>
<svg
aria-hidden="true"
data-icon="close"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
`;
diff --git a/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap b/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap
index 50da1b828..b283256c9 100644
--- a/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap
+++ b/cashtab/src/components/Home/__tests__/__snapshots__/Home.test.js.snap
@@ -1,629 +1,629 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
Array [
<div
- className="sc-jtRfpW hdzLJp"
+ className="sc-elJkPf KqQMk"
>
<div
- className="sc-ibxdXY iBjtCU"
+ className="sc-eXEjpC fRnTPw"
>
<h4
- className="sc-RefOD jEYhYy"
+ className="sc-ibxdXY gNKGGy"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dqBHgY YXePy"
+ className="sc-kTUwUJ bWNEPO"
>
<span
- className="sc-esjQYD jHLxei"
+ className="sc-kfGgVZ ezlXcw"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-bYSBpT gxjAgF"
+ className="sc-lhVmIH gJoLAm"
>
<div
- className="sc-iQKALj bmQgGJ"
+ className="sc-RefOD bFUtiM"
>
<button
- className="sc-bwCtUz cLmgbl"
+ className="sc-iQKALj bpbBVm"
onClick={[Function]}
>
Transactions
</button>
<button
- className="sc-bwCtUz phLYV"
+ className="sc-iQKALj jssRHA"
onClick={[Function]}
>
eTokens
</button>
</div>
<div
- className="sc-hrWEMg fmDNsy"
+ className="sc-bwCtUz jWzyRI"
>
<div />
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
Congratulations on your new wallet!
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
<br />
Start using the wallet immediately to receive
XEC
payments, or load it up with
XEC
to send to others
<br />
<br />
</div>
<div
- className="sc-hrWEMg dMhHRa"
+ className="sc-bwCtUz hyFPDq"
>
<a
- className="sc-epnACN laMfVZ"
+ className="sc-hXRMBi kpUYV"
href="/tokens"
onClick={[Function]}
>
Create eToken
</a>
<p>
Tokens sent to your
eToken
address will appear here
</p>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens 1`] = `
Array [
<div
- className="sc-jtRfpW hdzLJp"
+ className="sc-elJkPf KqQMk"
>
<div
- className="sc-ibxdXY iBjtCU"
+ className="sc-eXEjpC fRnTPw"
>
<h4
- className="sc-RefOD jEYhYy"
+ className="sc-ibxdXY gNKGGy"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dqBHgY YXePy"
+ className="sc-kTUwUJ bWNEPO"
>
<span
- className="sc-esjQYD jHLxei"
+ className="sc-kfGgVZ ezlXcw"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-bYSBpT gxjAgF"
+ className="sc-lhVmIH gJoLAm"
>
<div
- className="sc-iQKALj bmQgGJ"
+ className="sc-RefOD bFUtiM"
>
<button
- className="sc-bwCtUz cLmgbl"
+ className="sc-iQKALj bpbBVm"
onClick={[Function]}
>
Transactions
</button>
<button
- className="sc-bwCtUz phLYV"
+ className="sc-iQKALj jssRHA"
onClick={[Function]}
>
eTokens
</button>
</div>
<div
- className="sc-hrWEMg fmDNsy"
+ className="sc-bwCtUz jWzyRI"
>
<div />
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
Congratulations on your new wallet!
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
<br />
Start using the wallet immediately to receive
XEC
payments, or load it up with
XEC
to send to others
<br />
<br />
</div>
<div
- className="sc-hrWEMg dMhHRa"
+ className="sc-bwCtUz hyFPDq"
>
<a
- className="sc-epnACN laMfVZ"
+ className="sc-hXRMBi kpUYV"
href="/tokens"
onClick={[Function]}
>
Create eToken
</a>
<p>
Tokens sent to your
eToken
address will appear here
</p>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
Array [
<div
- className="sc-jtRfpW hdzLJp"
+ className="sc-elJkPf KqQMk"
>
<div
- className="sc-ibxdXY iBjtCU"
+ className="sc-eXEjpC fRnTPw"
>
<h4
- className="sc-RefOD jEYhYy"
+ className="sc-ibxdXY gNKGGy"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dqBHgY YXePy"
+ className="sc-kTUwUJ bWNEPO"
>
<span
- className="sc-esjQYD jHLxei"
+ className="sc-kfGgVZ ezlXcw"
>
0.06
XEC
</span>
</div>
</div>,
<div
- className="sc-bYSBpT gxjAgF"
+ className="sc-lhVmIH gJoLAm"
>
<div
- className="sc-iQKALj bmQgGJ"
+ className="sc-RefOD bFUtiM"
>
<button
- className="sc-bwCtUz cLmgbl"
+ className="sc-iQKALj bpbBVm"
onClick={[Function]}
>
Transactions
</button>
<button
- className="sc-bwCtUz phLYV"
+ className="sc-iQKALj jssRHA"
onClick={[Function]}
>
eTokens
</button>
</div>
<div
- className="sc-hrWEMg fmDNsy"
+ className="sc-bwCtUz jWzyRI"
>
<div />
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
Congratulations on your new wallet!
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
<br />
Start using the wallet immediately to receive
XEC
payments, or load it up with
XEC
to send to others
<br />
<br />
</div>
<div
- className="sc-hrWEMg dMhHRa"
+ className="sc-bwCtUz hyFPDq"
>
<a
- className="sc-epnACN laMfVZ"
+ className="sc-hXRMBi kpUYV"
href="/tokens"
onClick={[Function]}
>
Create eToken
</a>
<div>
<a
href="/send-token/bd1acc4c986de57af8d6d2a64aecad8c30ee80f37ae9d066d758923732ddc9ba"
onClick={[Function]}
>
<div
- className="sc-gipzik iSRhag"
+ className="sc-jlyJG gcRGZa"
>
<div
- className="sc-jlyJG eLmUqn"
+ className="sc-iRbamj ckvBio"
>
<div
- className="sc-iRbamj bwxfvp"
+ className="sc-gPEVay jrVrPT"
/>
<h4>
TBS
</h4>
</div>
<h4>
6.001000000
</h4>
</div>
</a>
</div>
</div>
</div>,
]
`;
exports[`Wallet without BCH balance 1`] = `
Array [
<div
- className="sc-jtRfpW hdzLJp"
+ className="sc-elJkPf KqQMk"
>
<div
- className="sc-ibxdXY iBjtCU"
+ className="sc-eXEjpC fRnTPw"
>
<h4
- className="sc-RefOD jEYhYy"
+ className="sc-ibxdXY gNKGGy"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dqBHgY YXePy"
+ className="sc-kTUwUJ bWNEPO"
>
<span
- className="sc-esjQYD jHLxei"
+ className="sc-kfGgVZ ezlXcw"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-bYSBpT gxjAgF"
+ className="sc-lhVmIH gJoLAm"
>
<div
- className="sc-iQKALj bmQgGJ"
+ className="sc-RefOD bFUtiM"
>
<button
- className="sc-bwCtUz cLmgbl"
+ className="sc-iQKALj bpbBVm"
onClick={[Function]}
>
Transactions
</button>
<button
- className="sc-bwCtUz phLYV"
+ className="sc-iQKALj jssRHA"
onClick={[Function]}
>
eTokens
</button>
</div>
<div
- className="sc-hrWEMg fmDNsy"
+ className="sc-bwCtUz jWzyRI"
>
<div />
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
Congratulations on your new wallet!
<span
aria-label="party emoji"
role="img"
>
🎉
</span>
<br />
Start using the wallet immediately to receive
XEC
payments, or load it up with
XEC
to send to others
<br />
<br />
</div>
<div
- className="sc-hrWEMg dMhHRa"
+ className="sc-bwCtUz hyFPDq"
>
<a
- className="sc-epnACN laMfVZ"
+ className="sc-hXRMBi kpUYV"
href="/tokens"
onClick={[Function]}
>
Create eToken
</a>
<p>
Tokens sent to your
eToken
address will appear here
</p>
</div>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
<div
- className="sc-jAaTju bgJWZT"
+ className="sc-cMljjf yzuNU"
>
<h2>
Welcome to Cashtab!
</h2>
<p
- className="sc-jDwBTQ cXDVrK"
+ className="sc-jAaTju dRNmSH"
>
Cashtab is an
<a
- className="sc-gPEVay mMWHm"
+ className="sc-jDwBTQ cKENCL"
href="https://github.com/bitcoin-abc/bitcoin-abc"
rel="noreferrer"
target="_blank"
>
open source,
</a>
non-custodial web wallet for
eCash
.
</p>
<button
className="sc-eHgmQL bqOmSo"
onClick={[Function]}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
New Wallet
</button>
<button
className="sc-cvbbAY eOLbDk"
onClick={[Function]}
>
<span
aria-label="import"
className="anticon anticon-import"
role="img"
>
<svg
aria-hidden="true"
data-icon="import"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Import Wallet
</button>
</div>
`;
diff --git a/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap b/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap
index da97a2c37..351c56d48 100644
--- a/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap
+++ b/cashtab/src/components/Receive/__tests__/__snapshots__/Receive.test.js.snap
@@ -1,735 +1,735 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
<div
- className="sc-dNLxif bXezjW"
+ className="sc-jbKcbu chxVTs"
>
<div
- className="sc-dVhcbM bRxWga"
+ className="sc-fMiknA gGBgXP"
>
<div
- className="sc-kvZOFW doNGNc"
+ className="sc-frDJqD dtsefc"
>
<h4
- className="sc-hqyNC eLVWMU"
+ className="sc-kvZOFW dCVvjv"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-caSCKo ibGVOV"
+ className="sc-fAjcbJ bqLVzB"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
- className="sc-jbKcbu cWSlbe"
+ className="sc-hqyNC keRCOE"
>
<div
onClick={[Function]}
>
<div
style={
Object {
"display": "inline-block",
"position": "relative",
"width": "100%",
}
}
>
<div
onClick={[Function]}
style={
Object {
"position": "relative",
}
}
>
<div
- className="sc-jlyJG huEcKO"
+ className="sc-iRbamj gBhxzY"
style={
Object {
"display": "none",
}
}
>
Copied
<br />
<span
style={
Object {
"fontSize": "12px",
}
}
>
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
</span>
</div>
<svg
- className="sc-iRbamj rQdRC"
+ className="sc-gPEVay kXhBnS"
height={210}
id="borderedQRCode"
shapeRendering="crispEdges"
viewBox="0 0 37 37"
width={210}
>
<path
d="M0,0 h37v37H0z"
fill="#FFFFFF"
/>
<path
d="M4 4h7v1H4zM12 4h1v1H12zM14 4h1v1H14zM16 4h1v1H16zM18 4h1v1H18zM21 4h4v1H21zM26,4 h7v1H26zM4 5h1v1H4zM10 5h1v1H10zM13 5h5v1H13zM20 5h1v1H20zM22 5h1v1H22zM26 5h1v1H26zM32,5 h1v1H32zM4 6h1v1H4zM6 6h3v1H6zM10 6h1v1H10zM12 6h3v1H12zM17 6h1v1H17zM19 6h2v1H19zM26 6h1v1H26zM28 6h3v1H28zM32,6 h1v1H32zM4 7h1v1H4zM6 7h3v1H6zM10 7h1v1H10zM12 7h3v1H12zM16 7h4v1H16zM21 7h2v1H21zM26 7h1v1H26zM28 7h3v1H28zM32,7 h1v1H32zM4 8h1v1H4zM6 8h3v1H6zM10 8h1v1H10zM12 8h1v1H12zM15 8h3v1H15zM19 8h5v1H19zM26 8h1v1H26zM28 8h3v1H28zM32,8 h1v1H32zM4 9h1v1H4zM10 9h1v1H10zM14 9h2v1H14zM17 9h1v1H17zM21 9h1v1H21zM23 9h1v1H23zM26 9h1v1H26zM32,9 h1v1H32zM4 10h7v1H4zM12 10h1v1H12zM14 10h1v1H14zM16 10h1v1H16zM18 10h1v1H18zM20 10h1v1H20zM22 10h1v1H22zM24 10h1v1H24zM26,10 h7v1H26zM14 11h1v1H14zM16 11h1v1H16zM19 11h1v1H19zM21 11h3v1H21zM4 12h4v1H4zM10 12h1v1H10zM12 12h1v1H12zM14 12h2v1H14zM19 12h7v1H19zM28 12h3v1H28zM32,12 h1v1H32zM5 13h1v1H5zM7 13h2v1H7zM12 13h1v1H12zM14 13h1v1H14zM16 13h1v1H16zM18 13h1v1H18zM20 13h1v1H20zM22 13h3v1H22zM26 13h1v1H26zM28 13h1v1H28zM32,13 h1v1H32zM4 14h2v1H4zM7 14h4v1H7zM12 14h4v1H12zM17 14h1v1H17zM21 14h1v1H21zM25 14h1v1H25zM27 14h1v1H27zM29 14h1v1H29zM31 14h1v1H31zM4 15h2v1H4zM8 15h2v1H8zM12 15h3v1H12zM16 15h3v1H16zM20 15h1v1H20zM22 15h1v1H22zM25 15h1v1H25zM27 15h1v1H27zM31,15 h2v1H31zM5 16h4v1H5zM10 16h2v1H10zM13 16h2v1H13zM21 16h1v1H21zM23 16h1v1H23zM27 16h1v1H27zM30 16h2v1H30zM5 17h1v1H5zM7 17h1v1H7zM9 17h1v1H9zM11 17h1v1H11zM13 17h1v1H13zM21 17h1v1H21zM23 17h1v1H23zM26 17h2v1H26zM32,17 h1v1H32zM5 18h1v1H5zM9 18h2v1H9zM12 18h1v1H12zM14 18h1v1H14zM21 18h1v1H21zM23 18h1v1H23zM25 18h1v1H25zM27 18h1v1H27zM29 18h1v1H29zM31,18 h2v1H31zM5 19h5v1H5zM12 19h1v1H12zM15 19h1v1H15zM32,19 h1v1H32zM8 20h4v1H8zM14 20h1v1H14zM22 20h2v1H22zM25 20h1v1H25zM28 20h2v1H28zM6 21h1v1H6zM12 21h1v1H12zM15 21h3v1H15zM19 21h1v1H19zM21 21h1v1H21zM24 21h2v1H24zM27 21h1v1H27zM29 21h2v1H29zM4 22h1v1H4zM7 22h1v1H7zM9 22h3v1H9zM13 22h2v1H13zM16 22h2v1H16zM19 22h1v1H19zM21 22h2v1H21zM24 22h1v1H24zM27 22h1v1H27zM30 22h1v1H30zM8 23h2v1H8zM13 23h2v1H13zM16 23h1v1H16zM19 23h1v1H19zM21 23h1v1H21zM24 23h1v1H24zM26 23h1v1H26zM29 23h3v1H29zM5 24h2v1H5zM8 24h1v1H8zM10 24h1v1H10zM16 24h1v1H16zM18 24h1v1H18zM21 24h8v1H21zM30,24 h3v1H30zM12 25h1v1H12zM15 25h4v1H15zM20 25h5v1H20zM28 25h1v1H28zM31,25 h2v1H31zM4 26h7v1H4zM13 26h1v1H13zM15 26h1v1H15zM18 26h1v1H18zM20 26h1v1H20zM22 26h3v1H22zM26 26h1v1H26zM28 26h4v1H28zM4 27h1v1H4zM10 27h1v1H10zM14 27h2v1H14zM17 27h1v1H17zM19 27h2v1H19zM24 27h1v1H24zM28 27h1v1H28zM32,27 h1v1H32zM4 28h1v1H4zM6 28h3v1H6zM10 28h1v1H10zM13 28h2v1H13zM17 28h5v1H17zM24 28h8v1H24zM4 29h1v1H4zM6 29h3v1H6zM10 29h1v1H10zM12 29h3v1H12zM16 29h4v1H16zM22 29h1v1H22zM25 29h1v1H25zM27 29h2v1H27zM31,29 h2v1H31zM4 30h1v1H4zM6 30h3v1H6zM10 30h1v1H10zM12 30h1v1H12zM14 30h1v1H14zM21 30h1v1H21zM27 30h1v1H27zM29 30h2v1H29zM32,30 h1v1H32zM4 31h1v1H4zM10 31h1v1H10zM12 31h2v1H12zM15 31h2v1H15zM18 31h1v1H18zM20 31h1v1H20zM22 31h8v1H22zM31 31h1v1H31zM4 32h7v1H4zM12 32h1v1H12zM14 32h4v1H14zM20 32h1v1H20zM24 32h1v1H24zM27 32h1v1H27zM31 32h1v1H31z"
fill="#000000"
/>
<image
height={4.228571428571429}
preserveAspectRatio="none"
width={4.228571428571429}
x={16.385714285714286}
xlinkHref="logo_primary.png"
y={16.385714285714286}
/>
</svg>
<div
- className="sc-Rmtcm hGOEXN notranslate"
+ className="sc-csuQGl hhPqYt notranslate"
>
<input
readOnly={true}
spellCheck="false"
type="text"
value="ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd"
/>
<span
- className="sc-gipzik cLhqPL"
+ className="sc-jlyJG jnbdIh"
>
ecash:
</span>
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
qzagy47m
</span>
vh6qxkvcn3acjnz73rkhkc6y7c
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
cxkrr6zd
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Wallet with BCH balances and tokens 1`] = `
<div
- className="sc-dNLxif bXezjW"
+ className="sc-jbKcbu chxVTs"
>
<div
- className="sc-dVhcbM bRxWga"
+ className="sc-fMiknA gGBgXP"
>
<div
- className="sc-kvZOFW doNGNc"
+ className="sc-frDJqD dtsefc"
>
<h4
- className="sc-hqyNC eLVWMU"
+ className="sc-kvZOFW dCVvjv"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-caSCKo ibGVOV"
+ className="sc-fAjcbJ bqLVzB"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
- className="sc-jbKcbu cWSlbe"
+ className="sc-hqyNC keRCOE"
>
<div
onClick={[Function]}
>
<div
style={
Object {
"display": "inline-block",
"position": "relative",
"width": "100%",
}
}
>
<div
onClick={[Function]}
style={
Object {
"position": "relative",
}
}
>
<div
- className="sc-jlyJG huEcKO"
+ className="sc-iRbamj gBhxzY"
style={
Object {
"display": "none",
}
}
>
Copied
<br />
<span
style={
Object {
"fontSize": "12px",
}
}
>
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
</span>
</div>
<svg
- className="sc-iRbamj rQdRC"
+ className="sc-gPEVay kXhBnS"
height={210}
id="borderedQRCode"
shapeRendering="crispEdges"
viewBox="0 0 37 37"
width={210}
>
<path
d="M0,0 h37v37H0z"
fill="#FFFFFF"
/>
<path
d="M4 4h7v1H4zM12 4h1v1H12zM14 4h1v1H14zM16 4h1v1H16zM18 4h1v1H18zM21 4h4v1H21zM26,4 h7v1H26zM4 5h1v1H4zM10 5h1v1H10zM13 5h5v1H13zM20 5h1v1H20zM22 5h1v1H22zM26 5h1v1H26zM32,5 h1v1H32zM4 6h1v1H4zM6 6h3v1H6zM10 6h1v1H10zM12 6h3v1H12zM17 6h1v1H17zM19 6h2v1H19zM26 6h1v1H26zM28 6h3v1H28zM32,6 h1v1H32zM4 7h1v1H4zM6 7h3v1H6zM10 7h1v1H10zM12 7h3v1H12zM16 7h4v1H16zM21 7h2v1H21zM26 7h1v1H26zM28 7h3v1H28zM32,7 h1v1H32zM4 8h1v1H4zM6 8h3v1H6zM10 8h1v1H10zM12 8h1v1H12zM15 8h3v1H15zM19 8h5v1H19zM26 8h1v1H26zM28 8h3v1H28zM32,8 h1v1H32zM4 9h1v1H4zM10 9h1v1H10zM14 9h2v1H14zM17 9h1v1H17zM21 9h1v1H21zM23 9h1v1H23zM26 9h1v1H26zM32,9 h1v1H32zM4 10h7v1H4zM12 10h1v1H12zM14 10h1v1H14zM16 10h1v1H16zM18 10h1v1H18zM20 10h1v1H20zM22 10h1v1H22zM24 10h1v1H24zM26,10 h7v1H26zM14 11h1v1H14zM16 11h1v1H16zM19 11h1v1H19zM21 11h3v1H21zM4 12h4v1H4zM10 12h1v1H10zM12 12h1v1H12zM14 12h2v1H14zM19 12h7v1H19zM28 12h3v1H28zM32,12 h1v1H32zM5 13h1v1H5zM7 13h2v1H7zM12 13h1v1H12zM14 13h1v1H14zM16 13h1v1H16zM18 13h1v1H18zM20 13h1v1H20zM22 13h3v1H22zM26 13h1v1H26zM28 13h1v1H28zM32,13 h1v1H32zM4 14h2v1H4zM7 14h4v1H7zM12 14h4v1H12zM17 14h1v1H17zM21 14h1v1H21zM25 14h1v1H25zM27 14h1v1H27zM29 14h1v1H29zM31 14h1v1H31zM4 15h2v1H4zM8 15h2v1H8zM12 15h3v1H12zM16 15h3v1H16zM20 15h1v1H20zM22 15h1v1H22zM25 15h1v1H25zM27 15h1v1H27zM31,15 h2v1H31zM5 16h4v1H5zM10 16h2v1H10zM13 16h2v1H13zM21 16h1v1H21zM23 16h1v1H23zM27 16h1v1H27zM30 16h2v1H30zM5 17h1v1H5zM7 17h1v1H7zM9 17h1v1H9zM11 17h1v1H11zM13 17h1v1H13zM21 17h1v1H21zM23 17h1v1H23zM26 17h2v1H26zM32,17 h1v1H32zM5 18h1v1H5zM9 18h2v1H9zM12 18h1v1H12zM14 18h1v1H14zM21 18h1v1H21zM23 18h1v1H23zM25 18h1v1H25zM27 18h1v1H27zM29 18h1v1H29zM31,18 h2v1H31zM5 19h5v1H5zM12 19h1v1H12zM15 19h1v1H15zM32,19 h1v1H32zM8 20h4v1H8zM14 20h1v1H14zM22 20h2v1H22zM25 20h1v1H25zM28 20h2v1H28zM6 21h1v1H6zM12 21h1v1H12zM15 21h3v1H15zM19 21h1v1H19zM21 21h1v1H21zM24 21h2v1H24zM27 21h1v1H27zM29 21h2v1H29zM4 22h1v1H4zM7 22h1v1H7zM9 22h3v1H9zM13 22h2v1H13zM16 22h2v1H16zM19 22h1v1H19zM21 22h2v1H21zM24 22h1v1H24zM27 22h1v1H27zM30 22h1v1H30zM8 23h2v1H8zM13 23h2v1H13zM16 23h1v1H16zM19 23h1v1H19zM21 23h1v1H21zM24 23h1v1H24zM26 23h1v1H26zM29 23h3v1H29zM5 24h2v1H5zM8 24h1v1H8zM10 24h1v1H10zM16 24h1v1H16zM18 24h1v1H18zM21 24h8v1H21zM30,24 h3v1H30zM12 25h1v1H12zM15 25h4v1H15zM20 25h5v1H20zM28 25h1v1H28zM31,25 h2v1H31zM4 26h7v1H4zM13 26h1v1H13zM15 26h1v1H15zM18 26h1v1H18zM20 26h1v1H20zM22 26h3v1H22zM26 26h1v1H26zM28 26h4v1H28zM4 27h1v1H4zM10 27h1v1H10zM14 27h2v1H14zM17 27h1v1H17zM19 27h2v1H19zM24 27h1v1H24zM28 27h1v1H28zM32,27 h1v1H32zM4 28h1v1H4zM6 28h3v1H6zM10 28h1v1H10zM13 28h2v1H13zM17 28h5v1H17zM24 28h8v1H24zM4 29h1v1H4zM6 29h3v1H6zM10 29h1v1H10zM12 29h3v1H12zM16 29h4v1H16zM22 29h1v1H22zM25 29h1v1H25zM27 29h2v1H27zM31,29 h2v1H31zM4 30h1v1H4zM6 30h3v1H6zM10 30h1v1H10zM12 30h1v1H12zM14 30h1v1H14zM21 30h1v1H21zM27 30h1v1H27zM29 30h2v1H29zM32,30 h1v1H32zM4 31h1v1H4zM10 31h1v1H10zM12 31h2v1H12zM15 31h2v1H15zM18 31h1v1H18zM20 31h1v1H20zM22 31h8v1H22zM31 31h1v1H31zM4 32h7v1H4zM12 32h1v1H12zM14 32h4v1H14zM20 32h1v1H20zM24 32h1v1H24zM27 32h1v1H27zM31 32h1v1H31z"
fill="#000000"
/>
<image
height={4.228571428571429}
preserveAspectRatio="none"
width={4.228571428571429}
x={16.385714285714286}
xlinkHref="logo_primary.png"
y={16.385714285714286}
/>
</svg>
<div
- className="sc-Rmtcm hGOEXN notranslate"
+ className="sc-csuQGl hhPqYt notranslate"
>
<input
readOnly={true}
spellCheck="false"
type="text"
value="ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd"
/>
<span
- className="sc-gipzik cLhqPL"
+ className="sc-jlyJG jnbdIh"
>
ecash:
</span>
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
qzagy47m
</span>
vh6qxkvcn3acjnz73rkhkc6y7c
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
cxkrr6zd
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
<div
- className="sc-dNLxif bXezjW"
+ className="sc-jbKcbu chxVTs"
>
<div
- className="sc-dVhcbM bRxWga"
+ className="sc-fMiknA gGBgXP"
>
<div
- className="sc-kvZOFW doNGNc"
+ className="sc-frDJqD dtsefc"
>
<h4
- className="sc-hqyNC eLVWMU"
+ className="sc-kvZOFW dCVvjv"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-fAjcbJ cmsHYG"
+ className="sc-eqIVtm LeKhp"
>
<span
- className="sc-ksYbfQ hmDtHj"
+ className="sc-cJSrbW eswUti"
>
0.06
XEC
</span>
</div>
</div>
<div
- className="sc-jbKcbu cWSlbe"
+ className="sc-hqyNC keRCOE"
>
<div
onClick={[Function]}
>
<div
style={
Object {
"display": "inline-block",
"position": "relative",
"width": "100%",
}
}
>
<div
onClick={[Function]}
style={
Object {
"position": "relative",
}
}
>
<div
- className="sc-jlyJG huEcKO"
+ className="sc-iRbamj gBhxzY"
style={
Object {
"display": "none",
}
}
>
Copied
<br />
<span
style={
Object {
"fontSize": "12px",
}
}
>
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
</span>
</div>
<svg
- className="sc-iRbamj rQdRC"
+ className="sc-gPEVay kXhBnS"
height={210}
id="borderedQRCode"
shapeRendering="crispEdges"
viewBox="0 0 37 37"
width={210}
>
<path
d="M0,0 h37v37H0z"
fill="#FFFFFF"
/>
<path
d="M4 4h7v1H4zM12 4h1v1H12zM14 4h1v1H14zM16 4h1v1H16zM18 4h1v1H18zM21 4h4v1H21zM26,4 h7v1H26zM4 5h1v1H4zM10 5h1v1H10zM13 5h5v1H13zM20 5h1v1H20zM22 5h1v1H22zM26 5h1v1H26zM32,5 h1v1H32zM4 6h1v1H4zM6 6h3v1H6zM10 6h1v1H10zM12 6h3v1H12zM17 6h1v1H17zM19 6h2v1H19zM26 6h1v1H26zM28 6h3v1H28zM32,6 h1v1H32zM4 7h1v1H4zM6 7h3v1H6zM10 7h1v1H10zM12 7h3v1H12zM16 7h4v1H16zM21 7h2v1H21zM26 7h1v1H26zM28 7h3v1H28zM32,7 h1v1H32zM4 8h1v1H4zM6 8h3v1H6zM10 8h1v1H10zM12 8h1v1H12zM15 8h3v1H15zM19 8h5v1H19zM26 8h1v1H26zM28 8h3v1H28zM32,8 h1v1H32zM4 9h1v1H4zM10 9h1v1H10zM14 9h2v1H14zM17 9h1v1H17zM21 9h1v1H21zM23 9h1v1H23zM26 9h1v1H26zM32,9 h1v1H32zM4 10h7v1H4zM12 10h1v1H12zM14 10h1v1H14zM16 10h1v1H16zM18 10h1v1H18zM20 10h1v1H20zM22 10h1v1H22zM24 10h1v1H24zM26,10 h7v1H26zM14 11h1v1H14zM16 11h1v1H16zM19 11h1v1H19zM21 11h3v1H21zM4 12h4v1H4zM10 12h1v1H10zM12 12h1v1H12zM14 12h2v1H14zM19 12h7v1H19zM28 12h3v1H28zM32,12 h1v1H32zM5 13h1v1H5zM7 13h2v1H7zM12 13h1v1H12zM14 13h1v1H14zM16 13h1v1H16zM18 13h1v1H18zM20 13h1v1H20zM22 13h3v1H22zM26 13h1v1H26zM28 13h1v1H28zM32,13 h1v1H32zM4 14h2v1H4zM7 14h4v1H7zM12 14h4v1H12zM17 14h1v1H17zM21 14h1v1H21zM25 14h1v1H25zM27 14h1v1H27zM29 14h1v1H29zM31 14h1v1H31zM4 15h2v1H4zM8 15h2v1H8zM12 15h3v1H12zM16 15h3v1H16zM20 15h1v1H20zM22 15h1v1H22zM25 15h1v1H25zM27 15h1v1H27zM31,15 h2v1H31zM5 16h4v1H5zM10 16h2v1H10zM13 16h2v1H13zM21 16h1v1H21zM23 16h1v1H23zM27 16h1v1H27zM30 16h2v1H30zM5 17h1v1H5zM7 17h1v1H7zM9 17h1v1H9zM11 17h1v1H11zM13 17h1v1H13zM21 17h1v1H21zM23 17h1v1H23zM26 17h2v1H26zM32,17 h1v1H32zM5 18h1v1H5zM9 18h2v1H9zM12 18h1v1H12zM14 18h1v1H14zM21 18h1v1H21zM23 18h1v1H23zM25 18h1v1H25zM27 18h1v1H27zM29 18h1v1H29zM31,18 h2v1H31zM5 19h5v1H5zM12 19h1v1H12zM15 19h1v1H15zM32,19 h1v1H32zM8 20h4v1H8zM14 20h1v1H14zM22 20h2v1H22zM25 20h1v1H25zM28 20h2v1H28zM6 21h1v1H6zM12 21h1v1H12zM15 21h3v1H15zM19 21h1v1H19zM21 21h1v1H21zM24 21h2v1H24zM27 21h1v1H27zM29 21h2v1H29zM4 22h1v1H4zM7 22h1v1H7zM9 22h3v1H9zM13 22h2v1H13zM16 22h2v1H16zM19 22h1v1H19zM21 22h2v1H21zM24 22h1v1H24zM27 22h1v1H27zM30 22h1v1H30zM8 23h2v1H8zM13 23h2v1H13zM16 23h1v1H16zM19 23h1v1H19zM21 23h1v1H21zM24 23h1v1H24zM26 23h1v1H26zM29 23h3v1H29zM5 24h2v1H5zM8 24h1v1H8zM10 24h1v1H10zM16 24h1v1H16zM18 24h1v1H18zM21 24h8v1H21zM30,24 h3v1H30zM12 25h1v1H12zM15 25h4v1H15zM20 25h5v1H20zM28 25h1v1H28zM31,25 h2v1H31zM4 26h7v1H4zM13 26h1v1H13zM15 26h1v1H15zM18 26h1v1H18zM20 26h1v1H20zM22 26h3v1H22zM26 26h1v1H26zM28 26h4v1H28zM4 27h1v1H4zM10 27h1v1H10zM14 27h2v1H14zM17 27h1v1H17zM19 27h2v1H19zM24 27h1v1H24zM28 27h1v1H28zM32,27 h1v1H32zM4 28h1v1H4zM6 28h3v1H6zM10 28h1v1H10zM13 28h2v1H13zM17 28h5v1H17zM24 28h8v1H24zM4 29h1v1H4zM6 29h3v1H6zM10 29h1v1H10zM12 29h3v1H12zM16 29h4v1H16zM22 29h1v1H22zM25 29h1v1H25zM27 29h2v1H27zM31,29 h2v1H31zM4 30h1v1H4zM6 30h3v1H6zM10 30h1v1H10zM12 30h1v1H12zM14 30h1v1H14zM21 30h1v1H21zM27 30h1v1H27zM29 30h2v1H29zM32,30 h1v1H32zM4 31h1v1H4zM10 31h1v1H10zM12 31h2v1H12zM15 31h2v1H15zM18 31h1v1H18zM20 31h1v1H20zM22 31h8v1H22zM31 31h1v1H31zM4 32h7v1H4zM12 32h1v1H12zM14 32h4v1H14zM20 32h1v1H20zM24 32h1v1H24zM27 32h1v1H27zM31 32h1v1H31z"
fill="#000000"
/>
<image
height={4.228571428571429}
preserveAspectRatio="none"
width={4.228571428571429}
x={16.385714285714286}
xlinkHref="logo_primary.png"
y={16.385714285714286}
/>
</svg>
<div
- className="sc-Rmtcm hGOEXN notranslate"
+ className="sc-csuQGl hhPqYt notranslate"
>
<input
readOnly={true}
spellCheck="false"
type="text"
value="ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd"
/>
<span
- className="sc-gipzik cLhqPL"
+ className="sc-jlyJG jnbdIh"
>
ecash:
</span>
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
qzagy47m
</span>
vh6qxkvcn3acjnz73rkhkc6y7c
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
cxkrr6zd
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Wallet without BCH balance 1`] = `
<div
- className="sc-dNLxif bXezjW"
+ className="sc-jbKcbu chxVTs"
>
<div
- className="sc-dVhcbM bRxWga"
+ className="sc-fMiknA gGBgXP"
>
<div
- className="sc-kvZOFW doNGNc"
+ className="sc-frDJqD dtsefc"
>
<h4
- className="sc-hqyNC eLVWMU"
+ className="sc-kvZOFW dCVvjv"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-caSCKo ibGVOV"
+ className="sc-fAjcbJ bqLVzB"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
- className="sc-jbKcbu cWSlbe"
+ className="sc-hqyNC keRCOE"
>
<div
onClick={[Function]}
>
<div
style={
Object {
"display": "inline-block",
"position": "relative",
"width": "100%",
}
}
>
<div
onClick={[Function]}
style={
Object {
"position": "relative",
}
}
>
<div
- className="sc-jlyJG huEcKO"
+ className="sc-iRbamj gBhxzY"
style={
Object {
"display": "none",
}
}
>
Copied
<br />
<span
style={
Object {
"fontSize": "12px",
}
}
>
ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd
</span>
</div>
<svg
- className="sc-iRbamj rQdRC"
+ className="sc-gPEVay kXhBnS"
height={210}
id="borderedQRCode"
shapeRendering="crispEdges"
viewBox="0 0 37 37"
width={210}
>
<path
d="M0,0 h37v37H0z"
fill="#FFFFFF"
/>
<path
d="M4 4h7v1H4zM12 4h1v1H12zM14 4h1v1H14zM16 4h1v1H16zM18 4h1v1H18zM21 4h4v1H21zM26,4 h7v1H26zM4 5h1v1H4zM10 5h1v1H10zM13 5h5v1H13zM20 5h1v1H20zM22 5h1v1H22zM26 5h1v1H26zM32,5 h1v1H32zM4 6h1v1H4zM6 6h3v1H6zM10 6h1v1H10zM12 6h3v1H12zM17 6h1v1H17zM19 6h2v1H19zM26 6h1v1H26zM28 6h3v1H28zM32,6 h1v1H32zM4 7h1v1H4zM6 7h3v1H6zM10 7h1v1H10zM12 7h3v1H12zM16 7h4v1H16zM21 7h2v1H21zM26 7h1v1H26zM28 7h3v1H28zM32,7 h1v1H32zM4 8h1v1H4zM6 8h3v1H6zM10 8h1v1H10zM12 8h1v1H12zM15 8h3v1H15zM19 8h5v1H19zM26 8h1v1H26zM28 8h3v1H28zM32,8 h1v1H32zM4 9h1v1H4zM10 9h1v1H10zM14 9h2v1H14zM17 9h1v1H17zM21 9h1v1H21zM23 9h1v1H23zM26 9h1v1H26zM32,9 h1v1H32zM4 10h7v1H4zM12 10h1v1H12zM14 10h1v1H14zM16 10h1v1H16zM18 10h1v1H18zM20 10h1v1H20zM22 10h1v1H22zM24 10h1v1H24zM26,10 h7v1H26zM14 11h1v1H14zM16 11h1v1H16zM19 11h1v1H19zM21 11h3v1H21zM4 12h4v1H4zM10 12h1v1H10zM12 12h1v1H12zM14 12h2v1H14zM19 12h7v1H19zM28 12h3v1H28zM32,12 h1v1H32zM5 13h1v1H5zM7 13h2v1H7zM12 13h1v1H12zM14 13h1v1H14zM16 13h1v1H16zM18 13h1v1H18zM20 13h1v1H20zM22 13h3v1H22zM26 13h1v1H26zM28 13h1v1H28zM32,13 h1v1H32zM4 14h2v1H4zM7 14h4v1H7zM12 14h4v1H12zM17 14h1v1H17zM21 14h1v1H21zM25 14h1v1H25zM27 14h1v1H27zM29 14h1v1H29zM31 14h1v1H31zM4 15h2v1H4zM8 15h2v1H8zM12 15h3v1H12zM16 15h3v1H16zM20 15h1v1H20zM22 15h1v1H22zM25 15h1v1H25zM27 15h1v1H27zM31,15 h2v1H31zM5 16h4v1H5zM10 16h2v1H10zM13 16h2v1H13zM21 16h1v1H21zM23 16h1v1H23zM27 16h1v1H27zM30 16h2v1H30zM5 17h1v1H5zM7 17h1v1H7zM9 17h1v1H9zM11 17h1v1H11zM13 17h1v1H13zM21 17h1v1H21zM23 17h1v1H23zM26 17h2v1H26zM32,17 h1v1H32zM5 18h1v1H5zM9 18h2v1H9zM12 18h1v1H12zM14 18h1v1H14zM21 18h1v1H21zM23 18h1v1H23zM25 18h1v1H25zM27 18h1v1H27zM29 18h1v1H29zM31,18 h2v1H31zM5 19h5v1H5zM12 19h1v1H12zM15 19h1v1H15zM32,19 h1v1H32zM8 20h4v1H8zM14 20h1v1H14zM22 20h2v1H22zM25 20h1v1H25zM28 20h2v1H28zM6 21h1v1H6zM12 21h1v1H12zM15 21h3v1H15zM19 21h1v1H19zM21 21h1v1H21zM24 21h2v1H24zM27 21h1v1H27zM29 21h2v1H29zM4 22h1v1H4zM7 22h1v1H7zM9 22h3v1H9zM13 22h2v1H13zM16 22h2v1H16zM19 22h1v1H19zM21 22h2v1H21zM24 22h1v1H24zM27 22h1v1H27zM30 22h1v1H30zM8 23h2v1H8zM13 23h2v1H13zM16 23h1v1H16zM19 23h1v1H19zM21 23h1v1H21zM24 23h1v1H24zM26 23h1v1H26zM29 23h3v1H29zM5 24h2v1H5zM8 24h1v1H8zM10 24h1v1H10zM16 24h1v1H16zM18 24h1v1H18zM21 24h8v1H21zM30,24 h3v1H30zM12 25h1v1H12zM15 25h4v1H15zM20 25h5v1H20zM28 25h1v1H28zM31,25 h2v1H31zM4 26h7v1H4zM13 26h1v1H13zM15 26h1v1H15zM18 26h1v1H18zM20 26h1v1H20zM22 26h3v1H22zM26 26h1v1H26zM28 26h4v1H28zM4 27h1v1H4zM10 27h1v1H10zM14 27h2v1H14zM17 27h1v1H17zM19 27h2v1H19zM24 27h1v1H24zM28 27h1v1H28zM32,27 h1v1H32zM4 28h1v1H4zM6 28h3v1H6zM10 28h1v1H10zM13 28h2v1H13zM17 28h5v1H17zM24 28h8v1H24zM4 29h1v1H4zM6 29h3v1H6zM10 29h1v1H10zM12 29h3v1H12zM16 29h4v1H16zM22 29h1v1H22zM25 29h1v1H25zM27 29h2v1H27zM31,29 h2v1H31zM4 30h1v1H4zM6 30h3v1H6zM10 30h1v1H10zM12 30h1v1H12zM14 30h1v1H14zM21 30h1v1H21zM27 30h1v1H27zM29 30h2v1H29zM32,30 h1v1H32zM4 31h1v1H4zM10 31h1v1H10zM12 31h2v1H12zM15 31h2v1H15zM18 31h1v1H18zM20 31h1v1H20zM22 31h8v1H22zM31 31h1v1H31zM4 32h7v1H4zM12 32h1v1H12zM14 32h4v1H14zM20 32h1v1H20zM24 32h1v1H24zM27 32h1v1H27zM31 32h1v1H31z"
fill="#000000"
/>
<image
height={4.228571428571429}
preserveAspectRatio="none"
width={4.228571428571429}
x={16.385714285714286}
xlinkHref="logo_primary.png"
y={16.385714285714286}
/>
</svg>
<div
- className="sc-Rmtcm hGOEXN notranslate"
+ className="sc-csuQGl hhPqYt notranslate"
>
<input
readOnly={true}
spellCheck="false"
type="text"
value="ecash:qzagy47mvh6qxkvcn3acjnz73rkhkc6y7ccxkrr6zd"
/>
<span
- className="sc-gipzik cLhqPL"
+ className="sc-jlyJG jnbdIh"
>
ecash:
</span>
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
qzagy47m
</span>
vh6qxkvcn3acjnz73rkhkc6y7c
<span
- className="sc-csuQGl jjFGYM"
+ className="sc-gipzik iWBxZx"
>
cxkrr6zd
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Without wallet defined 1`] = `
<div
- className="sc-jAaTju bgJWZT"
+ className="sc-cMljjf yzuNU"
>
<h2>
Welcome to Cashtab!
</h2>
<p
- className="sc-jDwBTQ cXDVrK"
+ className="sc-jAaTju dRNmSH"
>
Cashtab is an
<a
- className="sc-gPEVay mMWHm"
+ className="sc-jDwBTQ cKENCL"
href="https://github.com/bitcoin-abc/bitcoin-abc"
rel="noreferrer"
target="_blank"
>
open source,
</a>
non-custodial web wallet for
eCash
.
</p>
<button
className="sc-eHgmQL bqOmSo"
onClick={[Function]}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
New Wallet
</button>
<button
className="sc-cvbbAY eOLbDk"
onClick={[Function]}
>
<span
aria-label="import"
className="anticon anticon-import"
role="img"
>
<svg
aria-hidden="true"
data-icon="import"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
Import Wallet
</button>
</div>
`;
diff --git a/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap b/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap
index c04463db3..fa266586b 100644
--- a/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap
+++ b/cashtab/src/components/Send/__tests__/__snapshots__/Send.test.js.snap
@@ -1,2942 +1,2942 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"marginTop": "40px",
"width": "auto",
}
}
>
<div
- className="sc-jqCOkK bExyCD"
+ className="sc-dNLxif lkhNVq"
>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Send to
</label>
<div
- className="sc-frDJqD dcAPvN"
+ className="sc-hmzhuo eLgKmI"
>
Multiple Recipients:  
<button
aria-checked={false}
className="ant-switch"
defaultunchecked="true"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
style={
Object {
"marginBottom": "7px",
}
}
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
/>
</button>
</div>
</div>
<div
- className="sc-gGBfsJ ccZybV"
+ className="sc-bbmXgH jcxgOo"
open={false}
>
<div
- className="sc-jbKcbu iRXXEF"
+ className="sc-hqyNC bKejkP"
>
<div
- className="sc-uJMKN jsQhVl"
+ className="sc-jqCOkK heXNii"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
className="sc-jKJlTe bCAJHv"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-kvZOFW xKOiL"
+ className="sc-frDJqD fKzgaP"
>
<a
- className="sc-Rmtcm goWqAU"
+ className="sc-csuQGl bGHqnJ"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Amount
</label>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group ant-input-group-compact"
>
<span
className="ant-input-affix-wrapper"
onClick={[Function]}
style={
Object {
"textAlign": "left",
"width": "60%",
}
}
>
<span
className="ant-input-prefix"
>
<img
alt=""
height={16}
src="logo_primary.png"
width={16}
/>
</span>
<input
className="ant-input"
dollar={0}
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={0.01}
style={null}
type="number"
value=""
/>
</span>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "30%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="XEC"
>
XEC
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
<span
className="sc-iAyFgw fXTIV"
disabled={false}
onClick={[Function]}
style={
Object {
"height": "55px",
"lineHeight": "55px",
"width": "10%",
}
}
>
max
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-bbmXgH fNYDXK"
+ className="sc-uJMKN jsQhVl"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<textarea
autoComplete="off"
className="ant-input"
disabled={false}
name="address"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
placeholder="One address & value per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
prefix={<Styled(Component) />}
required={true}
style={
Object {
"height": "189px",
}
}
value=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-hqyNC lhaTie"
+ className="sc-kvZOFW iiZBSv"
>
<h3
- className="sc-dNLxif gFDjkv"
+ className="sc-jbKcbu ezmXIw"
>
0 XEC
</h3>
<div
- className="sc-kjoXOD kyVxXu"
+ className="sc-gisBJw eDnhwl"
>
=
$ NaN USD
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "1rem",
}
}
>
<button
className="sc-gPEVay llnbWz"
>
Send
</button>
</div>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
<div
- className="sc-jnlKLf dLYsGR"
+ className="sc-gGBfsJ dkIUxY"
>
<svg
className="sc-jzJRlG kLfsyF"
>
mail.svg
</svg>
Message
</div>
</div>
</span>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"marginTop": "40px",
"width": "auto",
}
}
>
<div
- className="sc-jqCOkK bExyCD"
+ className="sc-dNLxif lkhNVq"
>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Send to
</label>
<div
- className="sc-frDJqD dcAPvN"
+ className="sc-hmzhuo eLgKmI"
>
Multiple Recipients:  
<button
aria-checked={false}
className="ant-switch"
defaultunchecked="true"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
style={
Object {
"marginBottom": "7px",
}
}
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
/>
</button>
</div>
</div>
<div
- className="sc-gGBfsJ ccZybV"
+ className="sc-bbmXgH jcxgOo"
open={false}
>
<div
- className="sc-jbKcbu iRXXEF"
+ className="sc-hqyNC bKejkP"
>
<div
- className="sc-uJMKN jsQhVl"
+ className="sc-jqCOkK heXNii"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
className="sc-jKJlTe bCAJHv"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-kvZOFW xKOiL"
+ className="sc-frDJqD fKzgaP"
>
<a
- className="sc-Rmtcm goWqAU"
+ className="sc-csuQGl bGHqnJ"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Amount
</label>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group ant-input-group-compact"
>
<span
className="ant-input-affix-wrapper"
onClick={[Function]}
style={
Object {
"textAlign": "left",
"width": "60%",
}
}
>
<span
className="ant-input-prefix"
>
<img
alt=""
height={16}
src="logo_primary.png"
width={16}
/>
</span>
<input
className="ant-input"
dollar={0}
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={0.01}
style={null}
type="number"
value=""
/>
</span>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "30%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="XEC"
>
XEC
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
<span
className="sc-iAyFgw fXTIV"
disabled={false}
onClick={[Function]}
style={
Object {
"height": "55px",
"lineHeight": "55px",
"width": "10%",
}
}
>
max
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-bbmXgH fNYDXK"
+ className="sc-uJMKN jsQhVl"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<textarea
autoComplete="off"
className="ant-input"
disabled={false}
name="address"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
placeholder="One address & value per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
prefix={<Styled(Component) />}
required={true}
style={
Object {
"height": "189px",
}
}
value=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-hqyNC lhaTie"
+ className="sc-kvZOFW iiZBSv"
>
<h3
- className="sc-dNLxif gFDjkv"
+ className="sc-jbKcbu ezmXIw"
>
0 XEC
</h3>
<div
- className="sc-kjoXOD kyVxXu"
+ className="sc-gisBJw eDnhwl"
>
=
$ NaN USD
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "1rem",
}
}
>
<button
className="sc-gPEVay llnbWz"
>
Send
</button>
</div>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
<div
- className="sc-jnlKLf dLYsGR"
+ className="sc-gGBfsJ dkIUxY"
>
<svg
className="sc-jzJRlG kLfsyF"
>
mail.svg
</svg>
Message
</div>
</div>
</span>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-fMiknA hHCiKT"
+ className="sc-fBuWsC gFiHLB"
>
<span
- className="sc-TOsTZ doeNJZ"
+ className="sc-cHGsZl fLODmv"
>
0.06
XEC
</span>
</div>
</div>,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"marginTop": "40px",
"width": "auto",
}
}
>
<div
- className="sc-jqCOkK bExyCD"
+ className="sc-dNLxif lkhNVq"
>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Send to
</label>
<div
- className="sc-frDJqD dcAPvN"
+ className="sc-hmzhuo eLgKmI"
>
Multiple Recipients:  
<button
aria-checked={false}
className="ant-switch"
defaultunchecked="true"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
style={
Object {
"marginBottom": "7px",
}
}
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
/>
</button>
</div>
</div>
<div
- className="sc-gGBfsJ ccZybV"
+ className="sc-bbmXgH jcxgOo"
open={false}
>
<div
- className="sc-jbKcbu iRXXEF"
+ className="sc-hqyNC bKejkP"
>
<div
- className="sc-uJMKN jsQhVl"
+ className="sc-jqCOkK heXNii"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
className="sc-jKJlTe bCAJHv"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-kvZOFW xKOiL"
+ className="sc-frDJqD fKzgaP"
>
<a
- className="sc-Rmtcm goWqAU"
+ className="sc-csuQGl bGHqnJ"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Amount
</label>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group ant-input-group-compact"
>
<span
className="ant-input-affix-wrapper"
onClick={[Function]}
style={
Object {
"textAlign": "left",
"width": "60%",
}
}
>
<span
className="ant-input-prefix"
>
<img
alt=""
height={16}
src="logo_primary.png"
width={16}
/>
</span>
<input
className="ant-input"
dollar={0}
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={0.01}
style={null}
type="number"
value=""
/>
</span>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "30%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="XEC"
>
XEC
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
<span
className="sc-iAyFgw fXTIV"
disabled={false}
onClick={[Function]}
style={
Object {
"height": "55px",
"lineHeight": "55px",
"width": "10%",
}
}
>
max
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-bbmXgH fNYDXK"
+ className="sc-uJMKN jsQhVl"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<textarea
autoComplete="off"
className="ant-input"
disabled={false}
name="address"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
placeholder="One address & value per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
prefix={<Styled(Component) />}
required={true}
style={
Object {
"height": "189px",
}
}
value=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-hqyNC lhaTie"
+ className="sc-kvZOFW iiZBSv"
>
<h3
- className="sc-dNLxif gFDjkv"
+ className="sc-jbKcbu ezmXIw"
>
0 XEC
</h3>
<div
- className="sc-kjoXOD kyVxXu"
+ className="sc-gisBJw eDnhwl"
>
=
$ NaN USD
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "1rem",
}
}
>
<button
className="sc-jAaTju dvdlmc"
onClick={[Function]}
>
Send
</button>
</div>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
<div
- className="sc-jnlKLf dLYsGR"
+ className="sc-gGBfsJ dkIUxY"
>
<svg
className="sc-jzJRlG kLfsyF"
>
mail.svg
</svg>
Message
</div>
</div>
</span>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>,
]
`;
exports[`Wallet without BCH balance 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<h4
- className="sc-hmzhuo laWxZt"
+ className="sc-ksYbfQ gwupkP"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"marginTop": "40px",
"width": "auto",
}
}
>
<div
- className="sc-jqCOkK bExyCD"
+ className="sc-dNLxif lkhNVq"
>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Send to
</label>
<div
- className="sc-frDJqD dcAPvN"
+ className="sc-hmzhuo eLgKmI"
>
Multiple Recipients:  
<button
aria-checked={false}
className="ant-switch"
defaultunchecked="true"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
style={
Object {
"marginBottom": "7px",
}
}
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
/>
</button>
</div>
</div>
<div
- className="sc-gGBfsJ ccZybV"
+ className="sc-bbmXgH jcxgOo"
open={false}
>
<div
- className="sc-jbKcbu iRXXEF"
+ className="sc-hqyNC bKejkP"
>
<div
- className="sc-uJMKN jsQhVl"
+ className="sc-jqCOkK heXNii"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
className="sc-jKJlTe bCAJHv"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-kvZOFW xKOiL"
+ className="sc-frDJqD fKzgaP"
>
<a
- className="sc-Rmtcm goWqAU"
+ className="sc-csuQGl bGHqnJ"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Amount
</label>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group ant-input-group-compact"
>
<span
className="ant-input-affix-wrapper"
onClick={[Function]}
style={
Object {
"textAlign": "left",
"width": "60%",
}
}
>
<span
className="ant-input-prefix"
>
<img
alt=""
height={16}
src="logo_primary.png"
width={16}
/>
</span>
<input
className="ant-input"
dollar={0}
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={0.01}
style={null}
type="number"
value=""
/>
</span>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "30%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="XEC"
>
XEC
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
<span
className="sc-iAyFgw fXTIV"
disabled={false}
onClick={[Function]}
style={
Object {
"height": "55px",
"lineHeight": "55px",
"width": "10%",
}
}
>
max
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-bbmXgH fNYDXK"
+ className="sc-uJMKN jsQhVl"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<textarea
autoComplete="off"
className="ant-input"
disabled={false}
name="address"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
placeholder="One address & value per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
prefix={<Styled(Component) />}
required={true}
style={
Object {
"height": "189px",
}
}
value=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-hqyNC lhaTie"
+ className="sc-kvZOFW iiZBSv"
>
<h3
- className="sc-dNLxif gFDjkv"
+ className="sc-jbKcbu ezmXIw"
>
0 XEC
</h3>
<div
- className="sc-kjoXOD kyVxXu"
+ className="sc-gisBJw eDnhwl"
>
=
$ NaN USD
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "1rem",
}
}
>
<button
className="sc-gPEVay llnbWz"
>
Send
</button>
</div>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
<div
- className="sc-jnlKLf dLYsGR"
+ className="sc-gGBfsJ dkIUxY"
>
<svg
className="sc-jzJRlG kLfsyF"
>
mail.svg
</svg>
Message
</div>
</div>
</span>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
Array [
<div
- className="sc-jhAzac kJIUSz"
+ className="sc-hzDkRC cWfujV"
>
<div
- className="sc-ksYbfQ lbumgR"
+ className="sc-cJSrbW eFiKNs"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-dVhcbM fsXPIU"
+ className="sc-fMiknA cBqCEa"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>,
<div
- className="sc-bRBYWo iVNlSX"
+ className="sc-Rmtcm fuvBvM"
>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"marginTop": "40px",
"width": "auto",
}
}
>
<div
- className="sc-jqCOkK bExyCD"
+ className="sc-dNLxif lkhNVq"
>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Send to
</label>
<div
- className="sc-frDJqD dcAPvN"
+ className="sc-hmzhuo eLgKmI"
>
Multiple Recipients:  
<button
aria-checked={false}
className="ant-switch"
defaultunchecked="true"
onClick={[Function]}
onKeyDown={[Function]}
role="switch"
style={
Object {
"marginBottom": "7px",
}
}
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
/>
</button>
</div>
</div>
<div
- className="sc-gGBfsJ ccZybV"
+ className="sc-bbmXgH jcxgOo"
open={false}
>
<div
- className="sc-jbKcbu iRXXEF"
+ className="sc-hqyNC bKejkP"
>
<div
- className="sc-uJMKN jsQhVl"
+ className="sc-jqCOkK heXNii"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
className="sc-jKJlTe bCAJHv"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-kvZOFW xKOiL"
+ className="sc-frDJqD fKzgaP"
>
<a
- className="sc-Rmtcm goWqAU"
+ className="sc-csuQGl bGHqnJ"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<label
- className="sc-hzDkRC iYTKhE"
+ className="sc-bRBYWo cWQChB"
>
Amount
</label>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group ant-input-group-compact"
>
<span
className="ant-input-affix-wrapper"
onClick={[Function]}
style={
Object {
"textAlign": "left",
"width": "60%",
}
}
>
<span
className="ant-input-prefix"
>
<img
alt=""
height={16}
src="logo_primary.png"
width={16}
/>
</span>
<input
className="ant-input"
dollar={0}
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={0.01}
style={null}
type="number"
value=""
/>
</span>
<div
className="ant-select select-after ant-select-single ant-select-show-arrow"
onBlur={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onKeyUp={[Function]}
onMouseDown={[Function]}
style={
Object {
"width": "30%",
}
}
>
<div
className="ant-select-selector"
onClick={[Function]}
onMouseDown={[Function]}
>
<span
className="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autoComplete="off"
className="ant-select-selection-search-input"
disabled={false}
id="rc_select_TEST_OR_SSR"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
onMouseDown={[Function]}
onPaste={[Function]}
readOnly={true}
role="combobox"
style={
Object {
"opacity": 0,
}
}
type="search"
unselectable="on"
value=""
/>
</span>
<span
className="ant-select-selection-item"
title="XEC"
>
XEC
</span>
</div>
<span
aria-hidden={true}
className="ant-select-arrow"
onMouseDown={[Function]}
style={
Object {
"WebkitUserSelect": "none",
"userSelect": "none",
}
}
unselectable="on"
>
<span
aria-label="down"
className="anticon anticon-down ant-select-suffix"
role="img"
>
<svg
aria-hidden="true"
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
<span
className="sc-iAyFgw fXTIV"
disabled={false}
onClick={[Function]}
style={
Object {
"height": "55px",
"lineHeight": "55px",
"width": "10%",
}
}
>
max
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-bbmXgH fNYDXK"
+ className="sc-uJMKN jsQhVl"
>
<div
className="sc-kEYyzF bWkEuo"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<textarea
autoComplete="off"
className="ant-input"
disabled={false}
name="address"
onChange={[Function]}
onCompositionEnd={[Function]}
onCompositionStart={[Function]}
onKeyDown={[Function]}
placeholder="One address & value per line, separated by comma
e.g.
ecash:qpatql05s9jfavnu0tv6lkjjk25n6tmj9gkpyrlwu8,500
ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed,700"
prefix={<Styled(Component) />}
required={true}
style={
Object {
"height": "189px",
}
}
value=""
/>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-hqyNC lhaTie"
+ className="sc-kvZOFW iiZBSv"
>
<h3
- className="sc-dNLxif gFDjkv"
+ className="sc-jbKcbu ezmXIw"
>
0 XEC
</h3>
<div
- className="sc-kjoXOD kyVxXu"
+ className="sc-gisBJw eDnhwl"
>
=
$ NaN USD
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "1rem",
}
}
>
<button
className="sc-gPEVay llnbWz"
>
Send
</button>
</div>
<div
className="sc-jWBwVP PWAdC"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-cMljjf iGbmbR"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-cvbbAY dbHDoR"
>
<div
- className="sc-jnlKLf dLYsGR"
+ className="sc-gGBfsJ dkIUxY"
>
<svg
className="sc-jzJRlG kLfsyF"
>
mail.svg
</svg>
Message
</div>
</div>
</span>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>,
]
`;
diff --git a/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap b/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap
index 6dbeed91c..5dcb3e914 100644
--- a/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap
+++ b/cashtab/src/components/Send/__tests__/__snapshots__/SendToken.test.js.snap
@@ -1,255 +1,255 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances and tokens 1`] = `null`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
<div
- className="sc-iRbamj jTHqpF"
+ className="sc-gPEVay dOhwxg"
>
<div
- className="sc-Rmtcm bTMyR"
+ className="sc-csuQGl fFnofI"
>
6.001000000
TBS
</div>
<div
className="ant-row"
style={Object {}}
type="flex"
>
<div
className="ant-col ant-col-24"
style={Object {}}
>
<form
className="ant-form ant-form-horizontal"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<div
- className="sc-cvbbAY krChTW"
+ className="sc-eHgmQL jlnegu"
>
<div
className="ant-form-item ant-form-item-with-help"
style={
Object {
"marginBottom": "0px",
}
}
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
>
<span
aria-label="wallet"
className="anticon anticon-wallet sc-bxivhb iBBRHU"
role="img"
>
<svg
aria-hidden="true"
data-icon="wallet"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z"
/>
</svg>
</span>
</span>
<input
autoComplete="off"
className="ant-input"
hidden={null}
name="address"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Address"
required={true}
style={null}
type="text"
value=""
/>
</span>
<span
className="ant-input-group-addon"
>
<span
- className="sc-iAyFgw iZWvyJ"
+ className="sc-kkGfuU cRGTNd"
onClick={[Function]}
>
<span
aria-label="qrcode"
className="anticon anticon-qrcode sc-ifAKCX jqgRJL"
role="img"
>
<svg
aria-hidden="true"
data-icon="qrcode"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
- className="sc-fAjcbJ lotaSm"
+ className="sc-eqIVtm khwohh"
>
<a
- className="sc-gPEVay cNqGvb"
+ className="sc-jDwBTQ dGROed"
href="https://explorer.e.cash/address/false"
rel="noreferrer"
target="_blank"
/>
</div>
<br />
<div
- className="sc-cvbbAY krChTW"
+ className="sc-eHgmQL jlnegu"
>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span
className="ant-input-group-wrapper"
>
<span
className="ant-input-wrapper ant-input-group"
>
<span
className="ant-input-affix-wrapper"
hidden={null}
onClick={[Function]}
style={null}
>
<span
className="ant-input-prefix"
/>
<input
className="ant-input"
hidden={null}
name="value"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
onWheel={[Function]}
placeholder="Amount"
required={true}
step={1e-9}
style={null}
type="number"
value=""
/>
<span
className="ant-input-suffix"
>
TBS
</span>
</span>
<span
className="ant-input-group-addon"
>
<span
- className="sc-jWBwVP jwryZM"
+ className="sc-cvbbAY losWJH"
disabled={false}
onClick={[Function]}
>
max
</span>
</span>
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
style={
Object {
"paddingTop": "12px",
}
}
>
<button
className="sc-jKJlTe jWeghZ"
onClick={[Function]}
>
Send
TestBits
</button>
</div>
</form>
</div>
</div>
</div>
`;
exports[`Without wallet defined 1`] = `null`;
diff --git a/cashtab/src/components/SignVerifyMsg/__tests__/__snapshots__/SignVerifyMsg.test.js.snap b/cashtab/src/components/SignVerifyMsg/__tests__/__snapshots__/SignVerifyMsg.test.js.snap
index 70c2e4300..d62714548 100644
--- a/cashtab/src/components/SignVerifyMsg/__tests__/__snapshots__/SignVerifyMsg.test.js.snap
+++ b/cashtab/src/components/SignVerifyMsg/__tests__/__snapshots__/SignVerifyMsg.test.js.snap
@@ -1,773 +1,773 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
<div
- className="sc-frDJqD fiAUVz"
+ className="sc-hmzhuo dORcxa"
>
<div
className="sc-iAyFgw gXtUud"
>
<div
className="sc-iRbamj ivJrZB"
>
<h4
className="sc-jlyJG isCono"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-cvbbAY ekZlPO"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
className="sc-kEYyzF gZfJyA"
>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Sign
</div>
</span>
</div>
</div>
</div>
</div>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Verify
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
<div
- className="sc-frDJqD fiAUVz"
+ className="sc-hmzhuo dORcxa"
>
<div
className="sc-iAyFgw gXtUud"
>
<div
className="sc-iRbamj ivJrZB"
>
<h4
className="sc-jlyJG isCono"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-eHgmQL znFwg"
>
<span
className="sc-gipzik kLBama"
>
0.06
XEC
</span>
</div>
</div>
<div
className="sc-kEYyzF gZfJyA"
>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Sign
</div>
</span>
</div>
</div>
</div>
</div>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Verify
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Wallet without BCH balance 1`] = `
<div
- className="sc-frDJqD fiAUVz"
+ className="sc-hmzhuo dORcxa"
>
<div
className="sc-iAyFgw gXtUud"
>
<div
className="sc-iRbamj ivJrZB"
>
<h4
className="sc-jlyJG isCono"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-cvbbAY ekZlPO"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
className="sc-kEYyzF gZfJyA"
>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Sign
</div>
</span>
</div>
</div>
</div>
</div>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Verify
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
exports[`Without wallet defined 1`] = `
<div
- className="sc-frDJqD fiAUVz"
+ className="sc-hmzhuo dORcxa"
>
<div
className="sc-iAyFgw gXtUud"
>
<div
className="sc-iRbamj ivJrZB"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
className="sc-cvbbAY ekZlPO"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
<div
className="sc-kEYyzF gZfJyA"
>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Sign
</div>
</span>
</div>
</div>
</div>
</div>
<div
className="sc-jhAzac jaUNeB"
>
<div
className="ant-collapse ant-collapse-icon-position-start sc-fMiknA jcDsbP"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
className="sc-hzDkRC kpsoyz"
>
Verify
</div>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
`;
diff --git a/cashtab/src/components/Swap/__tests__/__snapshots__/Swap.test.js.snap b/cashtab/src/components/Swap/__tests__/__snapshots__/Swap.test.js.snap
index afeb5d034..a1177b204 100644
--- a/cashtab/src/components/Swap/__tests__/__snapshots__/Swap.test.js.snap
+++ b/cashtab/src/components/Swap/__tests__/__snapshots__/Swap.test.js.snap
@@ -1,666 +1,666 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with XEC balances 1`] = `
Array [
<div
- className="sc-kjoXOD fLggMW"
+ className="sc-gisBJw lhAjrX"
>
<div
- className="sc-brqgnP jTrtLE"
+ className="sc-jWBwVP cKvBni"
>
<div
- className="sc-fBuWsC caLBtP"
+ className="sc-jhAzac kaAIpD"
>
<h4
- className="sc-fMiknA hzosfA"
+ className="sc-fBuWsC eRpPSf"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jDwBTQ bfTPPk"
+ className="sc-jAaTju Vyslf"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
</div>,
<br />,
<div
- className="sc-cvbbAY blOKNt"
+ className="sc-eHgmQL kvZwAq"
>
<div
- className="sc-fAjcbJ bHLkJg"
+ className="sc-eqIVtm jMsian"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-gisBJw jqFgrU"
+ className="ant-collapse ant-collapse-icon-position-start sc-caSCKo xvorO"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-eqIVtm kRufpp"
+ className="sc-dVhcbM fghLuF"
>
SideShift
</div>
</span>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with XEC balances and tokens 1`] = `
Array [
<div
- className="sc-kjoXOD fLggMW"
+ className="sc-gisBJw lhAjrX"
>
<div
- className="sc-brqgnP jTrtLE"
+ className="sc-jWBwVP cKvBni"
>
<div
- className="sc-fBuWsC caLBtP"
+ className="sc-jhAzac kaAIpD"
>
<h4
- className="sc-fMiknA hzosfA"
+ className="sc-fBuWsC eRpPSf"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jDwBTQ bfTPPk"
+ className="sc-jAaTju Vyslf"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
</div>,
<br />,
<div
- className="sc-cvbbAY blOKNt"
+ className="sc-eHgmQL kvZwAq"
>
<div
- className="sc-fAjcbJ bHLkJg"
+ className="sc-eqIVtm jMsian"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-gisBJw jqFgrU"
+ className="ant-collapse ant-collapse-icon-position-start sc-caSCKo xvorO"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-eqIVtm kRufpp"
+ className="sc-dVhcbM fghLuF"
>
SideShift
</div>
</span>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet with XEC balances and tokens and state field 1`] = `
Array [
<div
- className="sc-kjoXOD fLggMW"
+ className="sc-gisBJw lhAjrX"
>
<div
- className="sc-brqgnP jTrtLE"
+ className="sc-jWBwVP cKvBni"
>
<div
- className="sc-fBuWsC caLBtP"
+ className="sc-jhAzac kaAIpD"
>
<h4
- className="sc-fMiknA hzosfA"
+ className="sc-fBuWsC eRpPSf"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jAaTju eoNejo"
+ className="sc-cMljjf coNPHF"
>
<span
- className="sc-bRBYWo gpfPyL"
+ className="sc-Rmtcm iyxXlA"
>
0.06
XEC
</span>
</div>
</div>
</div>,
<br />,
<div
- className="sc-cvbbAY blOKNt"
+ className="sc-eHgmQL kvZwAq"
>
<div
- className="sc-fAjcbJ bHLkJg"
+ className="sc-eqIVtm jMsian"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-gisBJw jqFgrU"
+ className="ant-collapse ant-collapse-icon-position-start sc-caSCKo xvorO"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-eqIVtm kRufpp"
+ className="sc-dVhcbM fghLuF"
>
SideShift
</div>
</span>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Wallet without XEC balance 1`] = `
Array [
<div
- className="sc-kjoXOD fLggMW"
+ className="sc-gisBJw lhAjrX"
>
<div
- className="sc-brqgnP jTrtLE"
+ className="sc-jWBwVP cKvBni"
>
<div
- className="sc-fBuWsC caLBtP"
+ className="sc-jhAzac kaAIpD"
>
<h4
- className="sc-fMiknA hzosfA"
+ className="sc-fBuWsC eRpPSf"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jDwBTQ bfTPPk"
+ className="sc-jAaTju Vyslf"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
</div>,
<br />,
<div
- className="sc-cvbbAY blOKNt"
+ className="sc-eHgmQL kvZwAq"
>
<div
- className="sc-fAjcbJ bHLkJg"
+ className="sc-eqIVtm jMsian"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-gisBJw jqFgrU"
+ className="ant-collapse ant-collapse-icon-position-start sc-caSCKo xvorO"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-eqIVtm kRufpp"
+ className="sc-dVhcbM fghLuF"
>
SideShift
</div>
</span>
</div>
</div>
</div>
</div>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
Array [
<div
- className="sc-kjoXOD fLggMW"
+ className="sc-gisBJw lhAjrX"
>
<div
- className="sc-brqgnP jTrtLE"
+ className="sc-jWBwVP cKvBni"
>
<div
- className="sc-fBuWsC caLBtP"
+ className="sc-jhAzac kaAIpD"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jDwBTQ bfTPPk"
+ className="sc-jAaTju Vyslf"
>
You currently have 0
XEC
<br />
Deposit some funds to use this feature
</div>
</div>
</div>,
<br />,
<div
- className="sc-cvbbAY blOKNt"
+ className="sc-eHgmQL kvZwAq"
>
<div
- className="sc-fAjcbJ bHLkJg"
+ className="sc-eqIVtm jMsian"
>
<div
- className="ant-collapse ant-collapse-icon-position-start sc-gisBJw jqFgrU"
+ className="ant-collapse ant-collapse-icon-position-start sc-caSCKo xvorO"
role={null}
style={
Object {
"marginBottom": "24px",
}
}
>
<div
className="ant-collapse-item"
>
<div
aria-disabled={false}
aria-expanded={false}
className="ant-collapse-header"
onClick={[Function]}
onKeyPress={[Function]}
role="button"
tabIndex={0}
>
<div
className="ant-collapse-expand-icon"
onClick={null}
>
<span
aria-label="right"
className="anticon anticon-right ant-collapse-arrow"
role="img"
>
<svg
aria-hidden="true"
data-icon="right"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"
/>
</svg>
</span>
</div>
<span
className="ant-collapse-header-text"
onClick={null}
>
<div
- className="sc-eqIVtm kRufpp"
+ className="sc-dVhcbM fghLuF"
>
SideShift
</div>
</span>
</div>
</div>
</div>
</div>
</div>,
]
`;
diff --git a/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap b/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap
index b870b1aae..2c8fa4935 100644
--- a/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap
+++ b/cashtab/src/components/Tokens/__tests__/__snapshots__/CreateTokenForm.test.js.snap
@@ -1,354 +1,354 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances and tokens and state field 1`] = `
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
<div
className="sc-kEYyzF bWkEuo"
>
<form
className="ant-form ant-form-horizontal ant-form-small"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Token Name
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a name for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Ticker
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenTicker"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a ticker for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Decimals
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenDecimals"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter number of decimal places"
type="number"
value="0"
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Supply
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenInitialQty"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter the fixed supply of your token"
type="number"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Document URL
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenDocumentUrl"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a website for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Add Image
</label>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span>
<div
className="ant-upload ant-upload-drag"
onDragLeave={[Function]}
onDragOver={[Function]}
onDrop={[Function]}
style={
Object {
"backgroundColor": "#f4f4f4",
"height": undefined,
}
}
>
<span
className="ant-upload ant-upload-btn"
onClick={[Function]}
onDragOver={[Function]}
onDrop={[Function]}
onKeyDown={[Function]}
role="button"
tabIndex="0"
>
<input
accept=""
multiple={false}
onChange={[Function]}
onClick={[Function]}
style={
Object {
"display": "none",
}
}
type="file"
/>
<div
className="ant-upload-drag-container"
>
<span
aria-label="upload"
className="anticon anticon-upload"
role="img"
>
<svg
aria-hidden="true"
data-icon="upload"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
<p>
Click, or drag file to this area to upload
</p>
<p
style={
Object {
"fontSize": "12px",
}
}
>
Only jpg or png accepted
</p>
</div>
</span>
</div>
<div
className="ant-upload-list ant-upload-list-text"
/>
</span>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<button
className="sc-jDwBTQ hqDRdp"
disabled={true}
onClick={[Function]}
style={
Object {
"marginTop": "30px",
}
}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
 Create eToken
</button>
</div>
`;
diff --git a/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap b/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap
index c10b9dc63..2918547b2 100644
--- a/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap
+++ b/cashtab/src/components/Tokens/__tests__/__snapshots__/Tokens.test.js.snap
@@ -1,789 +1,789 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP @generated
exports[`Wallet with BCH balances 1`] = `
Array [
<div
- className="sc-bRBYWo ekBiyF"
+ className="sc-Rmtcm bkNomx"
>
<div
- className="sc-cJSrbW eFiKNs"
+ className="sc-kgAjT iIETrE"
>
<h4
- className="sc-ksYbfQ gwupkP"
+ className="sc-cJSrbW gMowOX"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jhAzac dVfipN"
+ className="sc-hzDkRC kfpqXQ"
>
<span
- className="sc-cHGsZl fLODmv"
+ className="sc-kjoXOD fEWcWg"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-csuQGl jJoCcv"
+ className="sc-gipzik cfOthW"
>
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
</div>
<p
- className="sc-eqIVtm gWFaqf"
+ className="sc-dVhcbM bLsPkn"
>
You need at least
5.5
XEC
(
$
NaN
USD
) to create a token
</p>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens 1`] = `
Array [
<div
- className="sc-bRBYWo ekBiyF"
+ className="sc-Rmtcm bkNomx"
>
<div
- className="sc-cJSrbW eFiKNs"
+ className="sc-kgAjT iIETrE"
>
<h4
- className="sc-ksYbfQ gwupkP"
+ className="sc-cJSrbW gMowOX"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jhAzac dVfipN"
+ className="sc-hzDkRC kfpqXQ"
>
<span
- className="sc-cHGsZl fLODmv"
+ className="sc-kjoXOD fEWcWg"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-csuQGl jJoCcv"
+ className="sc-gipzik cfOthW"
>
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
</div>
<p
- className="sc-eqIVtm gWFaqf"
+ className="sc-dVhcbM bLsPkn"
>
You need at least
5.5
XEC
(
$
NaN
USD
) to create a token
</p>
</div>,
]
`;
exports[`Wallet with BCH balances and tokens and state field 1`] = `
Array [
<div
- className="sc-bRBYWo ekBiyF"
+ className="sc-Rmtcm bkNomx"
>
<div
- className="sc-cJSrbW eFiKNs"
+ className="sc-kgAjT iIETrE"
>
<h4
- className="sc-ksYbfQ gwupkP"
+ className="sc-cJSrbW gMowOX"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jhAzac dVfipN"
+ className="sc-hzDkRC kfpqXQ"
>
<span
- className="sc-cHGsZl fLODmv"
+ className="sc-kjoXOD fEWcWg"
>
0.06
XEC
</span>
</div>
</div>,
<div
- className="sc-csuQGl jJoCcv"
+ className="sc-gipzik cfOthW"
>
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
<div
className="sc-kEYyzF bWkEuo"
>
<form
className="ant-form ant-form-horizontal ant-form-small"
onReset={[Function]}
onSubmit={[Function]}
style={
Object {
"width": "auto",
}
}
>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Token Name
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenName"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a name for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Ticker
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenTicker"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a ticker for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Decimals
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenDecimals"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter number of decimal places"
type="number"
value="0"
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Supply
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenInitialQty"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter the fixed supply of your token"
type="number"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Document URL
</label>
<div
className="ant-form-item ant-form-item-with-help"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<input
className="ant-input ant-input-sm"
name="newTokenDocumentUrl"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
onKeyDown={[Function]}
placeholder="Enter a website for your token"
type="text"
value=""
/>
</div>
</div>
</div>
</div>
</div>
<label
- className="sc-Rmtcm kvsZVG"
+ className="sc-csuQGl eweHsc"
>
Add Image
</label>
<div
className="ant-form-item"
>
<div
className="ant-row ant-form-item-row"
style={Object {}}
>
<div
className="ant-col ant-form-item-control"
style={Object {}}
>
<div
className="ant-form-item-control-input"
>
<div
className="ant-form-item-control-input-content"
>
<span>
<div
className="ant-upload ant-upload-drag"
onDragLeave={[Function]}
onDragOver={[Function]}
onDrop={[Function]}
style={
Object {
"backgroundColor": "#f4f4f4",
"height": undefined,
}
}
>
<span
className="ant-upload ant-upload-btn"
onClick={[Function]}
onDragOver={[Function]}
onDrop={[Function]}
onKeyDown={[Function]}
role="button"
tabIndex="0"
>
<input
accept=""
multiple={false}
onChange={[Function]}
onClick={[Function]}
style={
Object {
"display": "none",
}
}
type="file"
/>
<div
className="ant-upload-drag-container"
>
<span
aria-label="upload"
className="anticon anticon-upload"
role="img"
>
<svg
aria-hidden="true"
data-icon="upload"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"
/>
</svg>
</span>
<p>
Click, or drag file to this area to upload
</p>
<p
style={
Object {
"fontSize": "12px",
}
}
>
Only jpg or png accepted
</p>
</div>
</span>
</div>
<div
className="ant-upload-list ant-upload-list-text"
/>
</span>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<button
className="sc-jDwBTQ hqDRdp"
disabled={true}
onClick={[Function]}
style={
Object {
"marginTop": "30px",
}
}
>
<span
aria-label="plus-square"
className="anticon anticon-plus-square"
role="img"
>
<svg
aria-hidden="true"
data-icon="plus-square"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"
/>
<path
d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"
/>
</svg>
</span>
 Create eToken
</button>
</div>
</div>,
]
`;
exports[`Wallet without BCH balance 1`] = `
Array [
<div
- className="sc-bRBYWo ekBiyF"
+ className="sc-Rmtcm bkNomx"
>
<div
- className="sc-cJSrbW eFiKNs"
+ className="sc-kgAjT iIETrE"
>
<h4
- className="sc-ksYbfQ gwupkP"
+ className="sc-cJSrbW gMowOX"
>
MigrationTestAlpha
</h4>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jhAzac dVfipN"
+ className="sc-hzDkRC kfpqXQ"
>
<span
- className="sc-cHGsZl fLODmv"
+ className="sc-kjoXOD fEWcWg"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-csuQGl jJoCcv"
+ className="sc-gipzik cfOthW"
>
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
</div>
<p
- className="sc-eqIVtm gWFaqf"
+ className="sc-dVhcbM bLsPkn"
>
You need at least
5.5
XEC
(
$
NaN
USD
) to create a token
</p>
</div>,
]
`;
exports[`Without wallet defined 1`] = `
Array [
<div
- className="sc-bRBYWo ekBiyF"
+ className="sc-Rmtcm bkNomx"
>
<div
- className="sc-cJSrbW eFiKNs"
+ className="sc-kgAjT iIETrE"
>
<a
href="/configure"
onClick={[Function]}
>
<svg
className="sc-jTzLTM bTdWCF"
>
edit.svg
</svg>
</a>
<div>
<button
aria-checked={false}
className="ant-switch ant-switch-small"
onClick={[Function]}
onKeyDown={[Function]}
onMouseEnter={[Function]}
onMouseLeave={[Function]}
role="switch"
type="button"
>
<div
className="ant-switch-handle"
/>
<span
className="ant-switch-inner"
>
<svg
className="sc-kAzzGY fUTkYj"
>
eye-invisible.svg
</svg>
</span>
</button>
</div>
</div>
<div
- className="sc-jhAzac dVfipN"
+ className="sc-hzDkRC kfpqXQ"
>
<span
- className="sc-cHGsZl fLODmv"
+ className="sc-kjoXOD fEWcWg"
>
0
XEC
</span>
</div>
</div>,
<div
- className="sc-csuQGl jJoCcv"
+ className="sc-gipzik cfOthW"
>
<div
- className="sc-kjoXOD ikvdjf"
+ className="sc-gisBJw hfDtmk"
>
<h3>
Create a Token
</h3>
</div>
<p
- className="sc-eqIVtm gWFaqf"
+ className="sc-dVhcbM bLsPkn"
>
You need at least
5.5
XEC
(
$
NaN
USD
) to create a token
</p>
</div>,
]
`;

File Metadata

Mime Type
text/x-diff
Expires
Sun, Mar 2, 12:21 (21 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5187836
Default Alt Text
(455 KB)

Event Timeline