this.toggleDrawer(false)}
- onKeyDown={() => this.toggleDrawer(false)}
- className={classes.inheritHeight}
- >
+
{sideList}
diff --git a/src/renderer/wallet/main/toolbar-container.jsx b/src/renderer/wallet/main/toolbar-container.jsx
new file mode 100644
index 000000000..483081318
--- /dev/null
+++ b/src/renderer/wallet/main/toolbar-container.jsx
@@ -0,0 +1,80 @@
+import React, { Component } from 'react';
+import Toolbar from './toolbar';
+import config from 'common/config';
+import { connect } from 'react-redux';
+import { identitySelectors, identityOperations } from 'common/identity';
+import { walletSelectors } from 'common/wallet';
+import { push } from 'connected-react-router';
+import { featureIsEnabled } from 'common/feature-flags';
+
+class ToolbarContainer extends Component {
+ state = {
+ isSidebarOpen: false,
+ isProfileOpen: false
+ };
+
+ toggleDrawer = isSidebarOpen => {
+ this.setState({
+ isSidebarOpen
+ });
+ };
+
+ closeProfile = isProfileOpen => {
+ this.setState({
+ isProfileOpen: false
+ });
+ };
+
+ toggleProfile = isProfileOpen => {
+ this.setState({
+ isProfileOpen
+ });
+ };
+
+ createCorporateProfile = evt => {
+ this.toggleProfile(!this.state.isProfileOpen);
+ this.props.dispatch(push('/main/create-corporate-profile'));
+ };
+
+ handleProfileSelect = identity => evt => {
+ evt.preventDefault();
+ this.toggleProfile(!this.state.isProfileOpen);
+ this.props.dispatch(identityOperations.switchProfileOperation(identity));
+ };
+
+ handleProfileNavigate = evt => {
+ evt.preventDefault();
+ this.props.dispatch(identityOperations.navigateToProfileOperation());
+ };
+
+ handleProfileClick = evt => {
+ evt && evt.stopPropagation();
+ this.toggleProfile(!this.state.isProfileOpen);
+ };
+ render() {
+ const { isProfileOpen, isSidebarOpen } = this.state;
+ return (
+
+ );
+ }
+}
+
+export default connect(state => ({
+ profiles: identitySelectors.selectAllIdentities(state) || [],
+ selectedProfile: identitySelectors.selectCurrentIdentity(state) || {},
+ wallet: walletSelectors.getWallet(state)
+}))(ToolbarContainer);
diff --git a/src/renderer/wallet/main/toolbar.jsx b/src/renderer/wallet/main/toolbar.jsx
index ef0d0ebdb..535cf2932 100644
--- a/src/renderer/wallet/main/toolbar.jsx
+++ b/src/renderer/wallet/main/toolbar.jsx
@@ -1,18 +1,33 @@
import React, { Component } from 'react';
-import { withStyles, Grid, IconButton } from '@material-ui/core';
-import { SelfkeyLogo, MenuButtonIcon } from 'selfkey-ui';
-import { Link } from 'react-router-dom';
+import {
+ createStyles,
+ withStyles,
+ Button,
+ Grid,
+ Typography,
+ ClickAwayListener
+} from '@material-ui/core';
+import {
+ MenuNewIcon,
+ DropdownIcon,
+ SmallRoundCompany,
+ SmallRoundPerson,
+ RoundCompany,
+ RoundPerson
+} from 'selfkey-ui';
import PriceBox from '../../price-box';
import Sidebar from './sidebar';
-import config from 'common/config';
+import { HexagonAvatar } from '../../selfkey-id/main/components/hexagon-avatar';
const styles = theme => ({
wrapper: {
backgroundColor: '#27333D',
boxShadow:
- 'inset 0 -1px 0 0 #475768, 1px 0 0 0 rgba(118,128,147,0.2), 2px 0 2px 0 rgba(0,0,0,0.2)'
+ 'inset 0 -1px 0 0 #475768, 1px 0 0 0 rgba(118,128,147,0.2), 2px 0 2px 0 rgba(0,0,0,0.2)',
+ padding: '0 2%',
+ position: 'fixed',
+ zIndex: 1
},
-
logo: {
width: '38px',
height: '44px',
@@ -27,93 +42,378 @@ const styles = theme => ({
'-webkit-transform': 'rotate(90deg)'
}
},
-
link: {
outline: 'none',
'&:focus': {
outline: 'none'
}
},
-
+ menuIcon: {
+ '&:hover': {
+ cursor: 'pointer'
+ }
+ },
+ openedDrawer: {
+ left: '220px'
+ },
+ closedDrawer: {
+ left: '73px'
+ },
+ flexLink: {
+ display: 'flex',
+ textDecoration: 'none'
+ },
+ nameRole: {
+ display: 'flex',
+ flexDirection: 'column',
+ justifyContent: 'space-around',
+ margin: '0 20px 0 15px',
+ maxWidth: '118px',
+ '& .toolbarProfileName': {
+ maxWidth: '110px',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ whiteSpace: 'nowrap'
+ }
+ },
sepVertContainer: {
display: 'flex',
- justifyContent: 'space-around'
+ justifyContent: 'space-around',
+ marginRight: '20px'
},
-
sepVert: {
background: 'linear-gradient(180deg, rgba(94, 11, 128, 0) 0%, #475768 100%)',
height: '59px',
marginTop: '16px',
width: '1px'
},
-
- menuButton: {
- width: '30px',
- height: '30px'
+ profileContainer: {
+ left: '-33px',
+ position: 'fixed',
+ right: '2%',
+ top: '63px',
+ width: '100%',
+ zIndex: '999',
+ '@media screen and (min-width: 1480px)': {
+ left: '-43px'
+ }
+ },
+ openedProfile: {
+ transform: 'scaleY(-1)',
+ '-webkit-transform': 'scaleY(-1)'
+ },
+ closedProfile: {
+ transform: 'scaleY(1)',
+ '-webkit-transform': 'scaleY(1)'
+ },
+ profileIcon: {
+ marginTop: '13px',
+ paddingRight: '15px'
+ },
+ absolute: {
+ position: 'absolute'
+ },
+ maxWidth: {
+ maxWidth: '240px'
+ },
+ toolbarProfile: {
+ cursor: 'pointer',
+ width: '222px'
+ },
+ priceBox: {
+ paddingRight: '10px'
+ },
+ profileAvatar: {
+ width: '40px',
+ height: '40px',
+ margin: 0
}
});
-class Toolbar extends Component {
- state = {
- isSidebarOpen: false
- };
+const profileStyle = theme =>
+ createStyles({
+ profile: {
+ minWidth: '208px',
+ maxWidth: '208px',
+ float: 'right',
+ borderRadius: '4px',
+ backgroundColor: '#1E262E',
+ border: 'solid 1px #303c49'
+ },
+ profileFooter: {
+ bottom: '7px',
+ marginTop: '10px',
+ padding: '0 15px'
+ },
+ horizontalDivider: {
+ height: '1px',
+ backgroundColor: '#303c49'
+ },
+ profilePersonal: {
+ padding: '20px 0px 4px 6px',
+ display: 'flex',
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center'
+ },
+ profileCorporate: {
+ padding: '20px 15px 14px',
+ display: 'flex',
+ flexDirection: 'row',
+ alignItems: 'center',
+ justifyContent: 'center'
+ },
+ profileDetail: {
+ cursor: 'pointer',
+ padding: '10px 15px 10px 15px',
+ width: '208px',
+ '&:hover': {
+ backgroundColor: '#313D49'
+ },
+ '&:first-child': {
+ marginTop: '5px'
+ }
+ },
+ profileName: {
+ paddingLeft: '15px',
+ '& h6:first-child': {
+ marginBottom: '5px'
+ }
+ },
+ button: {
+ width: '189px'
+ },
+ smallButton: {
+ fontSize: '10px',
+ letterSpacing: '0.4px',
+ width: '100%'
+ },
+ profileListAvatar: {
+ width: '28px',
+ height: '28px',
+ margin: 0
+ }
+ });
+
+const defaultIdentityName = ({ type }, walletName) =>
+ type === 'individual' ? walletName || 'New individual' : 'New company';
- toggleDrawer = isSidebarOpen => {
- this.setState({
- isSidebarOpen
- });
- };
+const ProfileList = withStyles(profileStyle)(
+ ({
+ classes,
+ profiles,
+ wallet,
+ isOpen,
+ onProfileSelect,
+ onClickCorporate,
+ closeProfile,
+ selectedProfile,
+ showCorporate
+ }) => {
+ return (
+ isOpen && (
+
+
+ {profiles &&
+ profiles
+ .filter(el => el.id !== selectedProfile.id)
+ .map((el, index) => (
+
+
+ {el.type === 'corporate' ? (
+
+ ) : el.profilePicture ? (
+
+ ) : (
+
+ )}
+
+
+
+ {el.name ||
+ defaultIdentityName(el, wallet.profileName)}
+
+
+ {`${el.type.charAt(0).toUpperCase() +
+ el.type.slice(1)} Profile`}
+
+
+
+ ))}
+ {showCorporate && (
+
+
+
+
+ {/*
+
+
+ New Personal Profile
+
+
+ */}
+
+
+
+ New Corporate Profile
+
+
+
+
+ )}
+
+
+ )
+ );
+ }
+);
+const Profile = withStyles(styles)(
+ ({ classes, profile, wallet, isOpen, onProfileClick, onProfileNavigate }) => (
+
+
+
+ {profile.type === 'corporate' ? (
+
+ ) : profile.profilePicture ? (
+
+ ) : (
+
+ )}
+
+
+
+ {profile.name || defaultIdentityName(profile, wallet.profileName)}
+
+
+ {profile.type === 'individual' ? 'Personal Profile' : 'Corporate Profile'}
+
+
+
+
+
+
+
+ )
+);
+
+class Toolbar extends Component {
render() {
- const { classes } = this.props;
+ const {
+ classes,
+ onToggleMenu,
+ isSidebarOpen,
+ isProfileOpen,
+ closeProfile,
+ selectedProfile,
+ onProfileClick,
+ onProfileNavigate,
+ onProfileSelect,
+ profiles,
+ wallet,
+ onCreateCorporateProfileClick,
+ primaryToken,
+ showCorporate
+ } = this.props;
return (
-
+
-
-
-
-
-
-
+ onToggleMenu(!isSidebarOpen)}
+ />
+
-
+
-
-
-
+
+
+
-
-
- this.toggleDrawer(true)}
+
+
+
-
+
+
+
+
);
}
diff --git a/src/renderer/wallet/unlock/existing-address.jsx b/src/renderer/wallet/unlock/existing-address.jsx
index 1012c1cea..a72f48aff 100644
--- a/src/renderer/wallet/unlock/existing-address.jsx
+++ b/src/renderer/wallet/unlock/existing-address.jsx
@@ -121,8 +121,8 @@ class ExistingAddress extends Component {
{wallets.map((wallet, index) => (
{wallet.name
- ? `${wallet.name} - ${wallet.publicKey}`
- : wallet.publicKey}
+ ? `${wallet.name} - ${wallet.address}`
+ : wallet.address}
))}
diff --git a/stories/attribute.stories.js b/stories/attribute.stories.js
new file mode 100644
index 000000000..740a9ccc0
--- /dev/null
+++ b/stories/attribute.stories.js
@@ -0,0 +1,56 @@
+import React from 'react';
+import { action } from '@storybook/addon-actions';
+import { storiesOf } from '@storybook/react';
+import { CreateAttribute } from '../src/renderer/attributes/create-attribute';
+import { EditAttribute } from '../src/renderer/attributes/edit-attribute';
+import { DeleteAttribute } from '../src/renderer/attributes/delete-attribute';
+
+storiesOf('Attributes/CreateAttribute', module).add('default', () => (
+
+));
+
+storiesOf('Attributes/EditAttribute', module).add('default', () => (
+
+));
+
+storiesOf('Attributes/DeleteAttribute', module).add('default', () => (
+
+));
diff --git a/stories/banking-data.js b/stories/banking-data.js
index 4f1111450..5576eeebe 100644
--- a/stories/banking-data.js
+++ b/stories/banking-data.js
@@ -1,268 +1,361 @@
export const bankingOffers = [
{
- id: 1,
- countryCode: 'hk',
- region: 'Hong Kong',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 500,
- accountType: 'personal',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 2,
- countryCode: 'sg',
- region: 'Singapore',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 500,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Credit Cards'],
- personalVisitRequired: true,
- price: 1500,
- accountType: 'personal',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 3,
- countryCode: 'ky',
- region: 'Cayman',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Savings', 'Credit Cards', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 800,
- accountType: 'personal',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 4,
- countryCode: 'vg',
- region: 'British Virgin Islands',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 10000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: true,
- price: 3500,
- accountType: 'personal',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 5,
- countryCode: 'kn',
- region: 'Nevis',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 800,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 200,
- accountType: 'personal',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
-
- {
- id: 6,
- countryCode: 'hk',
- region: 'Hong Kong',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 500,
- accountType: 'business',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 7,
- countryCode: 'sg',
- region: 'Singapore',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- minInitialDeposit: 500,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Credit Cards'],
- personalVisitRequired: true,
- price: 1500,
- accountType: 'business',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 8,
- countryCode: 'ky',
- region: 'Cayman',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Savings', 'Credit Cards', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 800,
- accountType: 'business',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 9,
- countryCode: 'vg',
- region: 'British Virgin Islands',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 10000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: true,
- price: 3500,
- accountType: 'business',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 10,
- countryCode: 'kn',
- region: 'Nevis',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 800,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 200,
- accountType: 'business',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
-
- {
- id: 11,
- countryCode: 'hk',
- region: 'Hong Kong',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 500,
- accountType: 'private',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 12,
- countryCode: 'sg',
- region: 'Singapore',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 500,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Credit Cards'],
- personalVisitRequired: true,
- price: 1500,
- accountType: 'private',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 13,
- countryCode: 'ky',
- region: 'Cayman',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- minInitialDeposit: 1000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Savings', 'Credit Cards', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 800,
- accountType: 'private',
- onlineBanking: ['Internet Home Banking']
- },
- {
- id: 14,
- countryCode: 'vg',
- region: 'British Virgin Islands',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 10000,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: true,
- price: 3500,
- accountType: 'private',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
+ category: 'banking',
+ createdAt: 1564997439862,
+ data: {
+ accounts: {
+ SG1bG: {
+ accountCode: 'SG1b',
+ accountTitle: 'Business Priority Account',
+ bankCode: 'SG1bG',
+ bankName: 'RHB Bank',
+ countryCode: 'SG',
+ countryName: 'Singapore',
+ currencies: ['SGD', 'USD'],
+ details:
+ 'There are no specific restricted jurisdictions other than those that face international sanctions. A Business connection with Singapore (Supplier or Client or Management) is oftentimes required.\n\nForeign companies engaging in high-risk businesses and/or conducting an activity which is regulated in Singapore (such as Money transmitter or Forex trading) are not eligible. There are no requirements in terms of business turnover or business size.',
+ eligibility: 'Local and Foreign Companies (Including Offshore Companies)',
+ minAverageBalanceDescription: 'SGD 20,000.00\nUSD 20,000.00',
+ minInitialDeposit: 'USD 80,000.00',
+ minMonthlyBalance: 'USD 20,000.00',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC Questionnaires. In addition to your company and identity documents, you will need to provide certain business documentation to support your application such as invoices, letters of intent, contracts, etc. \n\nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes from 1 to 3 days. \n\nWe will arrange your appointment with the Relationship Manager in Singapore. The appointment is usually arranged for the following week subject to the client and bankers availability. \n\nYou will need to visit the Bank’s branch and have a 1-hour meeting with the Relationship Manager. You will need to provide original documents and sign the application forms. \n\nAfter two or three weeks, you will receive an e-mail from the Relationship Manager confirming the account opening and providing your account number. You will need to transfer the initial deposit. \n\nAfter 5-10 days, you will receive your Internet Banking credentials via courier. \n\n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking'],
+ otherServices: [
+ 'Trade Finance',
+ 'Cheque Book',
+ 'Fixed Deposits',
+ 'Wire Transfer Commissions Waived',
+ 'Preferential Exchange Rates'
+ ],
+ personalVisitRequired: true,
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '3-4 weeks'
+ },
+ SG2bA: {
+ accountCode: 'SG2b',
+ accountTitle: 'Personal Account',
+ bankCode: 'SG2bA',
+ bankName: 'UOB Bank',
+ cards: ['Visa Debit (SGD)', 'Mastercard Debit', 'Credit Cards'],
+ countryCode: 'SG',
+ countryName: 'Singapore',
+ currencies: [
+ 'Multi-currency',
+ 'SGD',
+ 'USD',
+ 'EUR',
+ 'AUD',
+ 'JPY',
+ 'HKD',
+ 'CHF',
+ 'GBP'
+ ],
+ eligibility:
+ 'Individuals with a regional connection (e.g. Southeast Asian business, employment, residency…etc)\nIndividuals willing to invest in bank’s financial and insurance products (e.g. life insurance policy, investment funds…etc.)',
+ minAverageBalanceDescription: 'SGD 1,000.00',
+ minInitialDeposit: 'SGD 1,000.00',
+ minMonthlyBalance: 'SGD 1,000.00',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC Questionnaires. \n\nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes from 1 to 3 days. \n\nWe will arrange your appointment with the Relationship Manager in Singapore. The appointment is usually arranged for the following week subject to the client and banker availability. \n\nYou will need to visit the Bank’s branch and have a 1-hour meeting with the Relationship Manager. You will need to provide original documents and sign the application forms. \n\nPersonal Accounts are opened on the spot, internet banking credentials will be set the same day and you will receive the debit card the same day. You may elect to pick up your SecureToken device after 5 business days or receive it in the mailing address provided. \n\n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking', 'Currency Exchange App'],
+ otherServices: ['Term-deposits', 'Interest-bearing accounts'],
+ personalVisitRequired: true,
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '1 week'
+ },
+ SG3bC: {
+ accountCode: 'SG3b',
+ accountTitle: 'Wealth Management Account',
+ bankCode: 'SG3bC',
+ bankName: 'Citibank Singapore',
+ cards: ['Debit Card (SGD)', 'Credit Card (USD)'],
+ countryCode: 'SG',
+ countryName: 'Singapore',
+ currencies: ['Multi-currency'],
+ eligibility: 'International Individuals',
+ minAverageBalanceDescription: 'USD 200,000.00',
+ minInitialDeposit: 'USD 200,000.00',
+ minMonthlyBalance: 'N/A',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC Questionnaires. You will need to provide certified copies of your identity documents and proof of address. \n\nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes from 1 to 3 days. \n\nOnce the relationship manager has confirmed that your documents meet the bank’s requirements. You will be required to mail them to Singapore. \n\nOnce the bank receives the original certified copies of your documents, the relationship manager will proceed to open your account. \n\nOnce your account is opened you will receive your Bank Account details via SMS and a welcome e-mail from the bank. Debit Card and Internet Banking credentials will be sent via courier. \n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking'],
+ otherServices: [
+ 'Savings Account',
+ 'Term-deposits',
+ 'FOREX',
+ 'Brokerage Accounts',
+ 'Investment Services',
+ 'Dedicated Wealth Planner'
+ ],
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '2 weeks'
+ }
+ },
+ accountCode: 'SG1b',
+ activeTestPrice: true,
+ countryCode: 'SG',
+ eligibility: ['Offshore Companies', 'Resident Companies'],
+ goodFor: [
+ 'Offshore Companies',
+ 'Transactional Banking',
+ 'Credit Card Processing',
+ 'Payment Processors',
+ 'Private Banking',
+ 'Trade Finance',
+ 'Credit Cards'
+ ],
+ introText:
+ '
Singapore is one of the largest financial centers and a top offshore banking destination due to its political and financial stability, its top-notch corporate banking facilities and its broad-range of wealth management services, investment funds, and insurance products.
\n\n
In addition, Singapore is one of the most reputed international financial centers whose banks consistently onboard companies incorporated in tax-neutral jurisdictions.
\n\n
However, banks will want to see a solid and legitimate business backing the company. Offshore companies will need to provide enough supporting business documentation such as business plans, invoices, contracts, letters of intent, etc., to satisfy the bank’s compliance requirements.
\n\n
Singapore banks are ideal for businesses that require strong transactional banking and cash management services. Companies banking in Singapore have access to some of the quickest and most affordable money transfer services worldwide.
\n\n
Import/Export companies will have access to top trade finance services such as Letter of Credit and Bank guarantees.
\n\n
Singaporean banks are considerably risk-averse and are not open for companies engaging in high-risk business activities.
\n\n
For Singaporean e-commerce businesses, a broad range of merchant accounts and credit card processing aggregators are available.
\n\n
An oasis of financial stability together with the most technologically-advanced private banking facilities, excellent customer service and a capital gains tax-free environment makes Singapore the top Asia-Pacific destination for international wealth management services.
',
+ jurisdiction: {
+ bankingDescription:
+ "
Singapore is the third world’s major financial center and a top offshore banking destination due to its political and financial stability, its top-notch corporate banking facilities and its broad-range of private banking services, investment funds and insurance.
\n
In addition, Singapore is one of the most reputed international financial centers whose banks consistently onboard companies incorporated in tax-neutral jurisdictions.
\n
However, banks will want to see a solid and legit business backing the company. Offshore companies will need to provide enough supporting business documentation such as business plans, invoices, contracts, letters of intent, etc. to satisfy the bank's compliance requirements.
\n
Singapore banks are ideal for businesses that require strong transactional banking and cash management services. Companies banking in Singapore have access to some of the quickest and most affordable money transfer services.
\n
Import/Export companies will have access to top trade finance services such as Letter of Credit and Bank guarantees.
\n
Singaporean banks are considerably risk-averse and are not open for companies engaging in high-risk business activities.
\n
For Singaporean e-commerce businesses, a broad range of merchant accounts and credit card processing aggregators are available.
\n
An oasis of financial stability together with the most technology advanced private banking facilities, an excellent customer service and a capital gains tax-free environment makes Singapore the top Asia-Pacific destination for international wealth management services.
",
+ businessAccounts: [
+ 'Offshore Company',
+ 'Regional Company',
+ 'Resident Company',
+ 'Nonresident Onshore Company'
+ ],
+ countryCode: 'SG',
+ countryDetails:
+ '
The Republic of Singapore, also known as Lion City or the Little Red Dot, is an island city-state of Asia, made up of a main island and other sixty-two islets, and founding member of the ASEAN.
\n
It is located to the south of the State of Johor in the peninsula of Malaysia and to the north of the islands Riau of Indonesia, separated of these by Strait of Singapore. Its population is about 5.5 million, of which about 75 percent are Chinese, and the rest are Malay, Indian or Eurasian minorities. This multiculturalism diversity is reflected in the four official languages of the country, English, Chinese, Malay and Tamil. Its official currency is the Singapore Dollar (SGD), which is also accepted as customary tender in Brunei. Alike, the Brunei Dollar (BND) is customarily accepted in Singapore.
\n
Singapore is a unitary multiparty parliamentary republic, with a Westminster system of unicameral parliamentary government.
\n
Singapore is one of the main global cities and one of the hubs of world trade, third-largest oil refining and trading centre, third largest financial center and one of the largest freight port worldwide. Singapore is the third country with the highest per capita income worldwide, in terms of purchasing power parity, as well as being among the first countries on the international lists of education, with one of the highest skilled workforce worldwide, health, political transparency and economic competitiveness.
\n
Its globalized and diversified economy depends especially on international trade, refining imported raw goods to reexport, and an export-oriented manufacturing sector, mainly chemistry, oil refining, being one of the top three export refining centers in the world, mechanical engineering, biotechnology and biomedical sciences. Singapore has one of the seaports that handles the largest annual cargo volume worldwide, both in tonnage and in the number of containers.
\n
The country is also an important international financial hub, leading world’s private banking sector, offering top-notch corporate banking facilities and a broad-range of banking services, investment funds and insurance services, among others. It also has the fourth largest currency exchange and capital market worldwide, behind New York, London and Tokyo.
\n
All supported by an investor and entrepreneurship friendly tax policy. With a territorial tax system, a low tax burden and the availability of several tax breaks and incentives for startups and technological innovation.
\n
Singapore welcomes thousands of foreign investors, expats entrepreneurs and multinational companies’ employees. Singapore’s immigration policy is geared towards attracting foreign talent, with several visa schemes to attract high-skilled foreign employees, entrepreneurs and investors.
',
+ countryName: 'Singapore',
+ goodFor: [
+ 'Offshore Companies',
+ 'Transactional Banking',
+ 'Credit Card Processing',
+ 'Payment Processors',
+ 'Private Banking',
+ 'Trade Finance',
+ 'Credit Cards'
+ ],
+ minDeposit: ['Medium'],
+ payments: [
+ 'PayPal',
+ 'Amazon Payouts',
+ 'Merchant Accounts',
+ 'Stripe',
+ 'Onshore CC Aggregator',
+ 'Prepaid / Credit Cards'
+ ],
+ personalAccounts: ['Regional'],
+ remote: ['In-Person'],
+ showApp: true,
+ wealthManagement: ['International']
+ },
+ minDeposit: 'USD 1,000.00',
+ personalVisitRequired: false,
+ price: '1750',
+ priceOptions: '- Corporate Bank Account (1750)',
+ region: 'Singapore',
+ shop: 'https://flagtheory.com/product/singaporean-bank-account/',
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testDidAddress: '0xee10a3335f48e10b444e299cf017d57879109c1e32cec3e31103ceca7718d0ec',
+ testPrice: '0.25',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ testWalletAddress: '0x23d233933c86f93b74705cf0d236b39f474249f8',
+ type: 'business',
+ walletAddress: '0x6ce3bdd91d3b9f55ec206970e75701043fba751d',
+ walletDescription:
+ '
Our banking support service is not just a mere introduction to the bank. We assist you in filling out the business questionnaires appropriately and help you understand and provide business details, commercial information and purpose/use of the bank account that a given bank wants to know in order to approve your account application. Banks want certainty and clarity on how the account will be used. Everything must be watertight. We will work with you to make sure there is minimal ‘back and forth’ and a smooth account opening process.
\n\n
Our banking support services include introductions to payment processors and merchant accounts to better support our e-commerce clients. Whether you just need standard credit card processing or specialized services for high-risk processing, we are happy to help you with introductions that can empower your business.
\n\n
\nBank Account opening requirements are subject to change at the discretion of the bank. There might be additional fees charged by the bank itself. Bank account opening is not guaranteed and is subject to the bank policies and compliance department. There might be restrictions on UBO nationalities, business activities and/or jurisdictions. A refund is guaranteed if the account is not successfully opened, but a 15% administrative fee applies.
'
+ },
+ description: '',
+ env: 'development',
+ id: 318,
+ name: 'Singapore SG1b',
+ parentSku: null,
+ price: '0.25',
+ priceCurrency: 'USD',
+ sku: 'FT-BNK-SG1b',
+ status: 'active',
+ updatedAt: 1565097777686,
+ vendorId: 'flagtheory_banking'
},
{
- id: 15,
- countryCode: 'kn',
- region: 'Nevis',
- eligibility: ['Resident Individuals', 'Regional Individuals', 'International Individuals'],
- eligibilityExpanded:
- 'Resident Individuals, Regional Individuals, International Individuals',
- minInitialDeposit: 800,
- minInitialDepositCurrency: 'USD',
- goodFor: ['Transactional Banking', 'Multi-currency Cards'],
- personalVisitRequired: false,
- price: 200,
- accountType: 'private',
- currencies: ['USD, SGD, CAD'],
- cards: ['Mastercard, Visa'],
- timeToOpen: '1 Month',
- onlineBanking: ['Internet Home Banking']
+ category: 'banking',
+ createdAt: 1564997439862,
+ data: {
+ accounts: {
+ HK2bA: {
+ accountCode: 'HK2b',
+ accountTitle: 'Personal Savings Account',
+ bankCode: 'HK2bA',
+ bankName: 'Bank Of China (Hong Kong)',
+ cards: ['UnionPay Debit (HKD)', 'UnionPay Debit (CNY)'],
+ countryCode: 'HK',
+ countryName: 'Hong Kong',
+ currencies: ['HKD', 'USD', 'Multi-currency'],
+ eligibility: 'International Individuals (A connection with HK is a must)',
+ minAverageBalanceDescription: 'HKD 10,000.00',
+ minInitialDeposit: 'HKD 10,000.00',
+ minMonthlyBalance: 'HKD 10,000.00',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC Questionnaires. \nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes 1 week. \nWe will arrange your appointment with the Relationship Manager in Hong Kong. The appointment is usually the following week. \nYou will need to visit the Bank’s branch to provide original documents, have an interview with the banker and sign application forms. \nThe bank account will be opened on the spot. You will receive your account details, internet banking credentials, secure Token device and your debit card the same day. \n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking'],
+ otherServices: ['Term-deposits', 'Investment Services', 'Insurance Products'],
+ personalVisitRequired: true,
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '2-3 weeks'
+ },
+ HK2bB: {
+ accountCode: 'HK2b',
+ activeTestPrice: true,
+ countryCode: 'HK',
+ bankCode: 'HK2bB',
+ eligibility: ['International Individuals'],
+ goodFor: ['Offshore Savings'],
+ introText:
+ '
Hong Kong is the largest financial hub in Asia and one of the safest and more convenient places to bank. Hong Kong banks are some of the most solvent and liquid banks worldwide.
\n
There are no exchange controls and accounts are available in multiple currencies, in addition to a large variety of investment and insurance products.
\n
Hong Kong banks are ideal for both individuals and businesses that require strong cash management services in various currencies and that have strong investment needs.
\n
Hong Kong is also the gateway to one of the largest and fastest-growing markets worldwide: China. Hong Kong banks offer RMB accounts and payment cards.
\n
Import/Export companies will have access to top trade finance services such as Letter of Credit and Bank guarantees.
\n
Hong Kong online businesses with HK bank accounts also have access to a broad range of merchant accounts and credit card processing aggregators.
\n
Hong Kong banks are also available for companies incorporated in tax-neutral jurisdictions. However, banks will want to see a solid business background, and a relatively low-risk commercial activity to onboard an offshore company.
\n
Offshore companies will need to provide enough supporting business documentation such as business plans, invoices, contracts, letters of intent, etc., to satisfy the bank’s compliance requirements.
\n
All in all, Hong Kong is a perfect banking location for local and international businesses, companies doing business in China and individuals looking for strong wealth management and investment services.
',
+ jurisdiction: {
+ businessAccounts: [
+ 'Offshore Company',
+ 'Nonresident Onshore Company',
+ 'Resident Company',
+ 'Regional Company'
+ ],
+ countryCode: 'HK',
+ countryDetails:
+ '
Hong Kong is a Special Administrative Region of the People’s Republic of China (Hong Kong SAR). Its official languages are English and Cantonese.
\n
Although it is part of the People’s Republic of China, the region maintains an independent economic, administrative and judicial system, and even its own currency, system of customs and external borders. Its official legal tender currency is the Hong Kong Dollar (HKD), pegged to the USD, which is the ninth most traded currency worldwide.
\n
The legislative council is the Hong Kong Parliament, which is formed by 60-members, half elected by universal suffrage in geographical circumscriptions, while the other 30 are elected by groups of representatives from different economic and social sectors.
\n
Its public finances are characterized by its sustainability, with no public net debt, continuous government surplus and ample foreign exchange reserves, all supported by rigorous anti-corruption measures.
\n
Hong Kong’s economy is mainly based on financial services, tourism, wholesale and retail trade, and international trade, especially trade between China and the rest of the world. Hong Kong is one of the world’s major financial hub, ranking eleventh worldwide in volume of banking operations and the Hong Kong Stock Exchange being the second largest capital market in Asia, after the Tokyo Stock Exchange.
',
+ countryName: 'Hong Kong',
+ goodFor: [
+ 'Transactional Banking',
+ 'Credit Card Processing',
+ 'Payment Processors',
+ 'Private Banking',
+ 'Trade Finance'
+ ],
+ minDeposit: ['Low'],
+ payments: [
+ 'PayPal',
+ 'Amazon Payouts',
+ 'Merchant Accounts',
+ 'Stripe',
+ 'Onshore CC Aggregator',
+ 'Prepaid / Credit Cards'
+ ],
+ personalAccounts: ['International'],
+ remote: ['In-Person'],
+ showApp: true,
+ wealthManagement: ['International']
+ },
+ HK1bE: {
+ accountCode: 'HK1b',
+ accountTitle: 'Business Account',
+ bankCode: 'HK1bE',
+ bankName: 'Bank Of China (Hong Kong)',
+ cards: [
+ 'UnionPay Debit (HKD)',
+ 'UnionPay Debit (CNY)',
+ 'Mastercard Credit Card (USD)',
+ 'Visa Credit (USD)'
+ ],
+ countryCode: 'HK',
+ countryName: 'Hong Kong',
+ currencies: ['HKD', 'USD', 'Multi-currency'],
+ details:
+ '
Any foreign business should have a Hong Kong business address (lease-agreement) in order to open an account. We can provide a Hong Kong business address for HKD 15,000 per annum. A Business connection with the region is required – via suppliers, client or company office, directors’ residency, or any other.
\n
Companies incorporated in tax-neutral jurisdictions (such as BVI, Cayman Islands, etc..) are eligible as long as they have a commercial activity and do business in Asia.
\n
Foreign companies engaging in high-risk businesses and/or conducting an activity which is regulated in Hong Kong (such as Money transmitter or Forex trading) are not eligible.
\n
There are no requirements in terms of business turnover or business size.
',
+ eligibility: 'Hong Kong Companies',
+ minAverageBalanceDescription: 'HKD 10,000.00',
+ minInitialDeposit: 'HKD 10,000.00',
+ minMonthlyBalance: 'HKD 10,000.00',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC and Business Questionnaires. In addition to your company and identity documents, you will need to provide certain business documentation to support your application such as invoices, letters of intent, contracts, etc. \nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes from 1 to 2 weeks. \nOnce your account has been approved. We will arrange your appointment with the Relationship Manager in Hong Kong. The appointment is subject to the availability of the banker, and may be arranged in one or two weeks. \nAccount signatories and directors will need to visit the Bank’s branch to provide original documents, have an interview with the banker and sign application forms. \nAfter 1 month, you will receive an e-mail from the bank confirming the account opening. You will receive your account details, internet banking credentials and ATM card. \n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking'],
+ otherServices: [
+ 'Trade Finance',
+ 'Cheque Book',
+ 'Payroll Services',
+ 'Investment Services',
+ 'Term-deposits'
+ ],
+ personalVisitRequired: true,
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '4-6 weeks'
+ }
+ },
+ accountCode: 'HK3b',
+ accountTitle: 'Wealth Management Account',
+ bankCode: 'HK3bA',
+ bankName: 'DBS Bank',
+ cards: [
+ 'UnionPay Debit (HKD)',
+ 'UnionPay Debit (CNY)',
+ 'Mastercard Credit Card (USD)',
+ 'Mastercard Credit Card (HKD)',
+ 'Visa Credit (USD)',
+ 'Visa Credit (HKD)'
+ ],
+ countryCode: 'HK',
+ countryName: 'Hong Kong',
+ currencies: ['HKD', 'USD', 'Multi-currency'],
+ eligibility: 'International Individuals and Companies',
+ minInitialDeposit: 'HKD 1,000,000.00',
+ minMonthlyBalance: 'N/A',
+ onboarding:
+ '
\nWe will assist you in filling out the KYC Questionnaires. \nThe Bank’s Relationship Manager will review your documentation. The banker may come back with additional questions or give green-light to your account opening process. This usually takes 1 week. \nWe will arrange your appointment with the Relationship Manager in Hong Kong. The appointment is usually arranged for the following week subject to the client and bankers availability. \nYou will need to visit the Bank’s branch and have a 1-hour meeting with the Relationship Manager. You will need to provide original documents and sign the application forms. \nWealth Management Accounts are opened on the spot, you will receive your cards, and your internet banking credentials will be set the same day. \n ',
+ onlineBanking: ['Internet Banking', 'Mobile Banking'],
+ otherServices: [
+ 'iWealth',
+ 'Trading Platform',
+ 'FOREX',
+ 'Investment Services',
+ 'Term-deposits',
+ 'Dedicated Wealth Planner'
+ ],
+ personalVisitRequired: true,
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ timeToOpen: '2-3 weeks'
+ },
+ minDeposit: 'HKD 10,000.00',
+ personalVisitRequired: true,
+ price: '1150',
+ priceOptions: '- Personal Bank Account (1150)',
+ region: 'Hong Kong',
+ countryCode: 'HK',
+ shop: 'https://flagtheory.com/product/open-a-bank-account-in-hong-kong/',
+ showApp: true,
+ showWallet: true,
+ templateId: '5d09d11c26f7be563f7e0650',
+ testDidAddress: '0xee10a3335f48e10b444e299cf017d57879109c1e32cec3e31103ceca7718d0ec',
+ testPrice: '0.25',
+ testTemplateId: '5d09d11c26f7be563f7e0650',
+ testWalletAddress: '0x23d233933c86f93b74705cf0d236b39f474249f8',
+ type: 'personal',
+ walletAddress: '0x6ce3bdd91d3b9f55ec206970e75701043fba751d',
+ walletDescription:
+ '
Our banking support service is not just a mere introduction to the bank. We assist you in filling out the business questionnaires appropriately and help you understand and provide business details, commercial information and purpose/use of the bank account that a given bank wants to know in order to approve your account application. Banks want certainty and clarity on how the account will be used. Everything must be watertight. We will work with you to make sure there is minimal ‘back and forth’ and a smooth account opening process.
\n\n
Our banking support services include introductions to payment processors and merchant accounts to better support our e-commerce clients. Whether you just need standard credit card processing or specialized services for high-risk processing, we are happy to help you with introductions that can empower your business.
\n\n
\nBank Account opening requirements are subject to change at the discretion of the bank. There might be additional fees charged by the bank itself. Bank account opening is not guaranteed and is subject to the bank policies and compliance department. There might be restrictions on UBO nationalities, business activities and/or jurisdictions. A refund is guaranteed if the account is not successfully opened, but a 15% administrative fee applies.
'
+ },
+ description: '',
+ env: 'development',
+ id: 321,
+ name: 'Hong Kong HK2b',
+ parentSku: null,
+ price: '0.25',
+ priceCurrency: 'USD',
+ sku: 'FT-BNK-HK2b',
+ status: 'active',
+ updatedAt: 1565097777686,
+ vendorId: 'flagtheory_banking'
}
];
@@ -309,20 +402,3 @@ export const country = {
currencyCode: 'USD',
population: 20100001
};
-
-export const translation = {
- introText:
- '
Banking description here
cool
',
- countryDetails:
- '
Country Details here cool country details
',
- introduction: '
Description here cool introduction
'
-};
-
-export const htmlServices = [
- { onboarding: "
Services text here
" }
-];
-
-export const accountType = {
- accountType: 'business',
- goodFor: ['International Companies', 'Offshore Companies', 'e-Commerce']
-};
diff --git a/stories/banking.stories.js b/stories/banking.stories.js
index 57c465db0..0cd319226 100644
--- a/stories/banking.stories.js
+++ b/stories/banking.stories.js
@@ -2,14 +2,7 @@ import React from 'react';
import { action } from '@storybook/addon-actions';
import { linkTo } from '@storybook/addon-links';
import { storiesOf } from '@storybook/react';
-import {
- resume,
- country,
- translation,
- bankingOffers,
- htmlServices,
- accountType
-} from './banking-data';
+import { resume, country, bankingOffers } from './banking-data';
import KYCRequirementData from './kyc-requirements-data';
import BankingOffersTable from '../src/renderer/marketplace/bank-accounts/list/offers-table';
import BankingAccountTypeTabs from '../src/renderer/marketplace/bank-accounts/list/account-type-tabs';
@@ -36,7 +29,7 @@ storiesOf('Banking', module)
@@ -44,7 +37,8 @@ storiesOf('Banking', module)
.add('OptionSelection', () => (
(
(
bank.accountType === 'personal')}
+ inventory={bankingOffers.filter(bank => bank.data.type === 'personal')}
accountType="personal"
onAccountTypeChange={linkTo('Banking/OffersPage', accountType => accountType)}
onDetails={linkTo('Banking/BankingDetailsPage', 'default')}
@@ -116,8 +110,8 @@ storiesOf('Banking/OffersPage', module)
.add('corporate', () => (
bank.accountType === 'business')}
- accountType="corporate"
+ inventory={bankingOffers.filter(bank => bank.data.type === 'business')}
+ accountType="business"
onAccountTypeChange={linkTo('Banking/OffersPage', accountType => accountType)}
onDetails={linkTo('Banking/BankingDetailsPage', 'default')}
onBackClick={action('banking offers page back')}
@@ -126,7 +120,7 @@ storiesOf('Banking/OffersPage', module)
.add('private', () => (
bank.accountType === 'private')}
+ inventory={bankingOffers.filter(bank => bank.data.type === 'private')}
accountType="private"
onAccountTypeChange={linkTo('Banking/OffersPage', accountType => accountType)}
onDetails={linkTo('Banking/BankingDetailsPage', 'default')}
@@ -158,42 +152,50 @@ storiesOf('Banking/BankingApplicationButton', module)
storiesOf('Banking/Tab Content', module)
.add('types', () => (
offer.countryCode === 'hk')}
- accountType={translation}
+ banks={bankingOffers[0].data.accounts}
+ jurisdiction={bankingOffers[0]}
region="Hong Kong"
/>
))
- .add('description', () => )
+ .add('description', () => )
.add('country', () => (
))
.add('country loading', () => )
- .add('services', () => );
+ .add('services', () => (
+
+ ));
storiesOf('Banking/AccountOptions', module)
.add('default', () => (
))
.add('withOptions', () => (
))
.add('open', () => (
@@ -206,15 +208,16 @@ storiesOf('Banking/Tabs Selector', module)
.add('types', () => (
offer.countryCode === 'hk')}
- region="Hong Kong"
+ jurisdiction={bankingOffers[0]}
+ banks={bankingOffers[0].data.accounts}
+ region="Singapore"
onTabChange={linkTo('Banking/Tabs Selector', tab => tab)}
/>
))
.add('description', () => (
tab)}
/>
))
@@ -222,7 +225,7 @@ storiesOf('Banking/Tabs Selector', module)
tab)}
@@ -231,7 +234,8 @@ storiesOf('Banking/Tabs Selector', module)
.add('services', () => (
tab)}
/>
));
@@ -358,7 +362,8 @@ storiesOf('Banking/BankingDetailsPage', module)
contact="help@flagtheory.com"
resume={resume}
canOpenBankAccount
- accountType={translation}
+ banks={bankingOffers[0].data.accounts}
+ jurisdiction={bankingOffers[0]}
onTabChange={linkTo('Banking/BankingDetailsPage', tab => tab)}
kycRequirements={KYCRequirementData}
onBack={action('banking details back')}
@@ -374,7 +379,8 @@ storiesOf('Banking/BankingDetailsPage', module)
contact="help@flagtheory.com"
resume={resume}
canOpenBankAccount
- banks={htmlServices}
+ banks={bankingOffers[0].data.accounts}
+ jurisdiction={bankingOffers[0]}
onTabChange={linkTo('Banking/BankingDetailsPage', tab => tab)}
kycRequirements={KYCRequirementData}
onBack={action('banking details back')}
@@ -391,7 +397,8 @@ storiesOf('Banking/BankingDetailsPage', module)
resume={resume}
canOpenBankAccount
country={country}
- jurisdiction={translation}
+ banks={bankingOffers[0].data.accounts}
+ jurisdiction={bankingOffers[0]}
loadCountryAction={action('load country')}
onTabChange={linkTo('Banking/BankingDetailsPage', tab => tab)}
kycRequirements={KYCRequirementData}
diff --git a/stories/corporate-data.js b/stories/corporate-data.js
new file mode 100644
index 000000000..b0963b0ff
--- /dev/null
+++ b/stories/corporate-data.js
@@ -0,0 +1,486 @@
+export const dummyProfile = {
+ entityName: 'Selfkey, LLC',
+ jurisdiction: 'United States',
+ entityType: 'LLC',
+ creationDate: '08/08/2018',
+ address: '1, Amazing Loop, Singapore',
+ did: 'did:selfkey:0x9cb701490ad6112d2880225c1d712f1af8c7dce1a81c44030b321fb31029cd75',
+ allAttributes: []
+};
+export const dummyIncompleteProfile = {
+ entityName: 'Selfkey, LLC',
+ entityType: 'LLC',
+ creationDate: '08/08/2018',
+ did: false,
+ allAttributes: []
+};
+
+export const corporateApplications = [
+ {
+ id: 1,
+ title: 'Incorporation',
+ rpName: 'Flag Theory',
+ currentStatusName: 'pending'
+ },
+ {
+ id: 2,
+ title: 'Banking',
+ rpName: 'Flag Theory',
+ currentStatusName: 'rejected'
+ },
+ {
+ id: 3,
+ title: 'Banking',
+ rpName: 'Bank of China',
+ currentStatusName: 'approved'
+ }
+];
+
+export const dummyMembers = [
+ {
+ id: '1',
+ name: 'Giacomo Guilizzoni',
+ type: 'Person',
+ role: 'Director, Shareholder',
+ citizenship: 'Italy',
+ residency: 'Singapore',
+ shares: '45%'
+ },
+ {
+ id: '2',
+ name: 'Marco Botton Ltd',
+ type: 'Corporate',
+ role: 'Shareholder',
+ citizenship: 'Hong Kong',
+ residency: 'Hong Kong',
+ shares: '9%'
+ },
+ {
+ id: '3',
+ name: 'Big Things Ltd',
+ type: 'Corporate',
+ role: 'Shareholder',
+ citizenship: 'Hong Kong',
+ residency: 'Hong Kong',
+ shares: '41%'
+ },
+ {
+ id: '4',
+ name: 'John Dafoe',
+ type: 'Person',
+ role: 'Director',
+ citizenship: 'France',
+ residency: 'France',
+ shares: '5%'
+ }
+];
+
+export const corporateCapTable = [
+ {
+ type: 'Person',
+ role: 'Director',
+ name: 'John Doe',
+ email: 'john.doe@email.com',
+ citizenship: 'Italy',
+ residency: 'Singapore',
+ shares: 0.5,
+ children: []
+ },
+ {
+ type: 'Corporate',
+ role: 'Shareholder',
+ name: 'ACME Inc',
+ email: null,
+ citizenship: 'Hong Kong',
+ residency: 'Hong Kong',
+ shares: 0.09,
+ children: dummyMembers
+ },
+ {
+ type: 'Corporate',
+ role: 'Shareholder',
+ name: 'Apple Inc',
+ email: null,
+ citizenship: 'U.S.A.',
+ residency: 'U.S.A.',
+ shares: 0.41,
+ children: []
+ }
+];
+
+export const entityTypes = [
+ 'Company Limited by Shares (LTD)',
+ 'Limited Liability Company (LLC)',
+ 'Trust (TST)',
+ 'Foundation (FND)',
+ 'Limited Partnership (LLP)',
+ 'Other'
+];
+
+export const legalJurisdictions = [
+ 'Afghanistan',
+ 'Albania',
+ 'Algeria',
+ 'Andorra',
+ 'Angola',
+ 'Anguilla',
+ 'Antigua and Barbuda',
+ 'Argentina',
+ 'Armenia',
+ 'Aruba',
+ 'Australia',
+ 'Austria',
+ 'Azerbaijan',
+ 'Bahamas',
+ 'Bangladesh',
+ 'Bahrain',
+ 'Barbados',
+ 'Belarus',
+ 'Belgium',
+ 'Belize',
+ 'Benin',
+ 'Bermuda',
+ 'Bhutan',
+ 'Bolivia',
+ 'Bosnia and Herzegovina',
+ 'Botswana',
+ 'Brazil',
+ 'British Virgin Islands',
+ 'Brunei',
+ 'Bulgaria',
+ 'Burkina Faso',
+ 'Burundi',
+ 'Cambodia',
+ 'Cameroon',
+ 'Canada',
+ 'Cape Verde',
+ 'Cayman Islands',
+ 'Central African Republic',
+ 'Chile',
+ "China, People's Republic of Hong Kong",
+ "China, People's Republic of Macau",
+ 'Taiwan',
+ 'Colombia',
+ 'Congo, Democratic Republic of the',
+ 'Congo, Republic of the',
+ 'Cook Islands',
+ 'Costa Rica',
+ "Côte d'Ivoire",
+ 'Croatia',
+ 'Cuba',
+ 'Curaçao',
+ 'Cyprus',
+ 'Czech Republic',
+ 'Denmark',
+ 'Danish Realms - Faroe Islands',
+ 'Danish Realms - Greenland',
+ 'Djibouti',
+ 'Dominica',
+ 'Dominican Republic',
+ 'Ecuador',
+ 'Egypt',
+ 'El Salvador',
+ 'Eritrea',
+ 'Estonia',
+ 'Ethiopia',
+ 'Fiji',
+ 'Finland',
+ 'France',
+ 'Gabon',
+ 'Gambia',
+ 'Georgia',
+ 'Germany',
+ 'Ghana',
+ 'Gibraltar',
+ 'Greece',
+ 'Grenada',
+ 'Guatemala',
+ 'Guernsey, Channel Islands',
+ 'Guinea',
+ 'Guyana',
+ 'Haiti',
+ 'Honduras',
+ 'Hungary',
+ 'Iceland',
+ 'India',
+ 'Indonesia',
+ 'Iran',
+ 'Iraq',
+ 'Ireland',
+ 'Isle of Man',
+ 'Israel',
+ 'Italy',
+ 'Jamaica',
+ 'Japan',
+ 'Jersey, Channel Islands',
+ 'Jordan',
+ 'Kazakhstan',
+ 'Kenya',
+ 'Kiribati',
+ 'Kosovo',
+ 'Kuwait',
+ 'Kyrgyzstan',
+ 'Laos',
+ 'Latvia',
+ 'Lebanon',
+ 'Lesotho',
+ 'Liberia',
+ 'Liechtenstein',
+ 'Lithuania',
+ 'Luxembourg',
+ 'Macedonia',
+ 'Madagascar',
+ 'Malta',
+ 'Malawi',
+ 'Malaysia',
+ 'Maldives',
+ 'Mali',
+ 'Marshall Islands',
+ 'Mauritania',
+ 'Mauritius',
+ 'Mexico',
+ 'Micronesia, Federated States of',
+ 'Moldova',
+ 'Monaco',
+ 'Mongolia',
+ 'Montenegro',
+ 'Montserrat',
+ 'Morocco',
+ 'Mozambique',
+ 'Myanmar',
+ 'Namibia',
+ 'Nauru',
+ 'Nepal',
+ 'Netherlands',
+ 'Caribbean Netherlands - Bonaire',
+ 'Caribbean Netherlands - Sint Eustatius ',
+ 'Caribbean Netherlands - Saba ',
+ 'New Zealand',
+ 'Nicaragua',
+ 'Niger',
+ 'Nigeria',
+ 'Niue',
+ 'Norway',
+ 'Oman',
+ 'Pakistan',
+ 'Palau',
+ 'Palestinian territories',
+ 'Panama',
+ 'Papua New Guinea',
+ 'Paraguay',
+ 'Peru',
+ 'Philippines',
+ 'Poland',
+ 'Portugal',
+ 'Qatar',
+ 'Romania',
+ 'Russian Federation',
+ 'Rwanda',
+ 'Saint Kitts and Nevis',
+ 'Saint Lucia',
+ 'Saint Vincent and the Grenadines',
+ 'Samoa',
+ 'San Marino',
+ 'São Tomé and Príncipe',
+ 'Saudi Arabia',
+ 'Senegal',
+ 'Serbia',
+ 'Seychelles',
+ 'Sierra Leone',
+ 'Singapore',
+ 'Slovakia',
+ 'Slovenia',
+ 'Solomon Islands',
+ 'South Africa',
+ 'South Korea',
+ 'South Sudan',
+ 'Spain',
+ 'Sri Lanka',
+ 'Sint Maarten',
+ 'Sudan',
+ 'Suriname',
+ 'Swaziland',
+ 'Sweden',
+ 'Switzerland',
+ 'Tajikistan',
+ 'Tanzania',
+ 'Thailand',
+ 'Timor-Leste',
+ 'Tonga',
+ 'Togo',
+ 'Tunisia',
+ 'Turkey',
+ 'Turks and Caicos Islands',
+ 'Trinidad & Tobago',
+ 'Uganda',
+ 'Ukraine',
+ 'United Arab Emirates',
+ 'United Kingdom',
+ 'United States - Alabama',
+ 'United States - Alaska',
+ 'United States - Arizona',
+ 'United States - Arkansas',
+ 'United States - California',
+ 'United States - Colorado',
+ 'United States - Connecticut',
+ 'United States - Delaware',
+ 'United States - Florida',
+ 'United States - Georgia',
+ 'United States - Hawaii',
+ 'United States - Idaho',
+ 'United States - Illinois',
+ 'United States - Indiana',
+ 'United States - Iowa',
+ 'United States - Kansas',
+ 'United States - Kentucky',
+ 'United States - Louisiana',
+ 'United States - Maine',
+ 'United States - Maryland',
+ 'United States - Massachusetts',
+ 'United States - Michigan',
+ 'United States - Minnesota',
+ 'United States - Mississippi',
+ 'United States - Missouri',
+ 'United States - Montana',
+ 'United States - Nebraska',
+ 'United States - Nevada',
+ 'United States - New Hampshire',
+ 'United States - New Jersey',
+ 'United States - New Mexico',
+ 'United States - New York',
+ 'Uruguay',
+ 'Uzbekistan',
+ 'Vanuatu',
+ 'Venezuela',
+ 'Vietnam',
+ 'Yemen',
+ 'Zambia',
+ 'Zimbabwe'
+];
+export const corporateAttributes = [
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Company Name',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/company-name.json',
+ title: 'Company Name',
+ entityType: ['corporate']
+ }
+ },
+ data: {
+ value: 'ACME Inc'
+ }
+ },
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Entity Type',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/legal-entity-type.json',
+ title: 'Entity Type',
+ entityType: ['corporate']
+ }
+ },
+ data: {
+ value: 'LLC'
+ }
+ },
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Jurisdiction',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/legal-jurisdiction.json',
+ title: 'Legal Jurisdiction',
+ entityType: ['corporate']
+ }
+ },
+ data: {
+ value: 'Singapore'
+ }
+ },
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Incorporation Date',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/incorporation-date.json',
+ title: 'Incorporation Date',
+ entityType: ['corporate']
+ }
+ },
+ data: {
+ value: '17/10/1980'
+ }
+ },
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Address',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/physical-address.json',
+ title: 'Address',
+ entityType: ['corporate']
+ }
+ },
+ data: {
+ value: '1, Infinite Loop, California USA'
+ }
+ }
+];
+
+export const corporateDocuments = [
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Certificate of Incorporation',
+ type: {
+ content: {
+ $id:
+ 'http://platform.selfkey.org/schema/attribute/certificate-of-incorporation.json',
+ title: 'Certificate of Incorporation',
+ entityType: ['corporate']
+ }
+ },
+ documents: [
+ {
+ name: 'certificate.pdf',
+ mimeType: 'application/pdf'
+ }
+ ],
+ data: {
+ value: {
+ expires: 1568282607094
+ }
+ }
+ },
+ {
+ createdAt: 1568107330518,
+ updatedAt: 1568282607094,
+ name: 'Member Register',
+ type: {
+ content: {
+ $id: 'http://platform.selfkey.org/schema/attribute/member-register.json',
+ title: 'Member Register',
+ entityType: ['corporate']
+ }
+ },
+ documents: [
+ {
+ name: 'member_register.doc',
+ mimeType: 'application/msword'
+ }
+ ],
+ data: {
+ value: {
+ expires: 1568107330518
+ }
+ }
+ }
+];
diff --git a/stories/corporate.stories.js b/stories/corporate.stories.js
new file mode 100644
index 000000000..759c21a0e
--- /dev/null
+++ b/stories/corporate.stories.js
@@ -0,0 +1,208 @@
+import React from 'react';
+import { action } from '@storybook/addon-actions';
+import { linkTo } from '@storybook/addon-links';
+import { storiesOf } from '@storybook/react';
+
+import { RegisterDidCard } from '../src/renderer/did/register-did-card';
+
+import { CorporateDashboardPage } from '../src/renderer/corporate/dashboard/dashboard-page';
+import { CorporateDashboardTabs } from '../src/renderer/corporate/dashboard/dashboard-tabs';
+import { CorporateDetails } from '../src/renderer/corporate/common/corporate-details';
+import { CorporateApplicationsSummary } from '../src/renderer/corporate/common/corporate-applications';
+import { CorporateCapTable } from '../src/renderer/corporate/common/corporate-cap-table';
+import { CorporateShareholding } from '../src/renderer/corporate/common/corporate-shareholding';
+import { CorporateOrgChart } from '../src/renderer/corporate/common/corporate-org-chart';
+import { CorporateInformation } from '../src/renderer/corporate/common/corporate-information';
+import { CorporateWizard } from '../src/renderer/corporate/wizard/corporate-wizard';
+import { CorporateAddMember } from '../src/renderer/corporate/member/corporate-add-member';
+import { CorporateDocuments } from '../src/renderer/corporate/common/corporate-documents';
+
+import {
+ dummyProfile,
+ dummyIncompleteProfile,
+ corporateApplications,
+ corporateCapTable,
+ dummyMembers,
+ entityTypes,
+ legalJurisdictions,
+ corporateAttributes,
+ corporateDocuments
+} from './corporate-data';
+
+storiesOf('Corporate', module).add('Dashboard', () => (
+
+
+
+));
+
+storiesOf('Corporate/Dashboard Tabs', module)
+ .add('default', () => (
+ tab)}
+ />
+ ))
+ .add('overview', () => (
+ tab)}
+ />
+ ))
+ .add('overview with incomplete profile', () => (
+
+ }
+ onTabChange={linkTo('Corporate/Dashboard Tabs', tab => tab)}
+ />
+ ))
+ .add('information', () => (
+ tab)}
+ attributes={corporateAttributes}
+ onEditAttribute={action('on edit attribute')}
+ onDeleteAttribute={action('on delete attribute')}
+ onAddAttribute={action('on add attribute')}
+ documents={corporateDocuments}
+ onAddDocument={action('on add document')}
+ onEditDocument={action('on edit document')}
+ onDeleteDocument={action('on delete document')}
+ />
+ ))
+ .add('members', () => (
+ tab)}
+ />
+ ))
+ .add('applications', () => (
+ tab)}
+ />
+ ))
+ .add('history', () => (
+ tab)}
+ />
+ ));
+
+storiesOf('Corporate/Components', module)
+ .add('Company', () => (
+
+
+
+ ))
+ .add('Company with missing attributes', () => (
+
+
+
+ ))
+ .add('Corporate Applications', () => (
+
+
+
+ ))
+ .add('Corporate Cap Table', () => (
+
+
+
+ ))
+ .add('Corporate Shareholding', () => (
+
+
+
+ ))
+ .add('Corporate Org Chart', () => (
+
+
+
+ ))
+ .add('Corporate Informations', () => (
+
+
+
+ ))
+ .add('Corporate Documents', () => (
+
+
+
+ ));
+
+storiesOf('Corporate/Wizard', module)
+ .add('default', () => (
+ action(`field change ${name}:`)}
+ />
+ ))
+ .add('field error', () => (
+ action(`field change ${name}:`)}
+ />
+ ));
+
+storiesOf('Corporate', module).add('Add Member', () => );
diff --git a/stories/did.stories.js b/stories/did.stories.js
new file mode 100644
index 000000000..3974776ca
--- /dev/null
+++ b/stories/did.stories.js
@@ -0,0 +1,75 @@
+import React from 'react';
+import { action } from '@storybook/addon-actions';
+import { storiesOf } from '@storybook/react';
+import { RegisterDidCard } from '../src/renderer/did/register-did-card';
+import { CreateDIDPopup } from '../src/renderer/did/create-did-popup';
+import { AssociateDid } from '../src/renderer/did/associate-did';
+
+storiesOf('DID/RegisterDidCard', module)
+ .add('default', () => (
+
+ ))
+ .add('pending', () => (
+
+ ));
+
+storiesOf('DID/CreateDIDPopup', module).add('default', () => (
+
+));
+
+storiesOf('DID/AssociateDid', module)
+ .add('default', () => (
+
+ ))
+ .add('filled', () => (
+
+ ))
+ .add('searching', () => (
+
+ ))
+ .add('error', () => (
+
+ ));
diff --git a/stories/selfkey-id.stories.js b/stories/selfkey-id.stories.js
new file mode 100644
index 000000000..f92acacb3
--- /dev/null
+++ b/stories/selfkey-id.stories.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import SelfkeyIdOverview from '../src/renderer/selfkey-id/main/components/selfkey-id-overview';
+import SelfkeyIdApplications from '../src/renderer/selfkey-id/main/components/selfkey-id-applications';
+import SelfkeyId from '../src/renderer/selfkey-id/main/components/selfkey-id';
+storiesOf('SelfkeyId', module)
+ .add('SelfkeyId', () => test component} />)
+ .add('SelfkeyIdApplications', () => (
+
+ ))
+ .add('SelfkeyIdOverview', () => (
+
+ ));
diff --git a/stories/sidebar.stories.js b/stories/sidebar.stories.js
new file mode 100644
index 000000000..75c61e666
--- /dev/null
+++ b/stories/sidebar.stories.js
@@ -0,0 +1,68 @@
+import React from 'react';
+import { storiesOf } from '@storybook/react';
+import SidebarSwitchAccount from '../src/renderer/wallet/main/sidebar-switch-account';
+import { action } from '@storybook/addon-actions';
+import Toolbar from '../src/renderer/wallet/main/toolbar';
+
+const profiles = [
+ {
+ id: 1,
+ name: 'James Bond',
+ type: 'individual'
+ },
+ {
+ id: 2,
+ name: 'Acme Corp',
+ type: 'corporate'
+ },
+ {
+ id: 3,
+ name: 'Standard United Bank',
+ type: 'corporate'
+ }
+];
+
+storiesOf('Sidebars/Toolbar', module)
+ .add('default', () => (
+ () => action(`profile switch ${identity.id}`)}
+ onCreateCorporateProfileClick={action('onCreateCorporateProfileClick')}
+ />
+ ))
+ .add('SidebarOpen', () => (
+ () => action(`profile switch ${identity.id}`)}
+ onCreateCorporateProfileClick={action('onCreateCorporateProfileClick')}
+ />
+ ))
+ .add('ProfileOpen', () => (
+ () => action(`profile switch ${identity.id}`)}
+ onCreateCorporateProfileClick={action('onCreateCorporateProfileClick')}
+ />
+ ));
+
+storiesOf('Sidebars', module).add('CORP Sidebar Switch Account', () => (
+
+));
diff --git a/test/e2e/address-book/common-steps.js b/test/e2e/address-book/common-steps.js
index 99187d96f..083fe0d55 100644
--- a/test/e2e/address-book/common-steps.js
+++ b/test/e2e/address-book/common-steps.js
@@ -2,7 +2,7 @@ const tools = require('../../utils/tools.js');
const data = require('../../data/data.json');
const delay = require('delay');
-let publicKey;
+let address;
let privateKey;
export const givenUserHasOpenedAddressBookScreen = given => {
@@ -22,7 +22,7 @@ export const givenUserHasOpenedAddressBookScreen = given => {
.then(() => delay(2000))
.then(() => tools.app.client.getValue('#publicKey'))
.then(pubKey => {
- publicKey = pubKey;
+ address = pubKey;
return tools.regStep(tools.app, '#keystoreNext');
})
.then(() => tools.app.client.getValue('#privateKey'))
@@ -88,5 +88,5 @@ export const whenUserClicksOnAddAddressButton = when => {
};
export const getPublicKey = () => {
- return publicKey;
+ return address;
};
diff --git a/test/e2e/marketplace/bank-accounts/common-step.js b/test/e2e/marketplace/bank-accounts/common-step.js
index 4343a3415..5f57ad3bd 100644
--- a/test/e2e/marketplace/bank-accounts/common-step.js
+++ b/test/e2e/marketplace/bank-accounts/common-step.js
@@ -2,7 +2,7 @@ const tools = require('../../../utils/tools.js');
const data = require('../../../data/data.json');
const delay = require('delay');
-let publicKey;
+let address;
let privateKey;
export const givenUserHasOpenedTheMarketplaceScreen = given => {
@@ -22,7 +22,7 @@ export const givenUserHasOpenedTheMarketplaceScreen = given => {
.then(() => delay(2000))
.then(() => tools.app.client.getValue('#publicKey'))
.then(pubKey => {
- publicKey = pubKey;
+ address = pubKey;
return tools.regStep(tools.app, '#keystoreNext');
})
.then(() => tools.app.client.getValue('#privateKey'))
@@ -62,7 +62,7 @@ export const givenUserHasOpenedTheBankAccountsScreen = given => {
.then(() => delay(2000))
.then(() => tools.app.client.getValue('#publicKey'))
.then(pubKey => {
- publicKey = pubKey;
+ address = pubKey;
return tools.regStep(tools.app, '#keystoreNext');
})
.then(() => tools.app.client.getValue('#privateKey'))
@@ -97,7 +97,7 @@ export const givenUserHasOpenedTheJurisdictionDetailedScreen = given => {
.then(() => delay(2000))
.then(() => tools.app.client.getValue('#publicKey'))
.then(pubKey => {
- publicKey = pubKey;
+ address = pubKey;
return tools.regStep(tools.app, '#keystoreNext');
})
.then(() => tools.app.client.getValue('#privateKey'))
@@ -119,7 +119,7 @@ export const givenUserHasOpenedTheJurisdictionDetailedScreen = given => {
};
export const getPublicKey = () => {
- return publicKey;
+ return address;
};
export const getPrivateKey = () => {
diff --git a/yarn.lock b/yarn.lock
index 7e8c0f8de..590f97b55 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1014,6 +1014,16 @@
resolve "^1.8.1"
semver "^5.5.1"
+"@babel/plugin-transform-runtime@^7.6.2":
+ version "7.6.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz#2669f67c1fae0ae8d8bf696e4263ad52cb98b6f8"
+ integrity sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ resolve "^1.8.1"
+ semver "^5.5.1"
+
"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0"
@@ -2694,6 +2704,13 @@
dependencies:
"@types/node" "*"
+"@types/bunyan@*":
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/@types/bunyan/-/bunyan-1.8.6.tgz#6527641cca30bedec5feb9ab527b7803b8000582"
+ integrity sha512-YiozPOOsS6bIuz31ilYqR5SlLif4TBWsousN2aCWLi5233nZSX19tFbcQUPdR7xJ8ypPyxkCGNxg0CIV5n9qxQ==
+ dependencies:
+ "@types/node" "*"
+
"@types/classnames@^2.2.7":
version "2.2.7"
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.7.tgz#fb68cc9be8487e6ea5b13700e759bfbab7e0fefd"
@@ -2796,6 +2813,14 @@
"@types/prop-types" "*"
csstype "^2.2.0"
+"@types/restify@^4.3.6":
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/@types/restify/-/restify-4.3.6.tgz#5da5889b65c34c33937a67686bab591325dde806"
+ integrity sha512-4l4f0EXnleXQttlhRCXtTuJ8UelsKiAKIK2AAEd2epBHu41aEbM0U2z6E5tUrNwlbxz7qaNBISduGMeg+G3PaA==
+ dependencies:
+ "@types/bunyan" "*"
+ "@types/node" "*"
+
"@types/semver@^5.5.0":
version "5.5.0"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
@@ -2838,6 +2863,14 @@
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.13.9.tgz#a67287861c928ebf4159a908d1fb1a2a34d4097a"
integrity sha512-p8zp5xqkly3g4cCmo2mKOHI9+Z/kObmDj0BmjbDDJQlgDTiEGTbm17MEwTAusV6XceCy+bNw9q/ZHXHyKo3zkg==
+"@types/xml2js@0.4.3":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.3.tgz#2f41bfc74d5a4022511721f872ed395a210ad3b7"
+ integrity sha512-Pv2HGRE4gWLs31In7nsyXEH4uVVsd0HNV9i2dyASvtDIlOtSTr1eczPLDpdEuyv5LWH5LT20GIXwPjkshKWI1g==
+ dependencies:
+ "@types/events" "*"
+ "@types/node" "*"
+
"@types/yargs@^12.0.2", "@types/yargs@^12.0.9":
version "12.0.10"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.10.tgz#17a8ec65cd8e88f51b418ceb271af18d3137df67"
@@ -3230,16 +3263,16 @@ acorn-walk@^6.0.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==
+acorn@6.1.1, acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
+ integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
+
acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
-acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f"
- integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==
-
address@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
@@ -3328,6 +3361,16 @@ ajv@^5.2.3:
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
+ajv@^6.7.0:
+ version "6.10.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
+ integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -3364,16 +3407,16 @@ ansi-colors@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+ansi-escapes@3.2.0, ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
integrity sha1-06ioOzGapneTZisT52HHkRQiMG4=
-ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
-
ansi-escapes@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.1.0.tgz#62a9e5fa78e99c5bb588b1796855f5d729231b53"
@@ -3443,30 +3486,35 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-app-builder-bin@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.5.1.tgz#a5bcff31e4572d8a179bd88a1335bad8e5d62d81"
- integrity sha512-Hm+eyyfQCs5N5avLAw3w9Cf1S5TX/t6ecAfHusbzCDh/rLKLKYso2vwDWH4OQZ8uWLnuJwaAUDf3PstRcn0H+A==
+app-builder-bin@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.6.0.tgz#b4e5d5ee5bcf264818ab9830b95338f9f419de5d"
+ integrity sha512-7HphDMS2U9MwAA6R7lSU6MASFR/D+VJDb5hQ4Fn2coOMyaRn71QDWPdG0TPnDr88F2I7bsTuHYud28S/yN2lZw==
+
+app-builder-bin@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.6.3.tgz#428557e8fd517ef6272b3d85593ebb288c2aed90"
+ integrity sha512-JL8C41e6yGIchFsHP/q15aGNedAaUakLhkV6ER0Yxafx08sRnlDnlkAkEIKjX7edg/4i7swpGa6CBv1zX9GgCA==
-app-builder-lib@20.36.2, app-builder-lib@~20.36.0:
- version "20.36.2"
- resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.36.2.tgz#9bc2fb3191eb81afe9af2bc35e9384d3bf7b6f01"
- integrity sha512-5FxLnWI13t0LLmh2QjmPx3KW/xhj67su7UxdCzQgULsUmYurdPx8yAOb9YxoX+RpR08inqt+H3GBOJlqSSrVgg==
+app-builder-lib@20.38.3:
+ version "20.38.3"
+ resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.38.3.tgz#3998cbe07cad6eb45918eba43aa6313bf6cc15c2"
+ integrity sha512-xZTzWgH2pDUfic9KAv17julgp4/HVD451AzYdyFcwGTrDvLjoZee2Ua6/Els88GKbH3QIkpntJEn5gCwdc4O9A==
dependencies:
"7zip-bin" "~4.1.0"
- app-builder-bin "2.5.1"
+ app-builder-bin "2.6.0"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.6"
- builder-util "9.3.0"
- builder-util-runtime "8.0.2"
+ builder-util "9.6.0"
+ builder-util-runtime "8.1.0"
chromium-pickle-js "^0.2.0"
debug "^4.1.0"
ejs "^2.6.1"
electron-osx-sign "0.4.11"
- electron-publish "20.36.0"
+ electron-publish "20.38.3"
fs-extra-p "^7.0.0"
hosted-git-info "^2.7.1"
- is-ci "^1.2.1"
+ is-ci "^2.0.0"
isbinaryfile "^3.0.3"
js-yaml "^3.12.0"
lazy-val "^1.0.3"
@@ -3476,7 +3524,37 @@ app-builder-lib@20.36.2, app-builder-lib@~20.36.0:
read-config-file "3.2.0"
sanitize-filename "^1.6.1"
semver "^5.6.0"
- temp-file "^3.2.0"
+ temp-file "^3.3.2"
+
+app-builder-lib@~20.38.3:
+ version "20.38.5"
+ resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.38.5.tgz#bdfbbc35e10571c6cf1f62daae95991d27686a03"
+ integrity sha512-vVgM9d9twwlhr+8vNAJOAD9dyVBRk7reuVa1BE1OmvaHb1M+fS8KpvcDKVdBqX9KDHy7zSc57mnIcHgax4/XMA==
+ dependencies:
+ "7zip-bin" "~4.1.0"
+ app-builder-bin "2.6.3"
+ async-exit-hook "^2.0.1"
+ bluebird-lst "^1.0.6"
+ builder-util "9.6.2"
+ builder-util-runtime "8.1.1"
+ chromium-pickle-js "^0.2.0"
+ debug "^4.1.1"
+ ejs "^2.6.1"
+ electron-osx-sign "0.4.11"
+ electron-publish "20.38.5"
+ fs-extra-p "^7.0.0"
+ hosted-git-info "^2.7.1"
+ is-ci "^2.0.0"
+ isbinaryfile "^4.0.0"
+ js-yaml "^3.12.1"
+ lazy-val "^1.0.3"
+ minimatch "^3.0.4"
+ normalize-package-data "^2.4.0"
+ plist "^3.0.1"
+ read-config-file "3.2.1"
+ sanitize-filename "^1.6.1"
+ semver "^5.6.0"
+ temp-file "^3.3.2"
app-root-dir@^1.0.2:
version "1.0.2"
@@ -5549,35 +5627,53 @@ bufferview@~1:
resolved "https://registry.yarnpkg.com/bufferview/-/bufferview-1.0.1.tgz#7afd74a45f937fa422a1d338c08bbfdc76cd725d"
integrity sha1-ev10pF+Tf6QiodM4wIu/3HbNcl0=
-builder-util-runtime@8.0.2, builder-util-runtime@~8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.0.2.tgz#9d638a266ca3aa25ced1cff4df74c8fd97dd78cf"
- integrity sha512-46AjyMQ1/yBvGnXWmqNGlg8te7jCPCs7TJ0zDC2+4vV/t5iZp2dR1H9UfVpcBxlvBq3dlAOmwb9fz1d9xZN1+Q==
+builder-util-runtime@8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.1.0.tgz#dd7fca995d48ceee7580b4851ca057566c94601e"
+ integrity sha512-s1mlJ28mv+56Iebh6c9aXjVe11O3Z0cDTwAGeB0PCcUzHA37fDxGgS8ZGoYNMZP+rBHj21d/od1wuYofTVLaQg==
dependencies:
bluebird-lst "^1.0.6"
debug "^4.1.0"
fs-extra-p "^7.0.0"
sax "^1.2.4"
-builder-util-runtime@^8.0.1:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.2.0.tgz#e64c311b4f3643c8ccd8b8e5ba5bfb10801a6826"
- integrity sha512-2Q3YrxANTrDs2NjSG5mbNGLPuUhPnSNYF9w5i4jWfHcNfQ3TgRrGXq4UfnkCiZVX8Axp4eAOSscaLLScKp/XLg==
+builder-util-runtime@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.1.1.tgz#f2f6fc43e33d26892bd491667fc746ad69bccc50"
+ integrity sha512-+ieS4PMB33vVE2S3ZNWBEQJ1zKmAs/agrBdh7XadE1lKLjrH4aXYuOh9OOGdxqIRldhlhNBaF+yKMMEFOdNVig==
dependencies:
- bluebird-lst "^1.0.7"
+ bluebird-lst "^1.0.6"
debug "^4.1.1"
- fs-extra-p "^7.0.1"
+ fs-extra-p "^7.0.0"
sax "^1.2.4"
-builder-util@9.3.0, builder-util@~9.3.0:
- version "9.3.0"
- resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-9.3.0.tgz#1c94c3bd1c9095840d46a59cdf9514852a47ce8a"
- integrity sha512-K+kj5vWj4Mk3jOm6kVT9ZwNcECLHe449vdMxYuZpCnn7CSxRm+TeZm9P9ZFCQUID5Hww/Sy4NMFo+VVJh6+Ptw==
+builder-util-runtime@^8.0.2, builder-util-runtime@^8.1.0, builder-util-runtime@^8.1.1:
+ version "8.3.0"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz#f5fac9139af6facf42a21fbe4d3aebed88fda33e"
+ integrity sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==
+ dependencies:
+ debug "^4.1.1"
+ sax "^1.2.4"
+
+builder-util-runtime@~8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.0.2.tgz#9d638a266ca3aa25ced1cff4df74c8fd97dd78cf"
+ integrity sha512-46AjyMQ1/yBvGnXWmqNGlg8te7jCPCs7TJ0zDC2+4vV/t5iZp2dR1H9UfVpcBxlvBq3dlAOmwb9fz1d9xZN1+Q==
+ dependencies:
+ bluebird-lst "^1.0.6"
+ debug "^4.1.0"
+ fs-extra-p "^7.0.0"
+ sax "^1.2.4"
+
+builder-util@9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-9.6.0.tgz#ffcc0f713d0f4dfa6bcda2aee83b8fcb1f16f5b6"
+ integrity sha512-6T4E3aNVndTZ2oCt+22S0wxt47d094MxrADi6S012QumXlDNfSsyu1ffbGN9w0HG+4aubpLzf9apKgMP1yl4Kw==
dependencies:
"7zip-bin" "~4.1.0"
- app-builder-bin "2.5.1"
+ app-builder-bin "2.6.0"
bluebird-lst "^1.0.6"
- builder-util-runtime "^8.0.1"
+ builder-util-runtime "^8.0.2"
chalk "^2.4.1"
debug "^4.1.0"
fs-extra-p "^7.0.0"
@@ -5585,7 +5681,25 @@ builder-util@9.3.0, builder-util@~9.3.0:
js-yaml "^3.12.0"
source-map-support "^0.5.9"
stat-mode "^0.2.2"
- temp-file "^3.2.0"
+ temp-file "^3.3.2"
+
+builder-util@9.6.2, builder-util@~9.6.0, builder-util@~9.6.2:
+ version "9.6.2"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-9.6.2.tgz#3366aefea1b5ce292840be727a094e96fa25802f"
+ integrity sha512-cWl/0/Q851lesMmXp1IjreeAX1QAWA9e+iU2IT61oh+CvMYJnDwao2m9ZCHammdw2zllrwWu4fOC3gvsb/yOCw==
+ dependencies:
+ "7zip-bin" "~4.1.0"
+ app-builder-bin "2.6.3"
+ bluebird-lst "^1.0.6"
+ builder-util-runtime "^8.1.1"
+ chalk "^2.4.2"
+ debug "^4.1.1"
+ fs-extra-p "^7.0.0"
+ is-ci "^2.0.0"
+ js-yaml "^3.12.1"
+ source-map-support "^0.5.10"
+ stat-mode "^0.2.2"
+ temp-file "^3.3.2"
builtin-modules@^1.1.1:
version "1.1.1"
@@ -7717,14 +7831,14 @@ discontinuous-range@1.0.0:
resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
integrity sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=
-dmg-builder@6.4.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-6.4.0.tgz#a95a9cb951d8535acc14bde7b1cd3412ccf43c34"
- integrity sha512-q84fMrMm9mXh2qH0Sb3+o0gCvfeJRBI+46y+CpQystqgRyB+3bZB11WqCf5d8+qsENhzpi786jR82xbHG1Vvag==
+dmg-builder@6.5.3:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-6.5.3.tgz#95afe3deab33fd874f68d299bc71b481e94f5312"
+ integrity sha512-ZNl4GFBg6rdFplnuoK56iftxh/qgM7rXJUxgl21eK4WsjxgQwtQ0REZo+pDSL4OzVeyOO8MMNWSNQcCsBLiDyA==
dependencies:
- app-builder-lib "~20.36.0"
+ app-builder-lib "~20.38.3"
bluebird-lst "^1.0.6"
- builder-util "~9.3.0"
+ builder-util "~9.6.0"
fs-extra-p "^7.0.0"
iconv-lite "^0.4.24"
js-yaml "^3.12.0"
@@ -7899,6 +8013,17 @@ dotenv@^6.0.0, dotenv@^6.1.0, dotenv@^6.2.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064"
integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==
+dotnet-deps-parser@4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/dotnet-deps-parser/-/dotnet-deps-parser-4.5.0.tgz#53ef53a058dec156fcdf9008b880ecc9675ddde0"
+ integrity sha512-t6rBxcWVZSDNhhWdsbq9ozaCzfPXV79FiyES1JLNEoA7nYF+zDC2VZvFZSnH8ilU3bghJXxZPH+EcKYvfw8g/g==
+ dependencies:
+ "@types/xml2js" "0.4.3"
+ lodash "^4.17.11"
+ source-map-support "^0.5.7"
+ tslib "^1.9.3"
+ xml2js "0.4.19"
+
drbg.js@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b"
@@ -8016,24 +8141,24 @@ ejs@~2.5.6:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5"
integrity sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==
-electron-builder@20.36.2:
- version "20.36.2"
- resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.36.2.tgz#9fefef8c5f08ced5c2085d8331c2ad3c545daef8"
- integrity sha512-xPJNt3ZBn5IYlp3pCP0Rvi00JYAKdTeOSLWFrkST1xqWfRZxXrI4uisVD9HQjzRN8hBHhTgTfXtb9uhWPha9eA==
+electron-builder@20.38.3:
+ version "20.38.3"
+ resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.38.3.tgz#32eaa08575b5036e4dafc78adef25ff5a7370004"
+ integrity sha512-KVM90FtSmryi6JT+YEOTJPsB34ZPdrJn2X18Rt8uatSQPj4vVCSwT834cyvF79idRea8yRVoMcm69XtH9VNPjg==
dependencies:
- app-builder-lib "20.36.2"
+ app-builder-lib "20.38.3"
bluebird-lst "^1.0.6"
- builder-util "9.3.0"
- builder-util-runtime "8.0.2"
+ builder-util "9.6.0"
+ builder-util-runtime "8.1.0"
chalk "^2.4.1"
- dmg-builder "6.4.0"
+ dmg-builder "6.5.3"
fs-extra-p "^7.0.0"
- is-ci "^1.2.1"
+ is-ci "^2.0.0"
lazy-val "^1.0.3"
read-config-file "3.2.0"
sanitize-filename "^1.6.1"
update-notifier "^2.5.0"
- yargs "^12.0.2"
+ yargs "^12.0.5"
electron-chromedriver@6.0.0-beta.3:
version "6.0.0-beta.3"
@@ -8122,9 +8247,9 @@ electron-osx-sign@0.4.11:
minimist "^1.2.0"
plist "^3.0.1"
-"electron-pdf-window@https://github.com/SelfKeyFoundation/electron-pdf-window.git#15ef0b0":
+"electron-pdf-window@https://github.com/SelfKeyFoundation/electron-pdf-window.git#289c1aeb35e9e1da30ab8eabe52428dc87cc1220":
version "1.0.13"
- resolved "https://github.com/SelfKeyFoundation/electron-pdf-window.git#15ef0b0e718cd98d69df53c3bdacab9c7f5cc847"
+ resolved "https://github.com/SelfKeyFoundation/electron-pdf-window.git#289c1aeb35e9e1da30ab8eabe52428dc87cc1220"
dependencies:
deep-extend "^0.6.0"
file-type "^10.9.0"
@@ -8132,18 +8257,31 @@ electron-osx-sign@0.4.11:
is-electron-renderer "^2.0.1"
read-chunk "^3.1.0"
-electron-publish@20.36.0:
- version "20.36.0"
- resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.36.0.tgz#419fe994938af2b158ac4677f72839ad229e05e8"
- integrity sha512-LjJ4KoApSLtKyGWotv0B+PoTzpLEdHHXzDF9HLxatPlfoZCmrOexqm7Qiv1ODuYWPac7Zpf2OHitJp8WIOcZRQ==
+electron-publish@20.38.3:
+ version "20.38.3"
+ resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.38.3.tgz#7c162904f728ba2bbf2640bc3620b65ce1061ce3"
+ integrity sha512-Qomq253NT5DfjUZgFSx6p+gheU5YhM6zZ67fTtBZvwyk0v8HwxNXfa8fZT7h+1c3BwEmjusTbmjZRNW/XZBXFA==
dependencies:
bluebird-lst "^1.0.6"
- builder-util "~9.3.0"
- builder-util-runtime "^8.0.1"
+ builder-util "~9.6.0"
+ builder-util-runtime "^8.1.0"
chalk "^2.4.1"
fs-extra-p "^7.0.0"
lazy-val "^1.0.3"
- mime "^2.3.1"
+ mime "^2.4.0"
+
+electron-publish@20.38.5:
+ version "20.38.5"
+ resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.38.5.tgz#c6ed7ea12bc80796b1f36489995f4651f730b1df"
+ integrity sha512-EhdPm6t0nKDfa0r3KjV1kSFcz03VrzgJRv7v5nHkkpQZB6OSmDNlHq7k66NBwQhPK3i4CK+uvehljZAP28vbCA==
+ dependencies:
+ bluebird-lst "^1.0.6"
+ builder-util "~9.6.2"
+ builder-util-runtime "^8.1.1"
+ chalk "^2.4.2"
+ fs-extra-p "^7.0.0"
+ lazy-val "^1.0.3"
+ mime "^2.4.0"
electron-redux@1.3.1:
version "1.3.1"
@@ -10044,6 +10182,15 @@ fs-extra@^4.0.1:
jsonfile "^4.0.0"
universalify "^0.1.0"
+fs-extra@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
@@ -10582,7 +10729,7 @@ got@^9.6.0:
to-readable-stream "^1.0.0"
url-parse-lax "^3.0.0"
-graceful-fs@^4.0.0:
+graceful-fs@^4.0.0, graceful-fs@^4.2.0:
version "4.2.2"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02"
integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==
@@ -12077,6 +12224,11 @@ isbinaryfile@^3.0.2, isbinaryfile@^3.0.3:
dependencies:
buffer-alloc "^1.2.0"
+isbinaryfile@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.2.tgz#bfc45642da645681c610cca831022e30af426488"
+ integrity sha512-C3FSxJdNrEr2F4z6uFtNzECDM5hXk+46fxaa+cwBe5/XrWSmzdG8DDgyjfX6/NRdBB21q2JXuRAzPCUs+fclnQ==
+
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -14023,17 +14175,17 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@4.17.11, "lodash@4.6.1 || ^4.16.1", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.16.4, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0, lodash@^4.8.0, lodash@~4.17.10:
+lodash@4.17.11:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
-lodash@4.17.12:
- version "4.17.12"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.12.tgz#a712c74fdc31f7ecb20fe44f157d802d208097ef"
- integrity sha512-+CiwtLnsJhX03p20mwXuvhoebatoh5B3tt+VvYlrPgZC1g36y+RRbkufX95Xa+X4I59aWEacDFYwnJZiyBh9gA==
+lodash@4.17.13:
+ version "4.17.13"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93"
+ integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA==
-lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.7.14:
+"lodash@4.6.1 || ^4.16.1", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.16.4, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0, lodash@^4.7.14, lodash@^4.8.0, lodash@~4.17.10:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -17512,6 +17664,11 @@ react-onclickoutside@^6.5.0:
resolved "https://registry.yarnpkg.com/react-onclickoutside/-/react-onclickoutside-6.8.0.tgz#9f91b5b3ed59f4d9e43fd71620dc200773a4d569"
integrity sha512-5Q4Rn7QLEoh7WIe66KFvYIpWJ49GeHoygP1/EtJyZjXKgrWH19Tf0Ty3lWyQzrEEDyLOwUvvmBFSE3dcDdvagA==
+react-orgchart@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/react-orgchart/-/react-orgchart-1.0.5.tgz#49da6714ed12926315c79744cd7f8bed18f1e915"
+ integrity sha1-SdpnFO0SkmMVx5dEzX+L7Rjx6RU=
+
react-piwik@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/react-piwik/-/react-piwik-1.6.0.tgz#3b9eee55167d953824867791cd5288593d652d66"
@@ -17690,6 +17847,21 @@ read-config-file@3.2.0:
json5 "^2.1.0"
lazy-val "^1.0.3"
+read-config-file@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.2.1.tgz#112dc8636121fa71fd524e1a8a5b4470ef7a2732"
+ integrity sha512-yW4hZZXdNN+Paij5JVAiTv1lUsAN5QRBU5NqotQqwYdVkUczSmDzm66VLu0eojiZt2zFeYptTFDAYlalDGuHdA==
+ dependencies:
+ ajv "^6.7.0"
+ ajv-keywords "^3.2.0"
+ bluebird-lst "^1.0.6"
+ dotenv "^6.2.0"
+ dotenv-expand "^4.2.0"
+ fs-extra-p "^7.0.0"
+ js-yaml "^3.12.1"
+ json5 "^2.1.0"
+ lazy-val "^1.0.3"
+
read-config-file@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.2.2.tgz#57bbff7dd97caf237d0d625bd541c6d0efb4d067"
@@ -18852,9 +19024,9 @@ select@^1.1.2:
react-truncate "2.4.0"
reset-jss "1.0.0"
-"selfkey-ui@https://github.com/SelfKeyFoundation/selfkey-ui.git#c5cfa0773a30dbdae0f676d4c52e90b50009d840":
+"selfkey-ui@https://github.com/SelfKeyFoundation/selfkey-ui.git#fee59787132eafe315352b9d21e95cc7b448a422":
version "1.0.0"
- resolved "https://github.com/SelfKeyFoundation/selfkey-ui.git#c5cfa0773a30dbdae0f676d4c52e90b50009d840"
+ resolved "https://github.com/SelfKeyFoundation/selfkey-ui.git#fee59787132eafe315352b9d21e95cc7b448a422"
dependencies:
"@material-ui/core" "3.9.2"
"@material-ui/icons" "3.0.2"
@@ -18881,6 +19053,7 @@ select@^1.1.2:
react-jss "8.6.1"
react-truncate "2.4.0"
reset-jss "1.0.0"
+ snyk "^1.193.2"
selfkey.js@1.0.24:
version "1.0.24"
@@ -19411,6 +19584,19 @@ snyk-nuget-plugin@1.11.3:
tslib "^1.9.3"
xml2js "^0.4.17"
+snyk-nuget-plugin@1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/snyk-nuget-plugin/-/snyk-nuget-plugin-1.12.0.tgz#de851a7cba80a5676257ca03c1c84020ae9aca8c"
+ integrity sha512-p11pQQAFr9GBRxxqD3oPasRpYkv6N/eDDQwdjhFBOsgPF+hZf8pIr8ZfrnnCT7XaQ0XeF7Fmj9K0blqEjUV2/g==
+ dependencies:
+ debug "^3.1.0"
+ dotnet-deps-parser "4.5.0"
+ jszip "^3.1.5"
+ lodash "^4.17.14"
+ snyk-paket-parser "1.5.0"
+ tslib "^1.9.3"
+ xml2js "^0.4.17"
+
snyk-paket-parser@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/snyk-paket-parser/-/snyk-paket-parser-1.5.0.tgz#a0e96888d9d304b1ae6203a0369971575f099548"
@@ -19555,6 +19741,54 @@ snyk@1.216.0:
update-notifier "^2.5.0"
uuid "^3.3.2"
+snyk@^1.193.2:
+ version "1.217.3"
+ resolved "https://registry.yarnpkg.com/snyk/-/snyk-1.217.3.tgz#9a363986e3c5c9fb8769e744159c9e416a794595"
+ integrity sha512-VVTIEuKqw6O5Cj/ypps3TC/MShc2cM5P6ilMhf5xg6IETMvAFt04svNiE84oMWRedPPTVKhDBhTAOaAWx2qCAA==
+ dependencies:
+ "@snyk/dep-graph" "1.12.0"
+ "@snyk/gemfile" "1.2.0"
+ "@types/agent-base" "^4.2.0"
+ "@types/restify" "^4.3.6"
+ abbrev "^1.1.1"
+ ansi-escapes "3.2.0"
+ chalk "^2.4.2"
+ configstore "^3.1.2"
+ debug "^3.1.0"
+ diff "^4.0.1"
+ git-url-parse "11.1.2"
+ glob "^7.1.3"
+ inquirer "^6.2.2"
+ lodash "^4.17.14"
+ needle "^2.2.4"
+ opn "^5.5.0"
+ os-name "^3.0.0"
+ proxy-agent "^3.1.0"
+ proxy-from-env "^1.0.0"
+ semver "^6.0.0"
+ snyk-config "^2.2.1"
+ snyk-docker-plugin "1.29.1"
+ snyk-go-plugin "1.11.0"
+ snyk-gradle-plugin "^3.0.2"
+ snyk-module "1.9.1"
+ snyk-mvn-plugin "2.4.0"
+ snyk-nodejs-lockfile-parser "1.16.0"
+ snyk-nuget-plugin "1.12.0"
+ snyk-php-plugin "1.6.4"
+ snyk-policy "1.13.5"
+ snyk-python-plugin "^1.13.0"
+ snyk-resolve "1.0.1"
+ snyk-resolve-deps "4.3.0"
+ snyk-sbt-plugin "2.6.1"
+ snyk-tree "^1.0.0"
+ snyk-try-require "1.3.1"
+ source-map-support "^0.5.11"
+ strip-ansi "^5.2.0"
+ tempfile "^2.0.0"
+ then-fs "^2.0.0"
+ update-notifier "^2.5.0"
+ uuid "^3.3.2"
+
socket.io-client@2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7"
@@ -19672,6 +19906,14 @@ source-map-support@^0.4.15:
dependencies:
source-map "^0.5.6"
+source-map-support@^0.5.10:
+ version "0.5.13"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
+ integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-support@^0.5.6, source-map-support@^0.5.7, source-map-support@^0.5.9, source-map-support@~0.5.10:
version "0.5.11"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.11.tgz#efac2ce0800355d026326a0ca23e162aeac9a4e2"
@@ -20450,14 +20692,13 @@ temp-dir@^1.0.0:
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
-temp-file@^3.2.0:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.2.tgz#69b6daf1bbe23231d0a5d03844e3d96f3f531aaa"
- integrity sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==
+temp-file@^3.3.2:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.4.tgz#73af868cd7cb7400a44e4bb03e653b2280ce2878"
+ integrity sha512-qSZ5W5q54iyGnP8cNl49RE0jTJc5CrzNocux5APD5yIxcgonoMuMSbsZfaZy8rTGCYo0Xz6ySVv3adagZ8gffg==
dependencies:
async-exit-hook "^2.0.1"
- bluebird-lst "^1.0.6"
- fs-extra-p "^7.0.0"
+ fs-extra "^8.1.0"
tempfile@^2.0.0:
version "2.0.0"
@@ -22362,7 +22603,7 @@ xml-name-validator@^3.0.0:
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
-xml2js@^0.4.17:
+xml2js@0.4.19, xml2js@^0.4.17:
version "0.4.19"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==