-
+
{ account.address }
diff --git a/js/src/views/Address/address.js b/js/src/views/Address/address.js
index 3a4f6d5f9..eb0a9bc4b 100644
--- a/js/src/views/Address/address.js
+++ b/js/src/views/Address/address.js
@@ -15,14 +15,13 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
-import ActionDelete from 'material-ui/svg-icons/action/delete';
-import ContentCreate from 'material-ui/svg-icons/content/create';
-import ContentAdd from 'material-ui/svg-icons/content/add';
import { EditMeta, AddAddress } from '~/modals';
import { Actionbar, Button, Page } from '~/ui';
+import { AddIcon, DeleteIcon, EditIcon } from '~/ui/Icons';
import Header from '../Account/Header';
import Transactions from '../Account/Transactions';
@@ -146,14 +145,24 @@ class Address extends Component {
const buttons = [
}
- label='edit'
+ icon={
}
+ label={
+
+ }
onClick={ this.onEditClick }
/>,
}
- label='forget'
+ icon={
}
+ label={
+
+ }
onClick={ this.showDeleteDialog }
/>
];
@@ -161,16 +170,30 @@ class Address extends Component {
const addToBook = (
}
- label='save'
+ icon={
}
+ label={
+
+ }
onClick={ this.onOpenAdd }
/>
);
return (
+ }
+ buttons={
+ !contact
+ ? [ addToBook ]
+ : buttons
+ }
/>
);
}
diff --git a/js/src/views/Addresses/addresses.js b/js/src/views/Addresses/addresses.js
index 4e40a7309..f61bcb3bb 100644
--- a/js/src/views/Addresses/addresses.js
+++ b/js/src/views/Addresses/addresses.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import ContentAdd from 'material-ui/svg-icons/content/add';
@@ -143,7 +144,12 @@ class Addresses extends Component {
}
- label='address'
+ label={
+
+ }
onClick={ this.onOpenAdd }
/>,
+ }
buttons={ buttons }
/>
);
@@ -187,7 +198,12 @@ class Addresses extends Component {
renderValidation = (content) => {
const error = {
- error: 'The provided file is invalid...'
+ error: (
+
+ )
};
try {
@@ -214,7 +230,9 @@ class Addresses extends Component {
{ body }
);
- } catch (e) { return error; }
+ } catch (e) {
+ return error;
+ }
}
onImport = (content) => {
diff --git a/js/src/views/Application/FrameError/frameError.js b/js/src/views/Application/FrameError/frameError.js
index c1d022457..0cf1f4ef2 100644
--- a/js/src/views/Application/FrameError/frameError.js
+++ b/js/src/views/Application/FrameError/frameError.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component } from 'react';
+import { FormattedMessage } from 'react-intl';
import styles from './frameError.css';
@@ -22,7 +23,10 @@ export default class FrameError extends Component {
render () {
return (
- ERROR: This application cannot and should not be loaded in an embedded iFrame
+
);
}
diff --git a/js/src/views/Contract/Events/Event/event.js b/js/src/views/Contract/Events/Event/event.js
index de5cf6809..5e34e2dd7 100644
--- a/js/src/views/Contract/Events/Event/event.js
+++ b/js/src/views/Contract/Events/Event/event.js
@@ -17,6 +17,7 @@
import BigNumber from 'bignumber.js';
import moment from 'moment';
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { IdentityIcon, IdentityName, Input, InputAddress } from '~/ui';
import ShortenedHash from '~/ui/ShortenedHash';
@@ -64,7 +65,12 @@ export default class Event extends Component {
{
event.state === 'pending'
- ? 'pending'
+ ? (
+
+ )
: this.formatBlockTimestamp(block)
}
{ this.formatNumber(transaction.blockNumber) }
@@ -96,7 +102,11 @@ export default class Event extends Component {
center
inline
/>
- { withName ? : address }
+ {
+ withName
+ ?
+ : address
+ }
);
}
diff --git a/js/src/views/Contract/Events/events.js b/js/src/views/Contract/Events/events.js
index 37fbd0592..1731488d9 100644
--- a/js/src/views/Contract/Events/events.js
+++ b/js/src/views/Contract/Events/events.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { uniq } from 'lodash';
import { Container, Loading } from '~/ui';
@@ -22,6 +23,13 @@ import { Container, Loading } from '~/ui';
import Event from './Event';
import styles from '../contract.css';
+const TITLE = (
+
+);
+
export default class Events extends Component {
static contextTypes = {
api: PropTypes.object
@@ -43,7 +51,7 @@ export default class Events extends Component {
if (isLoading) {
return (
-
+
@@ -53,8 +61,13 @@ export default class Events extends Component {
if (!events || !events.length) {
return (
-
- No events has been sent from this contract.
+
+
+
+
);
}
@@ -73,7 +86,7 @@ export default class Events extends Component {
});
return (
-
+
diff --git a/js/src/views/Contract/Queries/inputQuery.js b/js/src/views/Contract/Queries/inputQuery.js
index 1418aa6b7..a93fe74d0 100644
--- a/js/src/views/Contract/Queries/inputQuery.js
+++ b/js/src/views/Contract/Queries/inputQuery.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import LinearProgress from 'material-ui/LinearProgress';
import { Card, CardActions, CardTitle, CardText } from 'material-ui/Card';
import { connect } from 'react-redux';
@@ -80,7 +81,12 @@ class InputQuery extends Component {
+ }
disabled={ !isValid }
onClick={ this.onClick }
/>
@@ -94,7 +100,9 @@ class InputQuery extends Component {
const { accountsInfo, outputs } = this.props;
if (isLoading) {
- return ( );
+ return (
+
+ );
}
if (!results || results.length < 1) {
diff --git a/js/src/views/Contract/Queries/queries.js b/js/src/views/Contract/Queries/queries.js
index dd84109fb..299d1ee84 100644
--- a/js/src/views/Contract/Queries/queries.js
+++ b/js/src/views/Contract/Queries/queries.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Card, CardTitle, CardText } from 'material-ui/Card';
import InputQuery from './inputQuery';
@@ -59,7 +60,14 @@ export default class Queries extends Component {
}
return (
-
+
+ }
+ >
{
noInputQueries.length > 0
diff --git a/js/src/views/Contract/contract.js b/js/src/views/Contract/contract.js
index aad2be8bd..0a38166c4 100644
--- a/js/src/views/Contract/contract.js
+++ b/js/src/views/Contract/contract.js
@@ -15,22 +15,16 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
-import { FormattedMessage } from 'react-intl';
import BigNumber from 'bignumber.js';
-import ActionDelete from 'material-ui/svg-icons/action/delete';
-import AvPlayArrow from 'material-ui/svg-icons/av/play-arrow';
-import ContentCreate from 'material-ui/svg-icons/content/create';
-import EyeIcon from 'material-ui/svg-icons/image/remove-red-eye';
-import ContentClear from 'material-ui/svg-icons/content/clear';
-
+import { EditMeta, ExecuteContract } from '~/modals';
import { newError } from '~/redux/actions';
import { setVisibleAccounts } from '~/redux/providers/personalActions';
-
-import { EditMeta, ExecuteContract } from '~/modals';
import { Actionbar, Button, Page, Portal } from '~/ui';
+import { CancelIcon, DeleteIcon, EditIcon, PlayIcon, VisibleIcon } from '~/ui/Icons';
import Editor from '~/ui/Editor';
import Header from '../Account/Header';
@@ -191,8 +185,13 @@ class Contract extends Component {
const cancelBtn = (
}
- label='Close'
+ icon={
}
+ label={
+
+ }
onClick={ this.closeDetailsDialog }
/>
);
@@ -202,7 +201,12 @@ class Contract extends Component {
buttons={ [ cancelBtn ] }
onClose={ this.closeDetailsDialog }
open
- title={ 'contract details' }
+ title={
+
+ }
>
{ this.renderSource(contract) }
@@ -243,33 +247,58 @@ class Contract extends Component {
const buttons = [
}
- label='execute'
+ icon={
}
+ label={
+
+ }
onClick={ this.showExecuteDialog }
/>,
}
- label='edit'
+ icon={
}
+ label={
+
+ }
onClick={ this.showEditDialog }
/>,
}
- label='forget'
+ icon={
}
+ label={
+
+ }
onClick={ this.showDeleteDialog }
/>,
}
- label='details'
+ icon={
}
+ label={
+
+ }
onClick={ this.showDetailsDialog }
/>
];
return (
+ }
buttons={ !account ? [] : buttons }
/>
);
diff --git a/js/src/views/Contracts/contracts.js b/js/src/views/Contracts/contracts.js
index fba8fd7fc..938fc12b5 100644
--- a/js/src/views/Contracts/contracts.js
+++ b/js/src/views/Contracts/contracts.js
@@ -15,19 +15,40 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Link } from 'react-router';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
-import ContentAdd from 'material-ui/svg-icons/content/add';
-import FileIcon from 'material-ui/svg-icons/action/description';
import { uniq, isEqual } from 'lodash';
-import { Actionbar, ActionbarSearch, ActionbarSort, Button, Page } from '~/ui';
import { AddContract, DeployContract } from '~/modals';
import { setVisibleAccounts } from '~/redux/providers/personalActions';
+import { Actionbar, ActionbarSearch, ActionbarSort, Button, Page } from '~/ui';
+import { AddIcon, DevelopIcon } from '~/ui/Icons';
import List from '../Accounts/List';
+const META_SORT = [
+ {
+ key: 'timestamp',
+ label: (
+
+ )
+ },
+ {
+ key: 'blockNumber:-1',
+ label: (
+
+ )
+ }
+];
+
class Contracts extends Component {
static contextTypes = {
api: PropTypes.object.isRequired
@@ -109,10 +130,7 @@ class Contracts extends Component {
key='sortAccounts'
id='sortContracts'
order={ this.state.sortOrder }
- metas={ [
- { key: 'timestamp', label: 'date' },
- { key: 'blockNumber:-1', label: 'mined block' }
- ] }
+ metas={ META_SORT }
showDefault={ false }
onChange={ onChange }
/>
@@ -137,14 +155,24 @@ class Contracts extends Component {
const buttons = [
}
- label='watch'
+ icon={
}
+ label={
+
+ }
onClick={ this.onAddContract }
/>,
}
- label='deploy'
+ icon={
}
+ label={
+
+ }
onClick={ this.onDeployContract }
/>,
}
- label='develop'
+ icon={
}
+ label={
+
+ }
/>
,
@@ -163,7 +196,12 @@ class Contracts extends Component {
return (
+ }
buttons={ buttons }
/>
);
diff --git a/js/src/views/Signer/components/RequestOrigin/requestOrigin.js b/js/src/views/Signer/components/RequestOrigin/requestOrigin.js
index fb9ef4cd6..6582e9780 100644
--- a/js/src/views/Signer/components/RequestOrigin/requestOrigin.js
+++ b/js/src/views/Signer/components/RequestOrigin/requestOrigin.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import IdentityIcon from '~/ui/IdentityIcon';
@@ -45,16 +46,36 @@ export default class RequestOrigin extends Component {
renderOrigin (origin) {
if (origin.type === 'unknown') {
return (
-
via unknown interface
+
+
+
);
}
if (origin.type === 'dapp') {
return (
- by a dapp at
- { origin.details || 'unknown URL' }
-
+
+ {
+ origin.details || (
+
+ )
+ }
+
+ )
+ } }
+ />
);
}
@@ -62,9 +83,24 @@ export default class RequestOrigin extends Component {
if (origin.type === 'rpc') {
return (
- via RPC
- ({ origin.details || 'unidentified' })
-
+
+ ({
+ origin.details || (
+
+ )
+ })
+
+ )
+ } }
+ />
);
}
@@ -72,7 +108,10 @@ export default class RequestOrigin extends Component {
if (origin.type === 'ipc') {
return (
- via IPC session
+
via current tab
+
+
+
);
}
return (
- via UI session
+
{
expect(shallow(
,
context
- ).text()).to.equal('Requested via unknown interface');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.unknownInterface');
});
it('renders dapps', () => {
expect(shallow(
,
context
- ).text()).to.equal('Requested by a dapp at http://parity.io');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.dapp');
});
it('renders rpc', () => {
expect(shallow(
,
context
- ).text()).to.equal('Requested via RPC (unidentified)');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.rpc');
});
it('renders ipc', () => {
expect(shallow(
,
context
- ).text()).to.equal('Requested via IPC session ');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.ipc');
});
it('renders signer', () => {
expect(shallow(
,
context
- ).text()).to.equal('Requested via UI session ');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.signerUI');
expect(shallow(
,
context
- ).text()).to.equal('Requested via current tab');
+ ).find('FormattedMessage').props().id).to.equal('signer.requestOrigin.signerCurrent');
});
});
diff --git a/js/src/views/Signer/components/SignRequest/signRequest.js b/js/src/views/Signer/components/SignRequest/signRequest.js
index c5b9cc976..f3210c6fa 100644
--- a/js/src/views/Signer/components/SignRequest/signRequest.js
+++ b/js/src/views/Signer/components/SignRequest/signRequest.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { observer } from 'mobx-react';
import Account from '../Account';
@@ -91,9 +92,16 @@ export default class SignRequest extends Component {
}
renderBinaryDetails (data) {
- return (
-
(Unknown binary data)
-
);
+ return (
+
+ );
}
renderDetails () {
@@ -119,13 +127,25 @@ export default class SignRequest extends Component {
-
A request to sign data using your account:
+
+
+
{
isAscii(data)
? this.renderAsciiDetails(api.util.hexToAscii(data))
: this.renderBinaryDetails(data)
}
-
WARNING: This consequences of doing this may be grave. Confirm the request only if you are sure.
+
+
+
+
+
);
@@ -138,14 +158,24 @@ export default class SignRequest extends Component {
if (status === 'confirmed') {
return (
- Confirmed
+
+
+
);
}
return (
- Rejected
+
+
+
);
}
diff --git a/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js b/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js
index 119af2382..26c00e6d4 100644
--- a/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js
+++ b/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js
@@ -14,11 +14,12 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see .
-import MapsLocalGasStation from 'material-ui/svg-icons/maps/local-gas-station';
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import ReactTooltip from 'react-tooltip';
import { Button, MethodDecoding } from '~/ui';
+import { GasIcon } from '~/ui/Icons';
import * as tUtil from '../util/transaction';
import Account from '../Account';
@@ -103,8 +104,13 @@ export default class TransactionMainDetails extends Component {
return (
}
- label='Edit conditions/gas/gasPrice'
+ icon={ }
+ label={
+
+ }
onClick={ this.toggleGasEditor }
/>
@@ -128,8 +134,23 @@ export default class TransactionMainDetails extends Component {
{ totalValueDisplay } ETH
- The value of the transaction including the mining fee is { totalValueDisplayWei } WEI .
- (This includes a mining fee of { feeEth } ETH )
+ { totalValueDisplayWei },
+ type: WEI
+ } }
+ />
+
+ { feeEth },
+ token: ETH
+ } }
+ />
);
@@ -151,7 +172,11 @@ export default class TransactionMainDetails extends Component {
ETH
- The value of the transaction.
+
+
{ valueDisplayWei } WEI
diff --git a/js/src/views/Signer/components/TransactionPending/transactionPending.js b/js/src/views/Signer/components/TransactionPending/transactionPending.js
index 59f4b5b42..92481e24a 100644
--- a/js/src/views/Signer/components/TransactionPending/transactionPending.js
+++ b/js/src/views/Signer/components/TransactionPending/transactionPending.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { observer } from 'mobx-react';
import { Button, GasPriceEditor } from '~/ui';
@@ -132,7 +133,12 @@ export default class TransactionPending extends Component {
+ }
onClick={ this.toggleGasEditor }
/>
diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js b/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js
index 428ff660e..96b712c8f 100644
--- a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js
+++ b/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js
@@ -18,6 +18,7 @@ import keycode from 'keycode';
import RaisedButton from 'material-ui/RaisedButton';
import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
+import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import ReactTooltip from 'react-tooltip';
@@ -98,7 +99,17 @@ class TransactionPendingFormConfirm extends Component {
const passwordHintText = this.getPasswordHint();
const passwordHint = passwordHintText
- ? (
(hint) { passwordHintText }
)
+ ? (
+
+
+
+ )
: null;
const isWalletOk = !isExternal || (walletError === null && wallet !== null);
@@ -113,13 +124,33 @@ class TransactionPendingFormConfirm extends Component {
+ )
+ : (
+
+ )
}
label={
isExternal
- ? 'Key Password'
- : 'Account Password'
+ ? (
+
+ )
+ : (
+
+ )
}
onChange={ this.onModifyPassword }
onKeyDown={ this.onKeyDown }
@@ -149,8 +180,18 @@ class TransactionPendingFormConfirm extends Component {
}
label={
isSending
- ? 'Confirming...'
- : 'Confirm Request'
+ ? (
+
+ )
+ : (
+
+ )
}
onTouchTap={ this.onConfirm }
primary
@@ -169,7 +210,12 @@ class TransactionPendingFormConfirm extends Component {
+ }
onChange={ this.onKeySelect }
type='file'
/>
@@ -183,7 +229,10 @@ class TransactionPendingFormConfirm extends Component {
return (
- Please provide a password for this account
+
);
}
@@ -216,7 +265,12 @@ class TransactionPendingFormConfirm extends Component {
} catch (error) {
this.setState({
wallet: null,
- walletError: 'Given wallet file is invalid.'
+ walletError: (
+
+ )
});
}
};
diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js b/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js
index 01767c24a..3f5ba943f 100644
--- a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js
+++ b/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import RaisedButton from 'material-ui/RaisedButton';
@@ -32,14 +33,28 @@ export default class TransactionPendingFormReject extends Component {
return (
- Are you sure you want to reject request?
- This cannot be undone
+
+
+
+
+
+ }
/>
);
diff --git a/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js b/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js
index 9b114759e..16a1da79b 100644
--- a/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js
+++ b/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js
@@ -15,8 +15,9 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
-import BackIcon from 'material-ui/svg-icons/navigation/arrow-back';
+import { PrevIcon } from '~/ui/Icons';
import TransactionPendingFormConfirm from './TransactionPendingFormConfirm';
import TransactionPendingFormReject from './TransactionPendingFormReject';
@@ -75,9 +76,24 @@ export default class TransactionPendingForm extends Component {
let html;
if (!isRejectOpen) {
- html =
reject request ;
+ html = (
+
+
+
+ );
} else {
- html =
{ "I've changed my mind" };
+ html = (
+
+
+
+
+ );
}
return (
diff --git a/js/src/views/Signer/signer.js b/js/src/views/Signer/signer.js
index c4df9bf3a..093a980ed 100644
--- a/js/src/views/Signer/signer.js
+++ b/js/src/views/Signer/signer.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Actionbar } from '~/ui';
import RequestsPage from './containers/RequestsPage';
@@ -23,7 +24,14 @@ export default class Signer extends Component {
render () {
return (
);
diff --git a/js/src/views/Status/components/Calls/Calls.js b/js/src/views/Status/components/Calls/Calls.js
index 710401754..3a1023bc6 100644
--- a/js/src/views/Status/components/Calls/Calls.js
+++ b/js/src/views/Status/components/Calls/Calls.js
@@ -15,6 +15,8 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
+
import Call from '../Call';
import CallsToolbar from '../CallsToolbar';
import styles from './Calls.css';
@@ -33,7 +35,12 @@ export default class Calls extends Component {
{ ...this._test('container') }
>
{ this.renderClear() }
-
History
+
+
+
{ this.renderNoCallsMsg() }
{ this.renderCalls() }
@@ -56,7 +63,12 @@ export default class Calls extends Component {
return (
+ }
onClick={ this.clearHistory }
className={ styles.removeIcon }
>
@@ -73,7 +85,10 @@ export default class Calls extends Component {
return (
- Fire up some calls and the results will be here.
+
);
diff --git a/js/src/views/Status/components/CallsToolbar/CallsToolbar.js b/js/src/views/Status/components/CallsToolbar/CallsToolbar.js
index bf5a20691..618a5de26 100644
--- a/js/src/views/Status/components/CallsToolbar/CallsToolbar.js
+++ b/js/src/views/Status/components/CallsToolbar/CallsToolbar.js
@@ -16,6 +16,7 @@
import React, { Component, PropTypes } from 'react';
import CopyToClipboard from 'react-copy-to-clipboard';
+import { FormattedMessage } from 'react-intl';
import { sortBy, find, extend } from 'lodash';
import IconButton from 'material-ui/IconButton';
@@ -58,7 +59,12 @@ export default class CallsToolbar extends Component {
+ }
tooltipPosition='top-left'
{ ...this._test('button-setCall') }
>
@@ -67,7 +73,12 @@ export default class CallsToolbar extends Component {
+ }
tooltipPosition='top-left'
{ ...this._test('button-makeCall') }
>
@@ -79,7 +90,12 @@ export default class CallsToolbar extends Component {
>
+ }
tooltipPosition='top-left'
{ ...this._test('copyCallToClipboard') }
>
@@ -112,7 +128,12 @@ export default class CallsToolbar extends Component {
}
copyToClipboard = () => {
- this.props.actions.copyToClipboard('method copied to clipboard');
+ this.props.actions.copyToClipboard(
+
+ );
}
hasScrollbar (el) {
diff --git a/js/src/views/Status/components/Debug/debug.js b/js/src/views/Status/components/Debug/debug.js
index 2b892b584..ed423572f 100644
--- a/js/src/views/Status/components/Debug/debug.js
+++ b/js/src/views/Status/components/Debug/debug.js
@@ -15,12 +15,10 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
-import AvPause from 'material-ui/svg-icons/av/pause';
-import AvPlay from 'material-ui/svg-icons/av/play-arrow';
-import AvReplay from 'material-ui/svg-icons/av/replay';
-import ReorderIcon from 'material-ui/svg-icons/action/reorder';
+import { FormattedMessage } from 'react-intl';
import { Container } from '~/ui';
+import { PauseIcon, PlayIcon, ReorderIcon, ReplayIcon } from '~/ui/Icons';
import styles from './debug.css';
@@ -42,7 +40,14 @@ export default class Debug extends Component {
const { devLogsLevels } = nodeStatus;
return (
-
+
+ }
+ >
{ this.renderActions() }
{ devLogsLevels || '-' }
@@ -62,7 +67,10 @@ export default class Debug extends Component {
return (
- Refresh and display of logs from Parity is currently stopped via the UI, start it to see the latest updates.
+
);
}
@@ -112,14 +120,24 @@ export default class Debug extends Component {
renderActions () {
const { devLogsEnabled } = this.props.nodeStatus;
const toggleButton = devLogsEnabled
- ?
- : ;
+ ?
+ : ;
return (
);
}
diff --git a/js/src/views/Status/components/EditableValue/EditableValue.js b/js/src/views/Status/components/EditableValue/EditableValue.js
index 8be14c76a..98ad223ca 100644
--- a/js/src/views/Status/components/EditableValue/EditableValue.js
+++ b/js/src/views/Status/components/EditableValue/EditableValue.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import AutoComplete from 'material-ui/AutoComplete';
import styles from './EditableValue.css';
@@ -133,10 +134,18 @@ export default class EditableValue extends Component {
return (
+ }
{ ...this._testInherit('reset') }
>
@@ -148,7 +157,7 @@ export default class EditableValue extends Component {
if (this.state.inEditMode) {
return [
,
+ }
{ ...this._testInherit('edit') }
>
diff --git a/js/src/views/Status/components/MiningSettings/miningSettings.js b/js/src/views/Status/components/MiningSettings/miningSettings.js
index a538e030b..6e51b891a 100644
--- a/js/src/views/Status/components/MiningSettings/miningSettings.js
+++ b/js/src/views/Status/components/MiningSettings/miningSettings.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import formatNumber from 'format-number';
import { ContainerTitle, Input } from '~/ui';
@@ -47,10 +48,27 @@ export default class MiningSettings extends Component {
return (
-
+
+ }
+ />
+ }
+ hint={
+
+ }
value={ coinbase }
onSubmit={ this.onAuthorChange }
allowCopy
@@ -59,8 +77,18 @@ export default class MiningSettings extends Component {
/>
+ }
+ hint={
+
+ }
value={ extradata }
onSubmit={ this.onExtraDataChange }
defaultValue={ defaultExtradata }
@@ -70,8 +98,18 @@ export default class MiningSettings extends Component {
/>
+ }
+ hint={
+
+ }
value={ toNiceNumber(minGasPrice) }
onSubmit={ this.onMinGasPriceChange }
allowCopy={ minGasPrice.toString() }
@@ -80,8 +118,18 @@ export default class MiningSettings extends Component {
/>
+ }
+ hint={
+
+ }
value={ toNiceNumber(gasFloorTarget) }
onSubmit={ this.onGasFloorTargetChange }
allowCopy={ gasFloorTarget.toString() }
diff --git a/js/src/views/Status/components/RpcCalls/RpcCalls.js b/js/src/views/Status/components/RpcCalls/RpcCalls.js
index 69fabf956..022c28975 100644
--- a/js/src/views/Status/components/RpcCalls/RpcCalls.js
+++ b/js/src/views/Status/components/RpcCalls/RpcCalls.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import _ from 'lodash';
import Toggle from 'material-ui/Toggle/Toggle';
@@ -38,11 +39,11 @@ export default class RpcCalls extends Component {
const { paramsValues, params } = nextProps.rpc.selectedMethod;
if (paramsValues) {
- params.map((p, idx) => {
+ params.map((p, index) => {
// todo [adgo] 01.05.2016 - make sure this works
// not sure idx is the same for paramsValues and params
this.setState({
- [this.paramKey(p)]: paramsValues[idx]
+ [this.paramKey(p)]: paramsValues[index]
});
});
@@ -59,7 +60,12 @@ export default class RpcCalls extends Component {
-
RPC Requests
+
+
+
@@ -92,11 +98,19 @@ export default class RpcCalls extends Component {
+ }
/>
- Call Method
+
@@ -117,9 +131,19 @@ export default class RpcCalls extends Component {
return (
{ this.renderMethodList() }
-
Parameters
+
+
+
{ this.renderInputs() }
- Returns
+
+
+
{ this.renderFormButton() }
@@ -177,7 +201,10 @@ export default class RpcCalls extends Component {
if (!params || !params.length) {
return (
- none
+
);
}
@@ -284,7 +311,10 @@ export default class RpcCalls extends Component {
disabled={ this.state.jsonEditorError }
onClick={ this.onRpcFire }
>
- Fire!
+
);
}
diff --git a/js/src/views/Status/components/RpcDocs/RpcDocs.js b/js/src/views/Status/components/RpcDocs/RpcDocs.js
index a56d182a4..922346763 100644
--- a/js/src/views/Status/components/RpcDocs/RpcDocs.js
+++ b/js/src/views/Status/components/RpcDocs/RpcDocs.js
@@ -16,6 +16,7 @@
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
+import { FormattedMessage } from 'react-intl';
import { sortBy } from 'lodash';
import List from 'material-ui/List/List';
import ListItem from 'material-ui/List/ListItem';
@@ -38,7 +39,12 @@ class RpcDocs extends Component {
-
RPC Docs
+
+
+
@@ -50,7 +56,12 @@ class RpcDocs extends Component {
+ }
className={ styles.autocomplete }
dataSource={ rpcMethods.map(m => m.name) }
onNewRequest={ this.handleMethodChange }
@@ -78,9 +89,38 @@ class RpcDocs extends Component {
>
{ m.name }
-
Params { !m.params.length ? ' - none' : '' }
- { m.params.map((p, idx) =>
) }
-
Returns -
+
+
+ )
+ : ''
+ } }
+ />
+
+ {
+ m.params.map((p, idx) => {
+ return (
+
+ );
+ })
+ }
+
+
+
{ idx !== rpcMethods.length - 1 ?
: '' }
diff --git a/js/src/views/Status/components/Status/status.js b/js/src/views/Status/components/Status/status.js
index f7d06833a..efb0c80f7 100644
--- a/js/src/views/Status/components/Status/status.js
+++ b/js/src/views/Status/components/Status/status.js
@@ -17,6 +17,7 @@
import bytes from 'bytes';
import moment from 'moment';
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Container, ContainerTitle, Input } from '~/ui';
@@ -47,7 +48,14 @@ export default class Status extends Component {
-
+
+ }
+ />
#{ nodeStatus.blockNumber.toFormat() }
@@ -56,15 +64,35 @@ export default class Status extends Component {
-
+
+ }
+ />
- { `${hashrate} H/s` }
+
@@ -89,7 +117,12 @@ export default class Status extends Component {
return (
- { nodeStatus.nodeName || 'Node' }
+ { nodeStatus.nodeName || (
+ )
+ }
);
}
@@ -107,11 +140,23 @@ export default class Status extends Component {
return (
-
+
+ }
+ />
+ }
value={ nodeStatus.netChain }
{ ...this._test('chain') }
/>
@@ -120,7 +165,12 @@ export default class Status extends Component {
+ }
value={ peers }
{ ...this._test('peers') }
/>
@@ -129,7 +179,12 @@ export default class Status extends Component {
+ }
value={ netPort.toString() }
{ ...this._test('network-port') }
/>
@@ -139,11 +194,26 @@ export default class Status extends Component {
+ }
value={
rpcSettings.enabled
- ? 'yes'
- : 'no'
+ ? (
+
+ )
+ : (
+
+ )
}
{ ...this._test('rpc-enabled') }
/>
@@ -152,7 +222,12 @@ export default class Status extends Component {
+ }
value={ rpcSettings.interface }
{ ...this._test('rpc-interface') }
/>
@@ -161,7 +236,12 @@ export default class Status extends Component {
+ }
value={ rpcPort.toString() }
{ ...this._test('rpc-port') }
/>
@@ -173,7 +253,12 @@ export default class Status extends Component {
+ }
value={ nodeStatus.enode }
{ ...this._test('node-enode') }
/>
diff --git a/js/src/views/Status/status.js b/js/src/views/Status/status.js
index ff17bd575..68621fe9b 100644
--- a/js/src/views/Status/status.js
+++ b/js/src/views/Status/status.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Page } from '~/ui';
@@ -23,7 +24,14 @@ import StatusPage from './containers/StatusPage';
export default class Status extends Component {
render () {
return (
-
+
+ }
+ >
);
diff --git a/js/src/views/Wallet/Confirmations/confirmations.js b/js/src/views/Wallet/Confirmations/confirmations.js
index fd4d65a12..8f7e6ea52 100644
--- a/js/src/views/Wallet/Confirmations/confirmations.js
+++ b/js/src/views/Wallet/Confirmations/confirmations.js
@@ -14,8 +14,9 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see
.
-import React, { Component, PropTypes } from 'react';
import { LinearProgress, MenuItem, IconMenu } from 'material-ui';
+import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import ReactTooltip from 'react-tooltip';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
@@ -70,7 +71,12 @@ class WalletConfirmations extends Component {
if (realConfirmations.length === 0) {
return (
-
No transactions needs confirmation right now.
+
+
+
);
}
@@ -217,7 +223,12 @@ class WalletConfirmation extends Component {
const confirmButton = (
+ }
disabled={ pending || possibleConfirm.length === 0 }
/>
);
@@ -225,13 +236,21 @@ class WalletConfirmation extends Component {
const revokeButton = (
+ }
disabled={ pending || possibleRevoke.length === 0 }
/>
);
return (
-
+
@@ -263,11 +282,15 @@ class WalletConfirmation extends Component {
const account = this.props.accounts[address];
return (
-
+
{ account.name.toUpperCase() || account.address }
@@ -283,7 +306,10 @@ class WalletConfirmation extends Component {
return (
-
+
- Confirmed by { confirmedBy.length }/{ require.toNumber() } owners
+
@@ -326,27 +359,27 @@ class WalletConfirmation extends Component {
if (value && to && data) {
return (
);
}
return (
{ operation }
diff --git a/js/src/views/Wallet/Details/details.js b/js/src/views/Wallet/Details/details.js
index 0fe7b9257..37e3e9395 100644
--- a/js/src/views/Wallet/Details/details.js
+++ b/js/src/views/Wallet/Details/details.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see .
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { Container, InputAddress } from '~/ui';
@@ -40,7 +41,14 @@ export default class WalletDetails extends Component {
return (
-
+
+ }
+ >
{ this.renderDetails() }
{ this.renderOwners() }
@@ -62,10 +70,10 @@ export default class WalletDetails extends Component {
return (
);
});
@@ -87,9 +95,24 @@ export default class WalletDetails extends Component {
return (
- This wallet requires at least
- { require.toFormat() } owners
- to validate any action (transactions, modifications).
+
+
+
+ )
+ } }
+ />
);
diff --git a/js/src/views/Wallet/Transactions/transactions.js b/js/src/views/Wallet/Transactions/transactions.js
index 35d8c03f1..d81c2633a 100644
--- a/js/src/views/Wallet/Transactions/transactions.js
+++ b/js/src/views/Wallet/Transactions/transactions.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { bytesToHex } from '~/api/util/format';
import { Container } from '~/ui';
@@ -36,7 +37,14 @@ export default class WalletTransactions extends Component {
render () {
return (
-
+
+ }
+ >
{ this.renderTransactions() }
@@ -52,7 +60,12 @@ export default class WalletTransactions extends Component {
if (transactions.length === 0) {
return (
-
No transactions has been sent.
+
+
+
);
}
@@ -62,14 +75,17 @@ export default class WalletTransactions extends Component {
return (
);
});
diff --git a/js/src/views/Wallet/wallet.js b/js/src/views/Wallet/wallet.js
index 55e15dbc9..77f938a78 100644
--- a/js/src/views/Wallet/wallet.js
+++ b/js/src/views/Wallet/wallet.js
@@ -15,18 +15,15 @@
// along with Parity. If not, see
.
import React, { Component, PropTypes } from 'react';
+import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import moment from 'moment';
-import ContentCreate from 'material-ui/svg-icons/content/create';
-import ActionDelete from 'material-ui/svg-icons/action/delete';
-import ContentSend from 'material-ui/svg-icons/content/send';
-import SettingsIcon from 'material-ui/svg-icons/action/settings';
-
-import { nullableProptype } from '~/util/proptypes';
import { EditMeta, Transfer, WalletSettings } from '~/modals';
import { Actionbar, Button, Page, Loading } from '~/ui';
+import { DeleteIcon, EditIcon, SendIcon, SettingsIcon } from '~/ui/Icons';
+import { nullableProptype } from '~/util/proptypes';
import Delete from '../Address/Delete';
import Header from '../Account/Header';
@@ -53,7 +50,10 @@ class WalletContainer extends Component {
}
return (
-
+
);
}
}
@@ -166,11 +166,15 @@ class Wallet extends Component {
- { spent }
- has been spent today, out of
- { limit }
- set as the daily limit, which has been reset on
- { date.format('LL') }
+ { date.format('LL') },
+ limit: { limit } ,
+ spent: { spent }
+ } }
+ />
);
@@ -190,19 +194,19 @@ class Wallet extends Component {
return [
,
];
}
@@ -216,10 +220,15 @@ class Wallet extends Component {
if (owned) {
buttons.push(
}
- label='transfer'
disabled={ !showTransferButton }
+ icon={
}
+ key='transferFunds'
+ label={
+
+ }
onClick={ this.onTransferClick }
/>
);
@@ -227,18 +236,28 @@ class Wallet extends Component {
buttons.push(
}
key='delete'
- icon={
}
- label='delete'
+ label={
+
+ }
onClick={ this.showDeleteDialog }
/>
);
buttons.push(
}
key='editmeta'
- icon={
}
- label='edit'
+ label={
+
+ }
onClick={ this.onEditClick }
/>
);
@@ -246,9 +265,14 @@ class Wallet extends Component {
if (owned) {
buttons.push(
}
- label='settings'
+ key='settings'
+ label={
+
+ }
onClick={ this.onSettingsClick }
/>
);
@@ -256,8 +280,13 @@ class Wallet extends Component {
return (
+ }
/>
);
}
diff --git a/js/src/views/WriteContract/writeContract.js b/js/src/views/WriteContract/writeContract.js
index 8fdb55c6f..c4b08e3dd 100644
--- a/js/src/views/WriteContract/writeContract.js
+++ b/js/src/views/WriteContract/writeContract.js
@@ -15,6 +15,7 @@
// along with Parity. If not, see
.
import React, { PropTypes, Component } from 'react';
+import { FormattedMessage } from 'react-intl';
import { observer } from 'mobx-react';
import { MenuItem, Toggle } from 'material-ui';
import { connect } from 'react-redux';
@@ -22,13 +23,8 @@ import CircularProgress from 'material-ui/CircularProgress';
import moment from 'moment';
import { throttle } from 'lodash';
-import ContentClear from 'material-ui/svg-icons/content/clear';
-import SaveIcon from 'material-ui/svg-icons/content/save';
-import ListIcon from 'material-ui/svg-icons/action/view-list';
-import SettingsIcon from 'material-ui/svg-icons/action/settings';
-import SendIcon from 'material-ui/svg-icons/content/send';
-
import { Actionbar, ActionbarExport, ActionbarImport, Button, Page, Select, Input } from '~/ui';
+import { CancelIcon, ListIcon, SaveIcon, SendIcon, SettingsIcon } from '~/ui/Icons';
import Editor from '~/ui/Editor';
import { DeployContract, SaveContract, LoadContract } from '~/modals';
@@ -97,7 +93,6 @@ class WriteContract extends Component {
{ this.renderDeployModal() }
{ this.renderSaveModal() }
{ this.renderLoadModal() }
-
{ this.renderActionBar() }
-
Parameters
+
+
+
{ this.renderParameters() }
@@ -146,7 +146,12 @@ class WriteContract extends Component {
const { selectedContract } = this.store;
if (!selectedContract || !selectedContract.name) {
- return 'New Solidity Contract';
+ return (
+
+ );
}
return (
@@ -154,9 +159,23 @@ class WriteContract extends Component {
{ selectedContract.name }
+ }
>
- (saved { moment(selectedContract.timestamp).fromNow() })
+
);
@@ -176,20 +195,35 @@ class WriteContract extends Component {
const buttons = [
}
- label='New'
+ icon={ }
+ label={
+
+ }
key='newContract'
onClick={ this.store.handleNewContract }
/>,
}
- label='Load'
+ label={
+
+ }
key='loadContract'
onClick={ this.store.handleOpenLoadModal }
/>,
}
- label='Save'
+ label={
+
+ }
key='saveContract'
onClick={ this.store.handleSaveContract }
/>,
@@ -200,7 +234,12 @@ class WriteContract extends Component {
/>,
+ }
onConfirm={ this.store.handleImport }
renderValidation={ this.renderImportValidation }
/>
@@ -208,7 +247,12 @@ class WriteContract extends Component {
return (
+ }
buttons={ buttons }
/>
);
@@ -231,8 +275,15 @@ class WriteContract extends Component {
return (
-
Unfortuantely, an error occurred...
-
{ workerError.toString() }
+
+
+
+
+ { workerError.toString() }
+
);
@@ -245,7 +296,12 @@ class WriteContract extends Component {
size={ 80 }
thickness={ 5 }
/>
- Loading...
+
+
+
);
}
@@ -260,7 +316,15 @@ class WriteContract extends Component {
size={ 80 }
thickness={ 5 }
/>
- Loading Solidity { longVersion }
+
+
+
);
@@ -271,7 +335,12 @@ class WriteContract extends Component {
}
- label='Compile'
+ label={
+
+ }
onClick={ this.store.handleCompile }
primary={ false }
disabled={ compiling }
@@ -281,7 +350,12 @@ class WriteContract extends Component {
? (
}
- label='Deploy'
+ label={
+
+ }
onClick={ this.store.handleOpenDeployModal }
primary={ false }
/>
@@ -292,7 +366,12 @@ class WriteContract extends Component {
+ }
labelPosition='right'
onToggle={ this.store.handleOptimizeToggle }
toggled={ this.store.optimize }
@@ -300,7 +379,12 @@ class WriteContract extends Component {
+ }
labelPosition='right'
onToggle={ this.store.handleAutocompileToggle }
toggled={ this.store.autocompile }
@@ -324,7 +408,11 @@ class WriteContract extends Component {
>
{
build.release
- ? (
{ build.version } )
+ ? (
+
+ { build.version }
+
+ )
: build.longVersion
}
@@ -333,7 +421,12 @@ class WriteContract extends Component {
return (
+ }
value={ selectedBuild }
onChange={ this.store.handleSelectBuild }
>
@@ -406,7 +499,12 @@ class WriteContract extends Component {
size={ 80 }
thickness={ 5 }
/>
-
Compiling...
+
+
+
);
}
@@ -414,7 +512,12 @@ class WriteContract extends Component {
if (!compiled) {
return (
-
Please compile the source code.
+
+
+
);
}
@@ -428,7 +531,12 @@ class WriteContract extends Component {
if (contractKeys.length === 0) {
return (
-
No contract has been found.
+
+
+
);
}
@@ -446,15 +554,24 @@ class WriteContract extends Component {
return (
+ }
value={ contractIndex }
onChange={ this.store.handleSelectContract }
>
{ contractsList }
{ this.renderContract(contract) }
-
-
Compiler messages
+
+
+
{ this.renderErrors() }
);
@@ -468,7 +585,12 @@ class WriteContract extends Component {
? (
+ }
readOnly
value={ contract.metadata }
/>
@@ -479,14 +601,24 @@ class WriteContract extends Component {
+ }
readOnly
value={ abi }
/>
+ }
readOnly
value={ `0x${bytecode}` }
/>
@@ -516,7 +648,12 @@ class WriteContract extends Component {
return (
+ }
readOnly
value={ `${hash}` }
/>
diff --git a/js/src/views/WriteContract/writeContractStore.js b/js/src/views/WriteContract/writeContractStore.js
index bcea1c403..8774f6ce0 100644
--- a/js/src/views/WriteContract/writeContractStore.js
+++ b/js/src/views/WriteContract/writeContractStore.js
@@ -14,35 +14,62 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see .
-import { action, observable, transaction } from 'mobx';
-import store from 'store';
import { debounce } from 'lodash';
+import { action, observable, transaction } from 'mobx';
+import React from 'react';
+import { FormattedMessage } from 'react-intl';
+import store from 'store';
import { sha3 } from '~/api/util/sha3';
import SolidityUtils from '~/util/solidity';
+const SOLIDITY_LIST_URL = 'https://raw.githubusercontent.com/ethereum/solc-bin/gh-pages/bin/list.json';
const WRITE_CONTRACT_STORE_KEY = '_parity::writeContractStore';
const SNIPPETS = {
snippet0: {
name: 'Token.sol',
- description: 'Standard ERP20 Token Contract',
- id: 'snippet0', sourcecode: require('raw-loader!../../contracts/snippets/token.sol')
+ description: (
+
+ ),
+ id: 'snippet0',
+ sourcecode: require('raw-loader!../../contracts/snippets/token.sol')
},
snippet1: {
name: 'StandardToken.sol',
- description: 'Implementation of ERP20 Token Contract',
- id: 'snippet1', sourcecode: require('raw-loader!../../contracts/snippets/standard-token.sol')
+ description: (
+
+ ),
+ id: 'snippet1',
+ sourcecode: require('raw-loader!../../contracts/snippets/standard-token.sol')
},
snippet2: {
name: 'HumanStandardToken.sol',
- description: 'Implementation of the Human Token Contract',
- id: 'snippet2', sourcecode: require('raw-loader!../../contracts/snippets/human-standard-token.sol')
+ description: (
+
+ ),
+ id: 'snippet2',
+ sourcecode: require('raw-loader!../../contracts/snippets/human-standard-token.sol')
},
snippet3: {
name: 'Wallet.sol',
- description: 'Implementation of a multisig Wallet',
- id: 'snippet3', sourcecode: require('raw-loader!../../contracts/snippets/wallet.sol')
+ description: (
+
+ ),
+ id: 'snippet3',
+ sourcecode: require('raw-loader!../../contracts/snippets/wallet.sol')
}
};
@@ -118,8 +145,8 @@ export default class WriteContractStore {
}
fetchSolidityVersions () {
- return fetch('https://raw.githubusercontent.com/ethereum/solc-bin/gh-pages/bin/list.json')
- .then((r) => r.json())
+ return fetch(SOLIDITY_LIST_URL)
+ .then((response) => response.json())
.then((data) => {
const { builds, releases, latestRelease } = data;
let latestIndex = -1;