diff --git a/config/contractDocs.config.js b/config/contractDocs.config.js index ccbe3437d..3cd6f2ee5 100644 --- a/config/contractDocs.config.js +++ b/config/contractDocs.config.js @@ -168,7 +168,7 @@ const config = { SecurityToken: { description: stripIndent` The security token smart contract. It defines the behavior of the - Security Tokens created through Polymath. + Security Tokens configured through Polymath. Only the token's owner and the attached STO module (if there is one) can mint tokens. @@ -180,9 +180,9 @@ const config = { Keeps track of all the Security Tokens that exist in the network. Keeps record of the tickers reserved by users. - Through this contract Security Tokens can be created and Tickers can be registered. + Through this contract Security Tokens can be configured and Tickers can be registered. It requires an allowance (of at least the registration fee) to be set to be able - to create a Security Token + to configure a Security Token `, methods: SecurityTokenRegistryMethods, }, diff --git a/packages/new-polymath-sdk/src/browserUtils.ts b/packages/new-polymath-sdk/src/browserUtils.ts index f0430987d..d6a92059b 100644 --- a/packages/new-polymath-sdk/src/browserUtils.ts +++ b/packages/new-polymath-sdk/src/browserUtils.ts @@ -14,6 +14,7 @@ interface Ethereum extends HttpProvider { networkVersion: string; _metamask?: { isApproved: () => Promise; + isUnlocked: () => Promise; }; enable(): Promise; } @@ -117,14 +118,10 @@ export async function getCurrentAddress() { const support = getBrowserSupport(); if (isModern(win)) { - // Special check for Metamask to know if it is locked or not if (win.ethereum._metamask) { - const isApproved = await win.ethereum._metamask.isApproved(); - if (isApproved) { - accounts = await web3.eth.getAccounts(); - if (!accounts.length) { - throw new PolymathError({ code: ErrorCodes.WalletIsLocked }); - } + const isUnlocked = await win.ethereum._metamask.isUnlocked(); + if (!isUnlocked) { + throw new PolymathError({ code: ErrorCodes.WalletIsLocked }); } } await enableWallet(); diff --git a/packages/polymath-issuer/public/providers/advisory/bg/img-logos.png b/packages/polymath-issuer/public/providers/advisory/bg/img-logos.png new file mode 100644 index 000000000..18d5bb5bd Binary files /dev/null and b/packages/polymath-issuer/public/providers/advisory/bg/img-logos.png differ diff --git a/packages/polymath-issuer/public/providers/advisory/logos.png b/packages/polymath-issuer/public/providers/advisory/logos.png new file mode 100644 index 000000000..feff5daab Binary files /dev/null and b/packages/polymath-issuer/public/providers/advisory/logos.png differ diff --git a/packages/polymath-issuer/src/actions/account.js b/packages/polymath-issuer/src/actions/account.js new file mode 100644 index 000000000..2bc2b578d --- /dev/null +++ b/packages/polymath-issuer/src/actions/account.js @@ -0,0 +1,17 @@ +import { SecurityTokenRegistry } from '@polymathnetwork/js'; + +export const TICKER_LIST = 'account/TICKER_LIST'; +export const getTickerList = tickers => ({ + type: TICKER_LIST, + tickers, +}); + +export const fetchTickerList = () => async ( + dispatch: Function, + getState: GetState +) => { + const str = await SecurityTokenRegistry.create(); + const walletAddress = getState().session.wallet.address; + const newTokens = await str.getTickersByOwner(walletAddress); + dispatch(getTickerList(newTokens)); +}; diff --git a/packages/polymath-issuer/src/actions/sto.js b/packages/polymath-issuer/src/actions/sto.js index cfe75f9bb..61bd37196 100644 --- a/packages/polymath-issuer/src/actions/sto.js +++ b/packages/polymath-issuer/src/actions/sto.js @@ -121,7 +121,7 @@ export const fetch = () => async (dispatch: Function, getState: GetState) => { try { const { token } = getState().token; - // No token created yet + // No token configured yet if (!token || !token.contract) { dispatch(ui.fetched()); return; diff --git a/packages/polymath-issuer/src/actions/token.js b/packages/polymath-issuer/src/actions/token.js index 9948315ee..e906739c4 100644 --- a/packages/polymath-issuer/src/actions/token.js +++ b/packages/polymath-issuer/src/actions/token.js @@ -209,7 +209,7 @@ export const issue = (values: Object) => async ( ui.confirm(

- Completion of your token creation will require{' '} + Completion of your token configuration will require{' '} {limitInvestors ? 'three' : !isApproved ? 'two' : 'one'} wallet transaction(s).

@@ -217,7 +217,7 @@ export const issue = (values: Object) => async (

• The first transaction will be used to prepare for the payment of - the token creation cost of: + the token configuration cost of:

{feeView} POLY
@@ -226,8 +226,8 @@ export const issue = (values: Object) => async ( )}

• {!isApproved ? 'The second' : 'This'} transaction will be used to - pay for the token creation cost (POLY + mining fee) to complete the - creation of your token. + pay for the token configuration cost (POLY + mining fee) to complete + the configuration of your token.

{limitInvestors && (

@@ -239,11 +239,11 @@ export const issue = (values: Object) => async ( )}

Please hit «CONFIRM» when you are ready to proceed. Once - you hit «CONFIRM», your security token will be created on - the blockchain. + you hit «CONFIRM», your security token will be configured + on the blockchain.
- If you do not wish to pay the token creation fee or wish to review - your information, simply select «CANCEL». + If you do not wish to pay the token configuration fee or wish to + review your information, simply select «CANCEL».

, async () => { @@ -251,7 +251,7 @@ export const issue = (values: Object) => async ( if (getState().pui.account.balance.lt(fee)) { dispatch( ui.faucet( - `The creation of a security token has a fixed cost of ${feeView} POLY.` + `The configuration of a security token has a fixed cost of ${feeView} POLY.` ) ); return; @@ -263,7 +263,7 @@ export const issue = (values: Object) => async ( // ); //Skip approve transaction if transfer is already allowed - let title = ['Creating Security Token']; + let title = ['Configuring Security Token']; if (!isApproved) { title.unshift('Approving POLY Spend'); @@ -303,11 +303,11 @@ export const issue = (values: Object) => async ( `/dashboard/${ticker}`, undefined, false, - ticker.toUpperCase() + ' Token Creation' + ticker.toUpperCase() + ' Token Configuration' ) ); }, - `Before you Proceed with Your ${ticker.toUpperCase()} Token Creation`, + `Before you Proceed with Your ${ticker.toUpperCase()} Token Configuration`, undefined, 'pui-large-confirm-modal' ) diff --git a/packages/polymath-issuer/src/components/MigrateTokenPage.js b/packages/polymath-issuer/src/components/MigrateTokenPage.js index aeafc83fc..4da14341e 100644 --- a/packages/polymath-issuer/src/components/MigrateTokenPage.js +++ b/packages/polymath-issuer/src/components/MigrateTokenPage.js @@ -231,8 +231,8 @@ class MigrateTokenPage extends Component<{| handleClick: Function |}> {

The cost of this migration is the gas fee required to complete the simple 2-step process to migrate your tokens from v1.3.0 to - v2.0.0. The cost of creating the security token will be borne by - Polymath. + v2.0.0. The cost of configuring the security token will be borne + by Polymath.

diff --git a/packages/polymath-issuer/src/pages/account/components/ConfigCard.js b/packages/polymath-issuer/src/pages/account/components/ConfigCard.js new file mode 100644 index 000000000..e82646b4c --- /dev/null +++ b/packages/polymath-issuer/src/pages/account/components/ConfigCard.js @@ -0,0 +1,23 @@ +import React, { Component } from 'react'; +import { PageCentered, Button, Toaster, notify } from '@polymathnetwork/ui'; +import { Link } from 'react-router-dom'; + +export default class TickerCard extends Component { + render() { + const { ticker } = this.props; + return ( +
+
+

Configure New Security Token

+
+
+ + + +
+
+ ); + } +} diff --git a/packages/polymath-issuer/src/pages/account/components/TickerCard.js b/packages/polymath-issuer/src/pages/account/components/TickerCard.js new file mode 100644 index 000000000..223fe1ed1 --- /dev/null +++ b/packages/polymath-issuer/src/pages/account/components/TickerCard.js @@ -0,0 +1,36 @@ +import React, { Component } from 'react'; +import { PageCentered, Button, Toaster, notify } from '@polymathnetwork/ui'; +import { Link } from 'react-router-dom'; + +export default class TickerCard extends Component { + render() { + const { ticker } = this.props; + return ( +
+
+
+
+ + +
+
+
+ + + +
+
+ ); + } +} diff --git a/packages/polymath-issuer/src/pages/account/index.js b/packages/polymath-issuer/src/pages/account/index.js new file mode 100644 index 000000000..6ecd35045 --- /dev/null +++ b/packages/polymath-issuer/src/pages/account/index.js @@ -0,0 +1,62 @@ +import React, { Component } from 'react'; +import { Link } from 'react-router-dom'; +import { + PageCentered, + Button, + Toaster, + notify, + Grid, +} from '@polymathnetwork/ui'; +import { connect } from 'react-redux'; +import { fetchTickerList } from '../../actions/account'; +import TickerCard from './components/TickerCard'; +import ConfigCard from './components/ConfigCard'; + +class HomePage extends Component { + async componentDidMount() { + await this.props.fetchTickerList(); + if (this.props.tickers.length === 0) { + this.props.history.push('/ticker'); + } + } + + render() { + const { tickers } = this.props; + return ( + + + + +

Manage your security tokens

+
+
+ + + + + {tickers.map(ticker => { + return ( + + + + ); + })} + +
+
+ ); + } +} + +const mapStateToProps = state => ({ + tickers: state.account.tickers, +}); + +const mapDispatchToProps = { + fetchTickerList, +}; + +export default connect( + mapStateToProps, + mapDispatchToProps +)(HomePage); diff --git a/packages/polymath-issuer/src/pages/home/index.js b/packages/polymath-issuer/src/pages/home/index.js index 804ea739c..e8489855a 100644 --- a/packages/polymath-issuer/src/pages/home/index.js +++ b/packages/polymath-issuer/src/pages/home/index.js @@ -24,9 +24,9 @@ class HomePage extends Component {

- +

diff --git a/packages/polymath-issuer/src/pages/providers/ProvidersPage.js b/packages/polymath-issuer/src/pages/providers/ProvidersPage.js index 16bb9e4d4..663036942 100644 --- a/packages/polymath-issuer/src/pages/providers/ProvidersPage.js +++ b/packages/polymath-issuer/src/pages/providers/ProvidersPage.js @@ -183,14 +183,14 @@ class ProvidersPage extends Component {

Please make sure you have received sufficient information from one of the Advisors or the Legal firms listed below or your own advisor before - you proceed with the token creation. + you proceed with the token configuration.

, () => { // $FlowFixMe this.props.history.push('/dashboard/' + this.props.token.ticker); }, 'Before You Proceed', - 'Create Token' + 'Configure Token' ); }; @@ -271,9 +271,9 @@ class ProvidersPage extends Component {
{!token.address && token.expires ? ( ) : ( diff --git a/packages/polymath-issuer/src/pages/providers/data.js b/packages/polymath-issuer/src/pages/providers/data.js index adea17a20..91d467212 100644 --- a/packages/polymath-issuer/src/pages/providers/data.js +++ b/packages/polymath-issuer/src/pages/providers/data.js @@ -31,7 +31,7 @@ export const statuses = ['Selected as Provider', 'Provider Declined', 'Other']; export const categories: Array = [ { id: 0, - title: 'Advisory', + title: 'Advisory / Broker-Dealers', desc: 'Advisory firms may help you plan and execute your STO. Your Polymath dashboard is integrated with the ' + 'following Advisory firms. Alternatively, you can elect to use your own Advisory services.', @@ -250,6 +250,18 @@ const providers: Array = [ Global Payments Processing, KYC/AML Forensics, KYC/AML Engine, Custody Services, OTC Services, Insurance Services, Legal Services, \ Tax Services, Liquidity Trading Technology Services, Prime Brokerage Services', }, + { + id: 55, + cat: 0, + title: 'Logos Capital', + logo: '/providers/advisory/logos.png', + background: '/providers/advisory/bg/img-logos.png', + desc: + 'Logos Capital catalyzes and accelerates impactful enterprises via global business development, \ + mergers & acquisitions, investment and a joint venture in public and private sectors. Primarily focused on impact \ + investing in the U.S., Latin America, Africa, and the Caribbean, Logos Capital is based in Miami, FL and comprised of \ + personnel from around the world.', + }, // LEGAL { diff --git a/packages/polymath-issuer/src/pages/ticker/TickerPage.js b/packages/polymath-issuer/src/pages/ticker/TickerPage.js index 4c659f38c..877f6b0ea 100644 --- a/packages/polymath-issuer/src/pages/ticker/TickerPage.js +++ b/packages/polymath-issuer/src/pages/ticker/TickerPage.js @@ -79,7 +79,7 @@ class TickerPage extends Component { Your token symbol will be reserved for {this.props.expiryLimit}{' '} - days, and is permanently yours once you create your Token. This + days, and is permanently yours once you configure your Token. This reservation ensures that no other organization can create a token symbol identical to yours using the Polymath platform. This operation carries a cost of: {this.state.tickerRegistrationFee}{' '} diff --git a/packages/polymath-issuer/src/pages/token/TokenPage.js b/packages/polymath-issuer/src/pages/token/TokenPage.js index 7db7543bf..f31c1d227 100644 --- a/packages/polymath-issuer/src/pages/token/TokenPage.js +++ b/packages/polymath-issuer/src/pages/token/TokenPage.js @@ -165,14 +165,14 @@ class TokenPage extends Component {
-

Create Your Security Token

+

Configure Your Security Token

- Create your security token before your token reservation + Configure your security token before your token reservation expires. If you let your token reservation expire, the token symbol you selected will be available for others to claim. - To proceed with the creation of your security token, we + To proceed with the configuration of your security token, we recommend you work with your Advisory to answer the following questions: diff --git a/packages/polymath-issuer/src/pages/token/components/CompleteTokenForm.js b/packages/polymath-issuer/src/pages/token/components/CompleteTokenForm.js index 8f0ff96c3..2300f88a3 100644 --- a/packages/polymath-issuer/src/pages/token/components/CompleteTokenForm.js +++ b/packages/polymath-issuer/src/pages/token/components/CompleteTokenForm.js @@ -154,7 +154,7 @@ export const CompleteTokenFormComponent = ({ handleSubmit, values }) => ( ) : null} - + ); diff --git a/packages/polymath-issuer/src/pages/token/components/Progress.js b/packages/polymath-issuer/src/pages/token/components/Progress.js index d47e4016d..ff796f831 100644 --- a/packages/polymath-issuer/src/pages/token/components/Progress.js +++ b/packages/polymath-issuer/src/pages/token/components/Progress.js @@ -43,7 +43,7 @@ class Progress extends Component { - + diff --git a/packages/polymath-issuer/src/pages/token/style.scss b/packages/polymath-issuer/src/pages/token/style.scss index b279896e9..44957cc7b 100644 --- a/packages/polymath-issuer/src/pages/token/style.scss +++ b/packages/polymath-issuer/src/pages/token/style.scss @@ -13,6 +13,10 @@ margin-top: 13px; } +.export-tokens-list-btn { + width: 100%; +} + .max-holders-count { .bx--form-item { float: left; diff --git a/packages/polymath-issuer/src/reducers/account.js b/packages/polymath-issuer/src/reducers/account.js new file mode 100644 index 000000000..a13dcd0b3 --- /dev/null +++ b/packages/polymath-issuer/src/reducers/account.js @@ -0,0 +1,16 @@ +import * as a from '../actions/account'; + +const defaultState = { + tickers: [], +}; + +export default (state = defaultState, action) => { + switch (action.type) { + case a.TICKER_LIST: + return { + tickers: [...action.tickers], + }; + default: + return state; + } +}; diff --git a/packages/polymath-issuer/src/redux/reducer.js b/packages/polymath-issuer/src/redux/reducer.js index 6d3794ab1..ed9b384b1 100644 --- a/packages/polymath-issuer/src/redux/reducer.js +++ b/packages/polymath-issuer/src/redux/reducer.js @@ -21,6 +21,7 @@ import whitelist from '../reducers/compliance'; import stoModules from '../reducers/stoModules'; import ui from '../reducers/ui'; import restrictions from '../reducers/restrictions'; +import account from '../reducers/account'; import type { ProvidersState } from '../reducers/providers'; import type { TokenState } from '../reducers/token'; @@ -47,6 +48,7 @@ export default history => app, session, restrictions, + account, router: connectRouter(history), }); diff --git a/packages/polymath-issuer/src/routes.js b/packages/polymath-issuer/src/routes.js index 049ef0874..f4caa19b2 100644 --- a/packages/polymath-issuer/src/routes.js +++ b/packages/polymath-issuer/src/routes.js @@ -19,11 +19,17 @@ import STOPage from './pages/sto/STOPage'; import DividendsPage from './pages/dividends/DividendsPage'; import DividendsWizardPage from './pages/dividends/DividendsWizardPage'; import DividendDetailsPage from './pages/dividends/DividendDetailsPage'; +import AccountPage from './pages/account'; export default [ { component: App, routes: [ + { + path: '/account', + component: AccountPage, + exact: true, + }, { path: '/ticker', component: TickerPage, diff --git a/packages/polymath-js/src/contracts/SecurityTokenRegistry.js b/packages/polymath-js/src/contracts/SecurityTokenRegistry.js index bbf83d014..693b8a2c0 100644 --- a/packages/polymath-js/src/contracts/SecurityTokenRegistry.js +++ b/packages/polymath-js/src/contracts/SecurityTokenRegistry.js @@ -289,6 +289,16 @@ class SecurityTokenRegistry extends Contract { return tokens; } + async getTickersByOwner(owner) { + const tickers = this._methods.getTickersByOwner(owner).call(); + const convertedTickers = tickers.reduce((pV, cV) => { + let ticker = this._toAscii(cV); + pV.push(ticker); + return pV; + }, []); + return convertedTickers; + } + async registerTicker(details: SymbolDetails): Promise { const fee = await this.registrationFee(); const allowance = await PolyToken.allowance(this.account, this.address); diff --git a/packages/polymath-offchain/src/emails/TickerReserved.js b/packages/polymath-offchain/src/emails/TickerReserved.js index 7b62f6e6f..96622d278 100644 --- a/packages/polymath-offchain/src/emails/TickerReserved.js +++ b/packages/polymath-offchain/src/emails/TickerReserved.js @@ -42,11 +42,13 @@ export const TickerReserved = ({ Your reservation is valid for {expiryLimit} days.
If the reservation period lapses before your security token is - created, the ticker will become available for others. + configured, the ticker will become available for others.
-

Before you create your token, you will need to decide whether:

+

+ Before you configured your token, you will need to decide whether: +

diff --git a/packages/polymath-offchain/src/emails/TokenCreated.js b/packages/polymath-offchain/src/emails/TokenCreated.js index 31f7ddab7..386d8889c 100644 --- a/packages/polymath-offchain/src/emails/TokenCreated.js +++ b/packages/polymath-offchain/src/emails/TokenCreated.js @@ -17,7 +17,7 @@ export const TokenCreated = ({ txHash, ticker, networkId }: Props) => { return (

Congratulations!

-

You Have Successfully Created the {ticker.toUpperCase()} Token

+

You Have Successfully Configured the {ticker.toUpperCase()} Token

Icon @@ -30,8 +30,8 @@ export const TokenCreated = ({ txHash, ticker, networkId }: Props) => {

- Now that your security token is created, you can proceed to the next - steps: + Now that your security token is configured, you can proceed to the + next steps:

  1. diff --git a/packages/polymath-offchain/src/emails/__tests__/__snapshots__/TickerReserved.js.snap b/packages/polymath-offchain/src/emails/__tests__/__snapshots__/TickerReserved.js.snap index 1176935ec..deaa7e8da 100644 --- a/packages/polymath-offchain/src/emails/__tests__/__snapshots__/TickerReserved.js.snap +++ b/packages/polymath-offchain/src/emails/__tests__/__snapshots__/TickerReserved.js.snap @@ -300,14 +300,14 @@ exports[`Component: TickerReserved renders with all props 1`] = ` days.
    - If the reservation period lapses before your security token is created, the ticker will become available for others. + If the reservation period lapses before your security token is configured, the ticker will become available for others.

- Before you create your token, you will need to decide whether: + Before you configure your token, you will need to decide whether:

  • @@ -327,7 +327,7 @@ exports[`Component: TickerReserved renders with all props 1`] = ` href="http://localhost:3000/dashboard/SOMETICKER/providers" > - Click here to continue with your Token Creation + Click here to continue with your Token Configuration

    diff --git a/packages/polymath-offchain/src/startup/setupWeb3.js b/packages/polymath-offchain/src/startup/setupWeb3.js index ed083beb5..fbadf78ac 100644 --- a/packages/polymath-offchain/src/startup/setupWeb3.js +++ b/packages/polymath-offchain/src/startup/setupWeb3.js @@ -1,6 +1,6 @@ // @flow -import { STO_MODULE_TYPE, NETWORKS } from '../constants'; +import { STO_MODULE_TYPE, NETWORKS, DEPLOYMENT_STAGE } from '../constants'; import { sendCappedSTOScheduledEmail, sendUSDTieredSTOScheduledEmail, @@ -560,12 +560,13 @@ export const addSTOListeners = async (networkId: string) => { * to issuers on the following events: * * - Ticker registered - * - Security token created + * - Security token configured * - STO scheduled * * @param {string} networkId id of the network to which we will set the listeners */ const setupListeners = async (networkId: string) => { + if (DEPLOYMENT_STAGE !== 'production') return; await addTickerRegisterListener(networkId); await addTokenCreateListener(networkId); diff --git a/packages/polymath-offchain/src/utils/__tests__/emails.js b/packages/polymath-offchain/src/utils/__tests__/emails.js index 1814d3aa4..af16f286d 100644 --- a/packages/polymath-offchain/src/utils/__tests__/emails.js +++ b/packages/polymath-offchain/src/utils/__tests__/emails.js @@ -206,7 +206,7 @@ describe('Function: sendProviderApplicationEmail', () => { expect(sgMail.send).toHaveBeenCalledWith(expectedMsg); }); - test('adds a DEMO tag to the subject if dummy is true', async () => { + test('adds a SAMPLE EMAIL tag to the subject if dummy is true', async () => { const expectedMsg = { from: { email: polymathEmail, name: polymathName }, replyTo: { @@ -214,7 +214,7 @@ describe('Function: sendProviderApplicationEmail', () => { email: validEmail, }, to: { name: validName, email: validEmail }, - subject: `DEMO: ${ + subject: `SAMPLE EMAIL: ${ validApplication.companyName } is interested in your services`, html: validMarkup, @@ -274,7 +274,7 @@ describe('Function: sendTokenCreateEmail', () => { from: { email: polymathEmail, name: polymathName }, replyTo: { email: replyToEmail, name: polymathName }, to: { email: validEmail, name: validName }, - subject: `${validTicker} Token Created on Polymath`, + subject: `${validTicker} Token Configured on Polymath`, html: validMarkup, }; diff --git a/packages/polymath-offchain/src/utils/emails.js b/packages/polymath-offchain/src/utils/emails.js index 1db5eeb7b..4246f5c3b 100644 --- a/packages/polymath-offchain/src/utils/emails.js +++ b/packages/polymath-offchain/src/utils/emails.js @@ -102,7 +102,7 @@ export const sendProviderApplicationEmail = async ( await sendEmail( providerEmail, providerName, - `${dummy ? 'DEMO: ' : ''}${ + `${dummy ? 'SAMPLE EMAIL: ' : ''}${ application.companyName } is interested in your services`, ReactDOMServer.renderToStaticMarkup( @@ -153,7 +153,7 @@ export const sendTickerReservedEmail = async ( }; /** - * Sends an email to the issuer notifying him that his token has been created + * Sends an email to the issuer notifying him that his token has been configured * * @param {string} issuerEmail email address of the issuer * @param {string} issuerName name of the issuer @@ -171,7 +171,7 @@ export const sendTokenCreatedEmail = async ( await sendEmail( issuerEmail, issuerName, - `${ticker} Token Created on Polymath`, + `${ticker} Token Configured on Polymath`, ReactDOMServer.renderToStaticMarkup( ) diff --git a/packages/polymath-ui/src/components/Countdown/Countdown.mdx b/packages/polymath-ui/src/components/Countdown/Countdown.mdx index 62f4c79e4..0992df6bc 100644 --- a/packages/polymath-ui/src/components/Countdown/Countdown.mdx +++ b/packages/polymath-ui/src/components/Countdown/Countdown.mdx @@ -13,9 +13,9 @@ import Countdown from './'; {}} /> diff --git a/packages/polymath-ui/src/components/Countdown/__tests__/Countdown.js b/packages/polymath-ui/src/components/Countdown/__tests__/Countdown.js index 1c2ec22ff..6965eb2e5 100644 --- a/packages/polymath-ui/src/components/Countdown/__tests__/Countdown.js +++ b/packages/polymath-ui/src/components/Countdown/__tests__/Countdown.js @@ -11,9 +11,9 @@ describe('Countdown', () => { const deadline = new Date('2017-06-23T01:23:45'); const component = renderer.create( {}} /> ); diff --git a/packages/polymath-ui/src/components/Countdown/__tests__/__snapshots__/Countdown.js.snap b/packages/polymath-ui/src/components/Countdown/__tests__/__snapshots__/Countdown.js.snap index b33cf393a..9979ee134 100644 --- a/packages/polymath-ui/src/components/Countdown/__tests__/__snapshots__/Countdown.js.snap +++ b/packages/polymath-ui/src/components/Countdown/__tests__/__snapshots__/Countdown.js.snap @@ -7,7 +7,7 @@ exports[`Countdown renders without crashing 1`] = `
    - Time Left to Create Your Token + Time Left to Configure Your Token
    - Create Your Token Now + Configure Your Token Now  
    diff --git a/packages/polymath-ui/src/components/EthNetworkWrapper/actions.js b/packages/polymath-ui/src/components/EthNetworkWrapper/actions.js index ec352ad51..d6a4e570f 100644 --- a/packages/polymath-ui/src/components/EthNetworkWrapper/actions.js +++ b/packages/polymath-ui/src/components/EthNetworkWrapper/actions.js @@ -149,11 +149,11 @@ export const init = (networks: Array) => async (dispatch: Function) => { if ( !accounts.length && newProviderInjected && - window.ethereum._metamask.isApproved + window.ethereum._metamask.isUnlocked // compatibility check on the MM version ) { - const isMetamaskApproved = await window.ethereum._metamask.isApproved(); + const isMetamaskUnlocked = await window.ethereum._metamask.isUnlocked(); - if (!isMetamaskApproved) { + if (isMetamaskUnlocked) { dispatch(requestAuthorization()); return dispatch(fail(ERROR_ACCESS_REQUESTED)); } diff --git a/packages/polymath-ui/src/components/NotSupportedPage/NotSupportedPage.js b/packages/polymath-ui/src/components/NotSupportedPage/NotSupportedPage.js index 1173d8d46..3972a9043 100644 --- a/packages/polymath-ui/src/components/NotSupportedPage/NotSupportedPage.js +++ b/packages/polymath-ui/src/components/NotSupportedPage/NotSupportedPage.js @@ -16,9 +16,9 @@ export default class NotSupportedPage extends Component { Logo Illustration

    - The creation of your security token requires interaction with the{' '} - MetaMask browser extension. Please use your desktop - browser to proceed with this operation + The configuration of your security token requires interaction with + the MetaMask browser extension. Please use your + desktop browser to proceed with this operation

    diff --git a/packages/polymath-ui/src/components/SignUpPage/SignUpPage.js b/packages/polymath-ui/src/components/SignUpPage/SignUpPage.js index 143103db6..ed2219246 100644 --- a/packages/polymath-ui/src/components/SignUpPage/SignUpPage.js +++ b/packages/polymath-ui/src/components/SignUpPage/SignUpPage.js @@ -49,8 +49,9 @@ class SignUpPage extends Component { Create Your Account - Start your private environment to select your Token symbol, create - your Token, plan and execute your Security Token Offering. + Start your private environment to select your Token symbol, + configure your Token, plan and execute your Security Token + Offering.