diff --git a/packages/polymath-issuer/public/providers/advisory/bg/img-bitcoin-suisse.png b/packages/polymath-issuer/public/providers/advisory/bg/img-bitcoin-suisse.png new file mode 100644 index 000000000..8e13acdab Binary files /dev/null and b/packages/polymath-issuer/public/providers/advisory/bg/img-bitcoin-suisse.png differ diff --git a/packages/polymath-issuer/public/providers/advisory/bitcoin-suisse.png b/packages/polymath-issuer/public/providers/advisory/bitcoin-suisse.png new file mode 100644 index 000000000..2dedcae21 Binary files /dev/null and b/packages/polymath-issuer/public/providers/advisory/bitcoin-suisse.png differ diff --git a/packages/polymath-issuer/public/providers/custody/bg/img-koine.png b/packages/polymath-issuer/public/providers/custody/bg/img-koine.png new file mode 100755 index 000000000..1b7bbe5c1 Binary files /dev/null and b/packages/polymath-issuer/public/providers/custody/bg/img-koine.png differ diff --git a/packages/polymath-issuer/public/providers/custody/koine.png b/packages/polymath-issuer/public/providers/custody/koine.png new file mode 100755 index 000000000..23d94db65 Binary files /dev/null and b/packages/polymath-issuer/public/providers/custody/koine.png differ diff --git a/packages/polymath-issuer/public/providers/legal/bg/img-nelliskatz.png b/packages/polymath-issuer/public/providers/legal/bg/img-nelliskatz.png new file mode 100755 index 000000000..12f14c4f1 Binary files /dev/null and b/packages/polymath-issuer/public/providers/legal/bg/img-nelliskatz.png differ diff --git a/packages/polymath-issuer/public/providers/legal/nelliskatz.png b/packages/polymath-issuer/public/providers/legal/nelliskatz.png new file mode 100755 index 000000000..6483a8c7b Binary files /dev/null and b/packages/polymath-issuer/public/providers/legal/nelliskatz.png differ diff --git a/packages/polymath-issuer/src/pages/home/index.js b/packages/polymath-issuer/src/pages/home/index.js index e8489855a..9f2bc7357 100644 --- a/packages/polymath-issuer/src/pages/home/index.js +++ b/packages/polymath-issuer/src/pages/home/index.js @@ -12,21 +12,20 @@ class HomePage extends Component {

- The Next Mega-Trend + Start Your Security Token
- in Crypto is the Emergence -
of Securities Tokens + Journey Here

- Polymath enables trillions of dollars of securities to be issued -
and traded on the blockchain. + Easily reserve your ticker, mint your tokens, and
+ prepare distribution of your STO.



diff --git a/packages/polymath-issuer/src/pages/providers/ApplyForm.js b/packages/polymath-issuer/src/pages/providers/ApplyForm.js index 71d8dc9c0..6f6da6672 100644 --- a/packages/polymath-issuer/src/pages/providers/ApplyForm.js +++ b/packages/polymath-issuer/src/pages/providers/ApplyForm.js @@ -1,5 +1,5 @@ import React from 'react'; -import { Form, Button } from 'carbon-components-react'; +import { Form, Button, InlineNotification } from 'carbon-components-react'; import { connect } from 'react-redux'; import { withFormik } from 'formik'; import { @@ -70,6 +70,21 @@ export const ApplyFormComponent = props => { return (
+ {networkId !== 1 && ( + + )} Company Name { Cancel

- {/* - We are not going to compare networkId to MAINNET_NETWORK_ID constant. - The former is a number and the later is a string. Fortunately, mainnet ID is 1 and will always be 1 - */} - {networkId === 1 ? ( + {networkId === 1 && (

When you click submit, an email which contains the information entered on that screen will be sent to the Advisory firm(s) you have selected. @@ -158,21 +169,6 @@ export const ApplyFormComponent = props => { browser's cache. To clear this information, simply clear your browser's cache.

- ) : ( -

- - - You are using Token Studio in a testnet environment. When you - click submit, an email WILL NOT be sent to the providers you have - selected. To send an email to the selected providers, please log - into Token Studio with mainnet. -
- None of this information is stored on Polymath servers, only your - browser's cache. To clear this information, simply clear your - browser's cache. -
-
-

)}
diff --git a/packages/polymath-issuer/src/pages/providers/data.js b/packages/polymath-issuer/src/pages/providers/data.js index 91d467212..5b65381bb 100644 --- a/packages/polymath-issuer/src/pages/providers/data.js +++ b/packages/polymath-issuer/src/pages/providers/data.js @@ -124,7 +124,7 @@ const providers: Array = [ 'and communications while our Corporate team focuses on the interaction with our technology ecosystem.', }, { - id: 23, + id: 58, cat: 0, title: 'Chain Partners', logo: '/providers/advisory/chain-par.png', @@ -262,6 +262,21 @@ const providers: Array = [ 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.', }, + { + id: 56, + cat: 0, + title: 'Bitcoin Suisse AG', + logo: '/providers/advisory/bitcoin-suisse.png', + background: '/providers/advisory/bg/img-bitcoin-suisse.png', + desc: + "Founded in 2013, Bitcoin Suisse AG (BTCS) has been a pioneer in providing crypto-financial services. \ + It has helped to shape the crypto- and blockchain-ecosystem in Switzerland and has been a driving force \ + in the development of the 'Crypto Valley' and 'Crypto Nation Switzerland'. As a regulated Swiss financial \ + intermediary (SRO – VQF member) since 2014, BTCS has become a market leader in prime brokerage, storage, \ + lending, staking, tokenization, and other crypto-financial services catered to the needs of private, institutional, \ + and corporate clients. BTCS built a team of over 110 highly qualified experts at its locations in Zug, Copenhagen, \ + and Liechtenstein.", + }, // LEGAL { @@ -453,6 +468,20 @@ const providers: Array = [ managers as well as for exchanges, trading facilities, trade repositories, representative \ offices or applications to self-regulatory organizations for anti-money laundering compliance.', }, + { + id: 59, + cat: 1, + title: 'Nellis & Katz LLP', + logo: '/providers/legal/nelliskatz.png', + background: '/providers/legal/bg/img-nelliskatz.png', + desc: + 'Nellis & Katz LLP is a team of Wall Street trained lawyers with years of experience. \ + Our passion is helping clients build better businesses. As seasoned securities lawyers, we work \ + alongside our clients in helping them achieve their fundraising and business goals. As an evolving practice, \ + we advise our clients in respect of both traditional and innovative fundraising platforms, which has led to the \ + establishment of our blockchain and digital securities practice. Our knowledge of securities law and deep engagement \ + with new technology positions us to be a valued provider to issuers and platforms for digital securities.', + }, // KYC/AML { @@ -729,6 +758,19 @@ const providers: Array = [ maximum user-friendliness with the highest security levels available in the market. \ \nFinoa is aiming to become a regulated custodial institution starting in 2020.', }, + { + id: 57, + cat: 4, + title: 'Koine', + logo: '/providers/custody/koine.png', + background: '/providers/custody/bg/img-koine.png', + desc: + "Headquartered in London, Koine is regulated by the FCA exclusively as a payment institution for the issuance of electronic money. \ + Koine's offer also includes custody, distribution and DVP settlement of digital assets and FIAT to institutional investors, brokers \ + and non-security token issuers. Following the best practices of traditional custodians and thanks to a blend of ground-up architecture, \ + governance, team and systems, Koine model eliminates settlement and counterparty risks by enforcing DVP, responding to the needs of the \ + institutional world.", + }, // TOKEN SALE PLATFORMS { diff --git a/packages/polymath-issuer/src/pages/providers/style.scss b/packages/polymath-issuer/src/pages/providers/style.scss index 8d7d1a0f8..b21e18c6a 100644 --- a/packages/polymath-issuer/src/pages/providers/style.scss +++ b/packages/polymath-issuer/src/pages/providers/style.scss @@ -1,5 +1,6 @@ .tag-my-own { background-color: #5596e6 !important; + margin-top: 5px; } .providers-controls { @@ -125,7 +126,6 @@ .bx--tabs__nav-link { padding: 16px 24px 36px 24px; - width: 200px; font-size: 16px; font-weight: 600; color: #5a6872; @@ -135,8 +135,9 @@ } div { - display: inline-flex; + display: flex; align-items: center; + flex-direction: column; } } diff --git a/packages/polymath-issuer/src/pages/sto/components/STOTemplate/Component.js b/packages/polymath-issuer/src/pages/sto/components/STOTemplate/Component.js index 423b76591..52e95a4c0 100644 --- a/packages/polymath-issuer/src/pages/sto/components/STOTemplate/Component.js +++ b/packages/polymath-issuer/src/pages/sto/components/STOTemplate/Component.js @@ -2,7 +2,7 @@ /* eslint-disable jsx-a11y/label-has-for */ import React, { Component, Fragment } from 'react'; -import { Button, Icon } from 'carbon-components-react'; +import { Button, Icon, InlineNotification } from 'carbon-components-react'; import { Box, Grid, @@ -41,6 +41,24 @@ export default class STOTemplateComponent extends Component { {stoModule.description} ); + const investorsNote = ( + + Please make note to your investors that they may need to{' '} + + adjust the gas limit in metamask + {' '} + to 450,000 in order to successfully participate in your STO. If gas + limit of 450,000 does not work, please ask them to increase the + limit slightly by 150,000 until the transaction goes through. +

+ } + subtitle="" + kind="warning" + /> + ); const verifiedOnEtherscan = ( Verified on Etherscan @@ -99,6 +117,7 @@ export default class STOTemplateComponent extends Component { {authorAddress} {desc} + {investorsNote} {verifiedOnEtherscan} diff --git a/packages/polymath-js/src/contracts/Contract.js b/packages/polymath-js/src/contracts/Contract.js index ef062c053..1b73b6cc2 100644 --- a/packages/polymath-js/src/contracts/Contract.js +++ b/packages/polymath-js/src/contracts/Contract.js @@ -257,9 +257,12 @@ export default class Contract { }; try { - receipt = await method.send(params); - const { transactionHash } = receipt; - Contract._params.txHashCallback(transactionHash); + receipt = await method.send(params, (error, hash) => { + if (!error) { + txHash = hash; + Contract._params.txHashCallback(hash); + } + }); } catch (e) { if (e.message.includes('not mined within 50 blocks')) { return new Promise(resolve => { diff --git a/packages/polymath-js/src/contracts/CountTransferManager.js b/packages/polymath-js/src/contracts/CountTransferManager.js index 9858c221e..cef191a2c 100644 --- a/packages/polymath-js/src/contracts/CountTransferManager.js +++ b/packages/polymath-js/src/contracts/CountTransferManager.js @@ -28,6 +28,6 @@ export default class CountTransferManager extends Contract { } async changeHolderCount(count: number): Promise { - return this._tx(this._methods.changeHolderCount(count)); + return this._tx(this._methods.changeHolderCount(count), null, 1.5, 15); } } diff --git a/packages/polymath-js/src/contracts/SecurityTokenRegistry.js b/packages/polymath-js/src/contracts/SecurityTokenRegistry.js index 693b8a2c0..3b4a7b066 100644 --- a/packages/polymath-js/src/contracts/SecurityTokenRegistry.js +++ b/packages/polymath-js/src/contracts/SecurityTokenRegistry.js @@ -237,7 +237,7 @@ class SecurityTokenRegistry extends Contract { token.isDivisible ), null, - 1.05, + 1.5, 15 ); } @@ -251,7 +251,7 @@ class SecurityTokenRegistry extends Contract { 0 // if _protocolVersion == 0 then latest version of securityToken will be generated ), null, - 1.05, + 1.5, 15 ); }